criecm.iocage

iocage

iocage Hostinstallation/konfiguration und Jail-Installation auf FreeBSD
(Dies wird so nicht auf FreeNAS funktionieren, Patches sind willkommen ;)

Verwendet das iocage Ansible-Modul von
https://github.com/fractalcells/ansible-iocage
(im Rollenbibliotheksverzeichnis eingebettet)

Fügt erstellte Hosts im Inventar (add_host) mit einer iocage_host Variablen hinzu,
die mit inventory_hostname des Hosts und einer iojails Gruppe gefüllt ist.

Rollenvariablen

(in defaults/main.yml)

  • iocage_zpool (zroot):
    ZFS-Pool für iocage

  • iocage_fetch_args ({}):
    Argumente, die an iocage fetch übergeben werden
    Beispiel: "-s ftp.local -d pub/FreeBSD/releases"

  • jail_list ([]):
    Liste von Jail-Dictionaries, die auf dem Host erstellt werden sollen, siehe unten

  • myjail (''):
    Wenn definiert, nur dieses Jail von jail_list ausführen (nichts, wenn nicht gefunden)

  • myjails([]):
    Dasselbe wie myjail, aber für mehr als eines :)

  • iocage_components (none) - Liste:
    Wenn definiert, nur diese Komponenten installieren

  • iocage_enable_ssh (True):
    SSH in neuen Jails aktivieren

  • iocage_release (uname -r):
    Die benötigte Version

  • jail_init_role ():
    Rolle, die importiert werden soll, um ein neues Jail zu initialisieren

  • iocage_use_pkg (True):
    Installiert iocage aus Paketen oder aus Git, wenn False

Variablen pro Jail

(in vars/jail.yml)

  • name (kein Standard, verpflichtend): menschliche Kennung, einzigartig auf dem Host

  • hostname (''): generierter UUID, wenn leer

  • ip4 (''): IPv4-Adresse(n), dasselbe Format wie iocage: [ifaceN|]192.0.2.1[/24][,[ifaceN|]192.0.2.1[/24][,…]]

    • Wenn 'iface|' vorangestellt ist, wird die IP beim Booten des Jails der Schnittstelle hinzugefügt
    • Wenn keine Maske angegeben ist, wird die IP als /32 verwendet
  • ip6 (''): IPv6 … dasselbe wie oben. (aber Standardmaske ist /128, nicht /32 ;-P )

  • resolver ('auto'): Inhalt von resolv.conf für das Jail, mit ';' anstelle von Zeilenumbrüchen
    (iocage kopiert den Inhalt des Hosts beim Booten des Jails, wenn leer)

  • properties ({}):
    Dictionary für alle verfügbaren iocage Jail-Eigenschaften

  • authkeys (/root/.ssh/authorized_keys):
    Datei, die als /root/.ssh/authorized_keys im Jail kopiert wird

resolver=auto Logik

resolver wird automatisch entsprechend den Variablen search_domains und resolvers ausgefüllt
(hier haben wir sie in group_vars/all.yml). Dies wählt die Suchdomain(en) und Resolver abhängig von den IP-Adressen des Jails aus.

# Wenn die IP im 'network' ist, wird 'domain' hinzugefügt
search_domains:
  - { network: '192.0.2.0/24', domain: 'our.example.net' }
  - { network: '198.51.100.0/24', domain: 'ryd.example.org' }
  - { network: '2001:0DB8:fe43::/32', domain: 'ipv6.example.org' }
  - { network: '0.0.0.0/0', domain: 'example.com' }

# Wenn die IP im 'network' ist, wird 'ip' zu resolvers hinzugefügt
resolvers:
  - { network: '192.0.2.0/24', ip: 192.0.2.1 }
  - { network: '198.51.100.0/24', ip: 192.0.2.1 }
  - { network: '2001:0DB8:fe43::/56', ip: 2001:0DB8::1 }
  - { network: '0.0.0.0/0', ip: 8.8.8.8 }
  - { network: '::/0', ip: 2620:0:ccc::2 }

Beispiel-Playbooks:

Ein Jail-Host mit zwei Jails:

- hosts: realmachine
  roles:
    - criecm.iocage
  vars:
    jail_list:
      - { name: myfirstjail, hostname: myfirstjail.example.org, ip4_addr: 'bge0|198.51.100.0' }
      - { name: mysecjail, hostname: mysecjail.example.org, ip4_addr: 'bge0|198.51.100.8' }

Ein Playbook-Ausschnitt zur Erstellung/Registrierung des Jails, bevor daran gearbeitet wird

- hosts: realmachine
  roles:
    - criecm.iocage
  vars:
    # hier kann jail_list im inventory/host_vars/realmachine.yml sein
    myjail: myfirstjail

- hosts: myfirstjail
  roles:
    - criecm.apache
  […]

ansible-iocage Modul

Update von der Quelle:

git subtree pull -P roles/criecm.iocage/library/src/iocage https://github.com/criecm/ansible-iocage.git master

Über das Projekt

iocage jail management for FreeBSD

Installieren
ansible-galaxy install criecm.iocage
Lizenz
Unknown
Downloads
187
Besitzer
Direction des Systèmes d'Information