This commit is contained in:
17
molecule/default/Dockerfile.j2
Normal file
17
molecule/default/Dockerfile.j2
Normal file
@ -0,0 +1,17 @@
|
||||
# Molecule managed
|
||||
|
||||
{% if item.registry is defined %}
|
||||
FROM {{ item.registry.url }}/{{ item.image }}
|
||||
{% else %}
|
||||
FROM {{ item.image }}
|
||||
{% endif %}
|
||||
|
||||
{% if item.env is defined %}
|
||||
{% for var, value in item.env.items() %}
|
||||
{% if value %}
|
||||
ENV {{ var }} {{ value }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
RUN apt-get update && apt-get install -y python sudo bash ca-certificates iproute2 && apt-get clean;
|
||||
25
molecule/default/converge.yml
Normal file
25
molecule/default/converge.yml
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
- name: Converge
|
||||
hosts: all
|
||||
vars:
|
||||
- new_hetzner_server_name: autonomic.new-hetzner-molecule
|
||||
- add_users_inventory_hostname: autonomic.new-hetzner-molecule
|
||||
- new_hetzner_server_type: cx11
|
||||
- new_hetzner_server_image: debian-10
|
||||
- new_hetzner_delete_protection: false
|
||||
- new_hetzner_rebuild_protection: false
|
||||
tasks:
|
||||
- name: Run the role under test
|
||||
block:
|
||||
- import_role:
|
||||
name: autonomic.new-hetzner
|
||||
always:
|
||||
- name: Flush all handlers
|
||||
meta: flush_handlers
|
||||
ignore_errors: true
|
||||
|
||||
- name: Ensure the server is deleted
|
||||
hcloud_server:
|
||||
name: "{{ new_hetzner_server_name }}"
|
||||
api_token: "{{ lookup('env', 'HCLOUD_TOKEN') }}"
|
||||
state: absent
|
||||
37
molecule/default/molecule.yml
Normal file
37
molecule/default/molecule.yml
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
|
||||
driver:
|
||||
name: docker
|
||||
|
||||
platforms:
|
||||
- name: "autonomic.new-hetzner-${INSTANCE_UUID}"
|
||||
image: debian:buster
|
||||
|
||||
provisioner:
|
||||
name: ansible
|
||||
|
||||
lint: |
|
||||
set -e
|
||||
yamllint -c .yamllint.yml .
|
||||
ansible-lint --exclude .drone.yml -c .ansible-lint.yml .
|
||||
|
||||
scenario:
|
||||
test_sequence:
|
||||
- lint
|
||||
- dependency
|
||||
- cleanup
|
||||
- destroy
|
||||
- syntax
|
||||
- create
|
||||
- prepare
|
||||
- converge
|
||||
# TODO(decentral1se): Disabled for now since there are so many tasks which
|
||||
# simply always report changed and I'd rather not patch this issue which is
|
||||
# really something to do with Ansible and not Molecule.
|
||||
# - idempotence
|
||||
- side_effect
|
||||
- verify
|
||||
- cleanup
|
||||
- destroy
|
||||
16
molecule/default/prepare.yml
Normal file
16
molecule/default/prepare.yml
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
- name: Converge
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Install python-pip
|
||||
package:
|
||||
name:
|
||||
- python-apt
|
||||
- python-pip
|
||||
- openssh-client
|
||||
- pass
|
||||
state: present
|
||||
- name: Install module dependencies
|
||||
pip:
|
||||
name: hcloud
|
||||
state: present
|
||||
36
molecule/default/requirements.yml
Normal file
36
molecule/default/requirements.yml
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
|
||||
roles:
|
||||
- name: autonomic.add-users
|
||||
src: https://git.autonomic.zone/autonomic-cooperative/autonomic.add-users
|
||||
version: 0.1.0
|
||||
scm: git
|
||||
|
||||
- name: autonomic.sshd
|
||||
src: https://git.autonomic.zone/autonomic-cooperative/autonomic.sshd
|
||||
version: 0.1.0
|
||||
scm: git
|
||||
|
||||
- name: autonomic.ufw
|
||||
src: https://git.autonomic.zone/autonomic-cooperative/autonomic.ufw
|
||||
version: 0.1.0
|
||||
scm: git
|
||||
|
||||
- name: autonomic.packages
|
||||
src: https://git.autonomic.zone/autonomic-cooperative/autonomic.packages
|
||||
version: 0.1.0
|
||||
scm: git
|
||||
|
||||
- name: autonomic.name
|
||||
src: https://git.autonomic.zone/autonomic-cooperative/autonomic.name
|
||||
version: 0.1.0
|
||||
scm: git
|
||||
|
||||
- name: autonomic.motd
|
||||
src: https://git.autonomic.zone/autonomic-cooperative/autonomic.motd
|
||||
version: 0.1.0
|
||||
scm: git
|
||||
|
||||
collections:
|
||||
- name: hetzner.hcloud
|
||||
version: 1.6.0
|
||||
Reference in New Issue
Block a user