This commit is contained in:
Сергей Антропов
2025-03-05 17:38:11 +03:00
parent 93333c3598
commit 78359193fe
12 changed files with 81 additions and 17 deletions

View File

@@ -0,0 +1,13 @@
# Molecule managed
{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
{% if item.dockerfile is defined %}
{% for line in item.dockerfile %}
{{ line }}
{% endfor %}
{% endif %}

View File

@@ -0,0 +1,8 @@
Installation
============
To install Molecule, run the following command:
.. code-block:: bash
pip install molecule docker

View File

@@ -0,0 +1,5 @@
---
- name: Converge
hosts: all
roles:
- role: my_new_role

View File

@@ -0,0 +1,11 @@
---
- name: Create
hosts: localhost
connection: local
tasks:
- name: Create molecule instance(s)
molecule_docker:
platform: "{{ item }}"
with_items: "{{ molecule_yml.platforms }}"
loop_control:
label: "{{ item.name }}"

View File

@@ -0,0 +1,12 @@
---
- name: Destroy
hosts: localhost
connection: local
tasks:
- name: Destroy molecule instance(s)
molecule_docker:
platform: "{{ item }}"
state: absent
with_items: "{{ molecule_yml.platforms }}"
loop_control:
label: "{{ item.name }}"

View File

@@ -0,0 +1,2 @@
[all]
instance ansible_connection=docker

View File

@@ -4,23 +4,14 @@ dependency:
driver:
name: docker
platforms:
- name: web1
- name: instance
image: geerlingguy/docker-ubuntu2004-ansible:latest
pre_build_image: true
groups:
- webservers
- name: db1
image: geerlingguy/docker-ubuntu2004-ansible:latest
pre_build_image: true
groups:
- dbservers
provisioner:
name: ansible
inventory:
group_vars:
webservers:
ansible_user: root
dbservers:
ansible_user: root
host_vars:
instance:
ansible_connection: docker
verifier:
name: ansible

View File

@@ -0,0 +1,4 @@
---
- name: Prepare
hosts: all
tasks: []

View File

@@ -0,0 +1,13 @@
import os
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
def test_hosts_file(host):
f = host.file('/etc/hosts')
assert f.exists
assert f.user == 'root'
assert f.group == 'root'

View File

@@ -0,0 +1,4 @@
---
- name: Verify
hosts: all
tasks: []