Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 44a6773

Browse files
committedJul 16, 2024··
DO NOT MERGE
I'm doing some crazy stuff here.
1 parent 5afa1f5 commit 44a6773

19 files changed

+48
-89
lines changed
 

‎.github/workflows/CI.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,11 @@ jobs:
3434
with:
3535
python-version: '3.11'
3636
- name: Install requirements
37-
run: sudo apt-get install docker python3-pip
37+
run: sudo apt-get install ansible podman python3-pip
38+
- name: Install ansible collections
39+
run: ansible-galaxy collection install community.general
3840
- name: Install molecule
39-
# https://www.jeffgeerling.com/blog/2024/newer-versions-ansible-dont-work-rhel-8[]
40-
run: "pip3 install 'ansible-core<2.17' molecule molecule-plugins[docker] pytest testinfra"
41+
run: "pip3 install molecule molecule-plugins[podman]"
4142
- name: Run Molecule
4243
run: molecule test
4344
env:

‎files/www/index.html

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!doctype html>
2+
<html>
3+
<head>
4+
<title>nginx</title>
5+
</head>
6+
<body>
7+
<h1>Default page for nginx</h1>
8+
<p>Congratulations! Your nginx role has been successfully installed on this server</p>
9+
</body>
10+
</html>

‎meta/main.yml

-3
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ galaxy_info:
1616
versions:
1717
- 15.5
1818
- 15.6
19-
- name: debian
20-
versions:
21-
- bullseye
2219

2320
galaxy_tags:
2421
- nginx
File renamed without changes.
File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM registry.opensuse.org/opensuse/leap:15.5
22

33
# Install systemd and development tools, clear cache
4-
RUN zypper in -y systemd systemd-sysvinit firewalld python3 python3-firewall curl && rm -rf /var/cache/*
4+
RUN zypper in -y systemd systemd-sysvinit python311 curl && rm -rf /var/cache/*
55

66
# Start container with systemd
77
ENTRYPOINT ["/usr/sbin/init"]
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM registry.opensuse.org/opensuse/leap:15.6
22

33
# Install systemd and development tools, clear cache
4-
RUN zypper in -y systemd systemd-sysvinit firewalld python3 python3-firewall curl && rm -rf /var/cache/*
4+
RUN zypper in -y systemd systemd-sysvinit firewalld python311 curl && rm -rf /var/cache/*
55

66
# Start container with systemd
77
ENTRYPOINT ["/usr/sbin/init"]

‎molecule/default/molecule.yml

+11-31
Original file line numberDiff line numberDiff line change
@@ -2,56 +2,36 @@
22
dependency:
33
name: galaxy
44
driver:
5-
name: docker
5+
name: podman
66
platforms:
77
- name: leap15_5
88
image: registry.opensuse.org/opensuse/leap:15.5
9-
dockerfile: Dockerfile.leap15_5
9+
dockerfile: Containerfile.leap15_5
1010
command: ${MOLECULE_DOCKER_COMMAND:-"/usr/sbin/init"}
11-
privileged: true
12-
cgroupns: host
11+
systemd: true
1312
tmpfs:
14-
- /run
15-
- /tmp
13+
"/tmp": "exec"
14+
"/run": "rw,noexec,nosuid,nodev"
1615
- name: leap15_6
1716
image: registry.opensuse.org/opensuse/leap:15.6
18-
dockerfile: Dockerfile.leap15_6
17+
dockerfile: Containerfile.leap15_6
1918
command: ${MOLECULE_DOCKER_COMMAND:-"/usr/sbin/init"}
20-
privileged: true
21-
cgroupns: host
19+
systemd: true
2220
tmpfs:
23-
- /run
24-
- /tmp
25-
- name: bullseye
26-
image: docker.io/debian:bullseye
27-
dockerfile: Dockerfile.bullseye
28-
command: ${MOLECULE_DOCKER_COMMAND:-"/sbin/init"}
29-
privileged: true
30-
cgroupns: host
31-
tmpfs:
32-
- /run
33-
- /tmp
34-
- name: bookworm
35-
image: docker.io/debian:bookworm
36-
dockerfile: Dockerfile.bookworm
37-
command: ${MOLECULE_DOCKER_COMMAND:-"/sbin/init"}
38-
privileged: true
39-
cgroupns: host
40-
tmpfs:
41-
- /run
42-
- /tmp
21+
"/tmp": "exec"
22+
"/run": "rw,noexec,nosuid,nodev"
4323
provisioner:
4424
name: ansible
4525
inventory:
4626
host_vars:
4727
leap15_5:
4828
vhosts_dir: "/etc/nginx/vhosts.d"
4929
deploy_nginx_config: true
50-
ansible_python_interpreter: "/usr/bin/python3"
30+
ansible_python_interpreter: "/usr/bin/python3.11"
5131
leap15_6:
5232
vhosts_dir: "/etc/nginx/vhosts.d"
5333
deploy_nginx_config: true
54-
ansible_python_interpreter: "/usr/bin/python3"
34+
ansible_python_interpreter: "/usr/bin/python3.11"
5535
bullseye:
5636
vhosts_dir: "/etc/nginx/sites-enabled"
5737
deploy_nginx_config: false

‎molecule/default/tests/test_default.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
99

10-
def test_phpinfo(host):
10+
def test_index(host):
1111
cmd = host.run("curl -v http://127.0.0.1/index.html")
1212
print(cmd.stdout)
1313
assert 'HTTP/1.1 200 OK' in cmd.stderr

‎tasks/default-page.yml

+10-16
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
11
---
2-
# setup a default page
2+
# setup default page
33

4-
- name: Ensure default page directory exists
5-
file:
6-
path: /srv/www/default
4+
- name: Ensure default template exists
5+
copy:
6+
src: www/
7+
dest: "{{www_dir}}/default/"
78
owner: "{{nginx_user}}"
89
group: "{{nginx_group}}"
9-
mode: 0755
10-
state: directory
11-
tags: ['nginx']
12-
- name: Ensure default page exists
13-
template:
14-
src: index.j2
15-
dest: "{{www_dir}}/default/index.html"
16-
owner: "{{nginx_user}}"
17-
group: "{{nginx_group}}"
18-
mode: 0755
10+
mode: 0644
11+
directory_mode: 0755
1912
force: false
2013
tags: ['nginx']
14+
2115
- name: Ensure default page nginx template exists
2216
template:
23-
src: default-www.j2
24-
dest: "{{vhosts_dir}}/default-www.conf"
17+
src: default.j2
18+
dest: "{{vhosts_dir}}/default.conf"
2519
owner: root
2620
group: root
2721
mode: 0644

‎tasks/main.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33

44
# Distribution specific vars are ALWAYS needed, so don't forget the tags here
55
- name: include distribution specific vars
6-
include_vars: "{{ansible_distribution}}_{{ansible_distribution_version}}.yml"
6+
include_vars: "{{ansible_distribution}}.yml"
77
tags: ['nginx', 'firewall', 'systemd']
88

99
- include_tasks: software.yml
10+
tags: ['nginx', 'firewall', 'systemd']
1011
- include_tasks: firewall.yml
1112
when: config_firewall == true
13+
tags: ['firewall']
1214
- include_tasks: default-page.yml
1315
when: setup_default_page == true
16+
tags: ['nginx']

‎tasks/software.yml

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
name: "{{ packages }}"
77
state: present
88
tags: ['nginx']
9+
910
- name: Ensure nginx service is enabled
1011
systemd:
1112
name: "{{ nginx_service }}"

‎templates/default-www.j2 ‎templates/default.j2

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ server {
55
listen [::]:80;
66

77
root /srv/www/default;
8-
index index.php index.html index.htm;
8+
index index.html index.htm;
99

1010
server_name {{default_page_hostname}};
1111

‎templates/index.j2

-13
This file was deleted.

‎vars/Debian_11.yml ‎vars/Debian.yml

File renamed without changes.

‎vars/Debian_11.10.yml

-1
This file was deleted.

‎vars/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
# vars file for lemp
2+
# vars file for nginx

‎vars/openSUSE Leap_15.6.yml ‎vars/openSUSE Leap.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
2-
# openSUSE Leap 15.6 specific variables
2+
# openSUSE Leap specific variables
33

44
## Software packages
55

6-
packages: ['nginx']
6+
packages:
7+
- nginx
78
nginx_service: "nginx"
89

910
## OS-Specific directories

‎vars/openSUSE Leap_15.5.yml

-14
This file was deleted.

0 commit comments

Comments
 (0)