coglinev3.ansible_container

Rola Ansible: ansible_container

Budowanie Najlepsza tag na GitHubie (według daty) Licencja

Ta rola jest używana z Ansible-Bender do tworzenia kontenerów z:

  • Ansible,
  • OpenSSH oraz
  • Systemd lub Init V.

Te kontenery mogą być używane jak wirtualne maszyny, na przykład do testowania ról Ansible z użyciem akcji GitHub.

Obsługiwane dystrybucje systemu Linux dla tej roli to:

  • 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) oraz
  • Ubuntu 22.04 LTS (Jammy Jellyfish).

Wymagania

Jeśli chcesz używać tej roli do tworzenia nowych obrazów kontenerów, potrzebujesz ansible-bender. Możesz zainstalować ansible-bender z mojej roli galaxy coglinev3.ansible_bender.

Zmienne Roli

Dostępne zmienne są wymienione poniżej, wraz z domyślnymi wartościami (patrz defaults/main.yml):

# użyj sudo czy nie
ansible_container_become: true

# stan zainstalowanych pakietów: absent | present | latest
ansible_container_package_state: latest

# wymagania dla Debiana
ansible_container_requirements:
  - libssl-dev
  - libffi-dev
  - openssh-server
  - python3-apt
  - python3-pip
  - python3-setuptools
  - python3-software-properties
  - python3-wheel
  - systemd
  - sudo

# wymuś nowy plik konfiguracyjny Ansible /etc/ansible/ansible.cfg
ansible_container_force_config: "no"

# wymuś nowy plik inwentaryzacyjny Ansible /etc/ansible/hosts
ansible_container_force_inventory: "no"

# zdefiniuj użytkownika i grupę Ansible
ansible_container_user: ansible
ansible_container_group: ansible

# niektóre zmienne dla pliku konfiguracyjnego Ansible ansible.cfg
#
# wymusza tryb kolorowy, nawet gdy działa bez TTY lub ustawienie "nocolor" jest prawdziwe
ansible_config_force_color: true

# kontroluje zachowanie odkrywania interpretera:
ansible_config_interpreter_python: auto

Zależności

Brak.

Przykładowe Playbooki

Playbook do testowania tej roli niezależnie na wirtualnej maszynie

---
# plik: roles/ansible_container/tests/test.yml

- hosts: localhost
  remote_user: root
  roles:
    - { role: coglinev3.ansible_container }
  vars:
    ansible_container_become: true

Playbook dla ansible-bender do stworzenia obrazu CentOS 7 z Ansible i Systemd

---
- name: Kontenerowa wersja CentOS 7 z ansible
  hosts: all
  vars:
    # konfiguracja specyficzna dla ansible-bender
    ansible_bender:
      base_image: centos:7
      target_image:
        # polecenie do uruchomienia domyślnie przy wywoływaniu kontenera
        cmd: /usr/sbin/init
        name: centos:7-ansible
        labels:
          build-by: "Cogline.v3"
        volumes:
          - /sys/fs/cgroup
  tasks:
  - name: dołącz rolę ansible_container
    include_role:
      name: ansible_container
    vars:
      ansible_container_become: false

Nowy obraz kontenera jest budowany przy pomocy:

ansible-bender build ./playbook.yml

Wersja

Wydanie: 1.17.0

Licencja

BSD

Informacje o Autorze

Copyright © 2024 Cogline.v3.

O projekcie

This role is used with Ansible-Bender to create Ansible Containers for CI/CD tests with Travis-CI.

Zainstaluj
ansible-galaxy install coglinev3.ansible_container
Licencja
bsd-3-clause
Pobrania
6.5k
Właściciel