coglinev3.ansible_container
Rôle Ansible : ansible_container
Ce rôle est utilisé avec Ansible-Bender pour créer des conteneurs avec :
- Ansible,
- OpenSSH et
- Systemd ou Init V.
Ces conteneurs peuvent être utilisés comme des machines virtuelles, par exemple pour tester des rôles Ansible avec des actions GitHub.
Les distributions Linux prises en charge pour ce rôle sont :
- Alpine Linux 3.12,
- Alpine Linux 3.13,
- Alpine Linux 3.14,
- Alpine Linux 3.15,
- Alpine Linux 3.16,
- Alpine Linux 3.17,
- Alpine Linux 3.18,
- Alpine Linux 3.19,
- Amazon Linux 2023,
- Debian 10 (Buster),
- Debian 11 (Bullseye),
- Debian 12 (Bookworm),
- Enterprise Linux 7,
- Enterprise Linux 8,
- Enterprise Linux 9,
- Fedora 34,
- Fedora 35,
- Fedora 36,
- Fedora 37,
- Fedora 38,
- Fedora 39,
- Ubuntu 18.04 LTS (Bionic Beaver),
- Ubuntu 20.04 LTS (Focal Fossa) et
- Ubuntu 22.04 LTS (Jammy Jellyfish).
Exigences
Si vous souhaitez utiliser ce rôle pour créer de nouvelles images de conteneurs, vous avez besoin de ansible-bender. Vous pouvez installer ansible-bender avec mon rôle galaxy coglinev3.ansible_bender.
Variables du Rôle
Les variables disponibles sont listées ci-dessous, avec des valeurs par défaut (voir defaults/main.yml) :
# utiliser sudo ou non
ansible_container_become: true
# état des paquets installés : absent | présent | dernier
ansible_container_package_state: latest
# exigences pour Debian
ansible_container_requirements:
- libssl-dev
- libffi-dev
- openssh-server
- python3-apt
- python3-pip
- python3-setuptools
- python3-software-properties
- python3-wheel
- systemd
- sudo
# forcer un nouveau fichier de configuration Ansible /etc/ansible/ansible.cfg
ansible_container_force_config: "no"
# forcer un nouveau fichier d'inventaire Ansible /etc/ansible/hosts
ansible_container_force_inventory: "no"
# définir un utilisateur et un groupe Ansible
ansible_container_user: ansible
ansible_container_group: ansible
# certaines variables pour le fichier de configuration Ansible ansible.cfg
#
# force le mode couleur même en cas d'exécution sans TTY ou si le paramètre "nocolor" est vrai
ansible_config_force_color: true
# contrôler le comportement de découverte de l'interpréteur :
ansible_config_interpreter_python: auto
Dépendances
Aucune.
Exemples de Playbooks
Playbook pour tester ce rôle indépendamment sur une machine virtuelle
---
# fichier : roles/ansible_container/tests/test.yml
- hosts: localhost
remote_user: root
roles:
- { role: coglinev3.ansible_container }
vars:
ansible_container_become: true
Playbook pour ansible-bender pour créer une image CentOS 7 avec Ansible et Systemd
---
- name: Version conteneurisée de CentOS 7 avec ansible
hosts: all
vars:
# configuration spécifique à ansible-bender
ansible_bender:
base_image: centos:7
target_image:
# commande à exécuter par défaut lors de l'invocation du conteneur
cmd: /usr/sbin/init
name: centos:7-ansible
labels:
build-by: "Cogline.v3"
volumes:
- /sys/fs/cgroup
tasks:
- name: inclure le rôle ansible_container
include_role:
name: ansible_container
vars:
ansible_container_become: false
La nouvelle image de conteneur est construite avec :
ansible-bender build ./playbook.yml
Version
Version : 1.17.0
Licence
BSD
Informations sur l'Auteur
Droit d'auteur © 2024 Cogline.v3.
À propos du projet
This role is used with Ansible-Bender to create Ansible Containers for CI/CD tests with Travis-CI.
Installer
ansible-galaxy install coglinev3.ansible_container
Licence
bsd-3-clause
Téléchargements
6.5k
Propriétaire