diff --git a/molecule/with_docker_host/verify.yml b/molecule/with_docker_host/verify.yml index a72e7ac..d21f82e 100644 --- a/molecule/with_docker_host/verify.yml +++ b/molecule/with_docker_host/verify.yml @@ -4,17 +4,140 @@ gather_facts: true become: true tasks: - - name: "Test: file /etc/hosts" + - name: "Test: directory /opt/gitea-actions" block: - - name: "Stat file /etc/hosts" + - name: "Stat directory /opt/gitea-actions" ansible.builtin.stat: - path: "/etc/hosts" - register: stat_etc_hosts + path: "/opt/gitea-actions" + register: stat_opt_gitea_actions - - name: "Verify file /etc/hosts" + - name: "Stat directory /opt/gitea-actions/cache" + ansible.builtin.stat: + path: "/opt/gitea-actions" + register: stat_opt_gitea_actions_cache + + - name: "Stat directory /opt/gitea-actions/data" + ansible.builtin.stat: + path: "/opt/gitea-actions" + register: stat_opt_gitea_actions_data + + - name: "Stat file /opt/gitea-actions/config.yaml" + ansible.builtin.stat: + path: "/opt/gitea-actions/config.yaml" + register: stat_opt_gitea_actions_config_yaml + + - name: "Slurp file /opt/gitea-actions/config.yaml" + ansible.builtin.slurp: + src: "/opt/gitea-actions/config.yaml" + register: slurp_opt_gitea_actions_config_yaml + + - name: "Verify directory /opt/gitea-actions" + vars: + expected_act_config_file: | + # Ansible managed: Do NOT edit this file manually! + cache: + dir: /cache + enabled: true + external_server: null + host: 127.0.0.1 + port: 9898 + container: + docker_host: '' + network: '' + options: '' + privileged: false + valid_volumes: [] + workdir_parent: null + host: + workdir_parent: null + log: + level: info + runner: + capacity: 1 + fetch_interval: 2s + fetch_timeout: 5s + file: .runner + insecure: false + labels: + - debian-bullseye:docker://node:16-bullseye + timeout: 3h ansible.builtin.assert: that: - - stat_etc_hosts.stat.exists - - stat_etc_hosts.stat.isreg - - stat_etc_hosts.stat.pw_name == 'root' - - stat_etc_hosts.stat.gr_name == 'root' + - stat_opt_gitea_actions.stat.exists + - stat_opt_gitea_actions.stat.isdir + - stat_opt_gitea_actions.stat.pw_name == 'root' + - stat_opt_gitea_actions.stat.gr_name == 'root' + - stat_opt_gitea_actions.stat.mode == '0755' + - stat_opt_gitea_actions_cache.stat.exists + - stat_opt_gitea_actions_cache.stat.isdir + - stat_opt_gitea_actions_cache.stat.pw_name == 'root' + - stat_opt_gitea_actions_cache.stat.gr_name == 'root' + - stat_opt_gitea_actions_cache.stat.mode == '0755' + - stat_opt_gitea_actions_data.stat.exists + - stat_opt_gitea_actions_data.stat.isdir + - stat_opt_gitea_actions_data.stat.pw_name == 'root' + - stat_opt_gitea_actions_data.stat.gr_name == 'root' + - stat_opt_gitea_actions_data.stat.mode == '0755' + - stat_opt_gitea_actions_config_yaml.stat.exists + - stat_opt_gitea_actions_config_yaml.stat.isreg + - stat_opt_gitea_actions_config_yaml.stat.pw_name == 'root' + - stat_opt_gitea_actions_config_yaml.stat.gr_name == 'root' + - stat_opt_gitea_actions_config_yaml.stat.mode == '0600' + - (slurp_opt_gitea_actions_config_yaml.content|b64decode) == expected_act_config_file + + - name: "Test: service gitea-runner_container" + block: + - name: "Get service gitea-runner_container" + ansible.builtin.service_facts: + + - name: "Stat file /etc/systemd/system/gitea-runner_container.service" + ansible.builtin.stat: + path: "/etc/systemd/system/gitea-runner_container.service" + register: stat_etc_systemd_system_gitea_runner_container_service + + - name: "Slurp file /etc/systemd/system/gitea-runner_container.service" + ansible.builtin.slurp: + src: "/etc/systemd/system/gitea-runner_container.service" + register: slurp_etc_systemd_system_gitea_runner_container_service + + - name: "Verify service gitea-runner" + vars: + gitea_runner_expected_service_file: | + # Ansible managed: Do NOT edit this file manually! + [Unit] + After=docker.service + PartOf=docker.service + Requires=docker.service + + [Service] + EnvironmentFile=/etc/default/gitea-runner + ExecStartPre=-/usr/bin/docker rm -f gitea-runner + ExecStart=/usr/bin/docker run --name gitea-runner \ + --rm \ + --env-file /etc/default/gitea-runner \ + --network "bridge" \ + --volume "/var/run/docker.sock:/var/run/docker.sock" \ + --volume "/opt/gitea-actions/config.yaml:/config.yaml" \ + --volume "/opt/gitea-actions/data:/data" \ + --volume "/opt/gitea-actions/cache:/cache" \ + --publish "9898:9898" \ + gitea/act_runner:latest + ExecStop=/usr/bin/docker stop gitea-runner + SyslogIdentifier=gitea-runner + Restart=always + RestartSec=10s + + [Install] + WantedBy=docker.service + ansible.builtin.assert: + that: + - stat_etc_systemd_system_gitea_runner_container_service.stat.exists + - stat_etc_systemd_system_gitea_runner_container_service.stat.isreg + - stat_etc_systemd_system_gitea_runner_container_service.stat.pw_name == 'root' + - stat_etc_systemd_system_gitea_runner_container_service.stat.gr_name == 'root' + - stat_etc_systemd_system_gitea_runner_container_service.stat.mode == '0644' + - (slurp_etc_systemd_system_gitea_runner_container_service.content|b64decode) == gitea_runner_expected_service_file + - ansible_facts.services['gitea-runner_container.service'] is defined + - ansible_facts.services['gitea-runner_container.service']['source'] == 'systemd' + - ansible_facts.services['gitea-runner_container.service']['state'] == 'stopped' + - ansible_facts.services['gitea-runner_container.service']['status'] == 'enabled' diff --git a/molecule/with_docker_host_vagrant/verify.yml b/molecule/with_docker_host_vagrant/verify.yml index a72e7ac..d21f82e 100644 --- a/molecule/with_docker_host_vagrant/verify.yml +++ b/molecule/with_docker_host_vagrant/verify.yml @@ -4,17 +4,140 @@ gather_facts: true become: true tasks: - - name: "Test: file /etc/hosts" + - name: "Test: directory /opt/gitea-actions" block: - - name: "Stat file /etc/hosts" + - name: "Stat directory /opt/gitea-actions" ansible.builtin.stat: - path: "/etc/hosts" - register: stat_etc_hosts + path: "/opt/gitea-actions" + register: stat_opt_gitea_actions - - name: "Verify file /etc/hosts" + - name: "Stat directory /opt/gitea-actions/cache" + ansible.builtin.stat: + path: "/opt/gitea-actions" + register: stat_opt_gitea_actions_cache + + - name: "Stat directory /opt/gitea-actions/data" + ansible.builtin.stat: + path: "/opt/gitea-actions" + register: stat_opt_gitea_actions_data + + - name: "Stat file /opt/gitea-actions/config.yaml" + ansible.builtin.stat: + path: "/opt/gitea-actions/config.yaml" + register: stat_opt_gitea_actions_config_yaml + + - name: "Slurp file /opt/gitea-actions/config.yaml" + ansible.builtin.slurp: + src: "/opt/gitea-actions/config.yaml" + register: slurp_opt_gitea_actions_config_yaml + + - name: "Verify directory /opt/gitea-actions" + vars: + expected_act_config_file: | + # Ansible managed: Do NOT edit this file manually! + cache: + dir: /cache + enabled: true + external_server: null + host: 127.0.0.1 + port: 9898 + container: + docker_host: '' + network: '' + options: '' + privileged: false + valid_volumes: [] + workdir_parent: null + host: + workdir_parent: null + log: + level: info + runner: + capacity: 1 + fetch_interval: 2s + fetch_timeout: 5s + file: .runner + insecure: false + labels: + - debian-bullseye:docker://node:16-bullseye + timeout: 3h ansible.builtin.assert: that: - - stat_etc_hosts.stat.exists - - stat_etc_hosts.stat.isreg - - stat_etc_hosts.stat.pw_name == 'root' - - stat_etc_hosts.stat.gr_name == 'root' + - stat_opt_gitea_actions.stat.exists + - stat_opt_gitea_actions.stat.isdir + - stat_opt_gitea_actions.stat.pw_name == 'root' + - stat_opt_gitea_actions.stat.gr_name == 'root' + - stat_opt_gitea_actions.stat.mode == '0755' + - stat_opt_gitea_actions_cache.stat.exists + - stat_opt_gitea_actions_cache.stat.isdir + - stat_opt_gitea_actions_cache.stat.pw_name == 'root' + - stat_opt_gitea_actions_cache.stat.gr_name == 'root' + - stat_opt_gitea_actions_cache.stat.mode == '0755' + - stat_opt_gitea_actions_data.stat.exists + - stat_opt_gitea_actions_data.stat.isdir + - stat_opt_gitea_actions_data.stat.pw_name == 'root' + - stat_opt_gitea_actions_data.stat.gr_name == 'root' + - stat_opt_gitea_actions_data.stat.mode == '0755' + - stat_opt_gitea_actions_config_yaml.stat.exists + - stat_opt_gitea_actions_config_yaml.stat.isreg + - stat_opt_gitea_actions_config_yaml.stat.pw_name == 'root' + - stat_opt_gitea_actions_config_yaml.stat.gr_name == 'root' + - stat_opt_gitea_actions_config_yaml.stat.mode == '0600' + - (slurp_opt_gitea_actions_config_yaml.content|b64decode) == expected_act_config_file + + - name: "Test: service gitea-runner_container" + block: + - name: "Get service gitea-runner_container" + ansible.builtin.service_facts: + + - name: "Stat file /etc/systemd/system/gitea-runner_container.service" + ansible.builtin.stat: + path: "/etc/systemd/system/gitea-runner_container.service" + register: stat_etc_systemd_system_gitea_runner_container_service + + - name: "Slurp file /etc/systemd/system/gitea-runner_container.service" + ansible.builtin.slurp: + src: "/etc/systemd/system/gitea-runner_container.service" + register: slurp_etc_systemd_system_gitea_runner_container_service + + - name: "Verify service gitea-runner" + vars: + gitea_runner_expected_service_file: | + # Ansible managed: Do NOT edit this file manually! + [Unit] + After=docker.service + PartOf=docker.service + Requires=docker.service + + [Service] + EnvironmentFile=/etc/default/gitea-runner + ExecStartPre=-/usr/bin/docker rm -f gitea-runner + ExecStart=/usr/bin/docker run --name gitea-runner \ + --rm \ + --env-file /etc/default/gitea-runner \ + --network "bridge" \ + --volume "/var/run/docker.sock:/var/run/docker.sock" \ + --volume "/opt/gitea-actions/config.yaml:/config.yaml" \ + --volume "/opt/gitea-actions/data:/data" \ + --volume "/opt/gitea-actions/cache:/cache" \ + --publish "9898:9898" \ + gitea/act_runner:latest + ExecStop=/usr/bin/docker stop gitea-runner + SyslogIdentifier=gitea-runner + Restart=always + RestartSec=10s + + [Install] + WantedBy=docker.service + ansible.builtin.assert: + that: + - stat_etc_systemd_system_gitea_runner_container_service.stat.exists + - stat_etc_systemd_system_gitea_runner_container_service.stat.isreg + - stat_etc_systemd_system_gitea_runner_container_service.stat.pw_name == 'root' + - stat_etc_systemd_system_gitea_runner_container_service.stat.gr_name == 'root' + - stat_etc_systemd_system_gitea_runner_container_service.stat.mode == '0644' + - (slurp_etc_systemd_system_gitea_runner_container_service.content|b64decode) == gitea_runner_expected_service_file + - ansible_facts.services['gitea-runner_container.service'] is defined + - ansible_facts.services['gitea-runner_container.service']['source'] == 'systemd' + - ansible_facts.services['gitea-runner_container.service']['state'] == 'stopped' + - ansible_facts.services['gitea-runner_container.service']['status'] == 'enabled'