yaazkal.bastille

ansible-role-bastille

Un rôle Ansible qui aide à configurer un serveur en tant qu'hôte BastilleBSD pour exécuter des conteneurs (basés sur des jails) dans FreeBSD.

Il s'agit d'un rôle Ansible en cours de développement. Pour l'instant, il suppose une interface locale pour le réseau. Utilisez-le à vos propres risques.

Installation de ce rôle

Il vous suffit d'exécuter ansible-galaxy install yaazkal.bastille sur votre machine. Ensuite, intégrez le rôle dans votre propre playbook (voir l'exemple ci-dessous).

Exigences

  • Une version prise en charge actuelle de FreeBSD. Voir versions prises en charge
  • Python installé sur l'hôte cible.
  • ca_root_nss recommandé spécialement sur FreeBSD 11.4 (EOL) pour ne pas échouer lors de l'installation d'une version personnalisée de Bastille à partir d'une balise GitHub.

Variables du rôle

Voici les variables du rôle et leurs valeurs par défaut, modifiez-les dans vos host_vars ou la définition de votre hôte comme vous le souhaitez (voir exemple).

Variable Valeur par défaut Description
bastille_version Si défini, installe la version (balise) donnée à partir du dépôt Bastille au lieu de la version pkg disponible.
bastille_prefix /usr/local/bastille Emplacement des jails, versions, modèles, backups, etc.
bastille_zfs_enable Mettez à OUI pour activer certaines fonctionnalités ZFS (recommandé).
bastille_zfs_zpool Le pool ZFS où Bastille hébergera ses fichiers et jails.
bastille_timezone Etc/UTC
bastille_ext_if vtnet0 Interface réseau externe.
bastille_releases 13.2-RELEASE Liste des versions disponibles pour la création des jails.
bastille_templates Liste de dépôts Git où les modèles sont hébergés. Ces modèles seront disponibles pour les jails.
bastille_jails Liste des jails à créer. Voir exemple pour les options.

Dépendances

Aucune.

Exemple de playbook

Un playbook peut ressembler à ceci :

# Nom du fichier : bastille_provision.yml
- name: "Configuration initiale du système"
  hosts: bastille
  roles:
    - yaazkal.bastille

Un fichier d'inventaire peut ressembler à ceci (cet exemple remplace toutes les variables par défaut) :

# Nom du fichier : hosts.yml
bastille:
  hosts:
    example.com:
      ansible_user: root
      bastille_version: "0.9.20210714"
      bastille_timezone: "America/Bogota"
      bastille_zfs_enable: "YES"
      bastille_zfs_zpool: "zroot"
      bastille_ext_if: "vtnet0"
      bastille_releases:
        - 13.2-RELEASE
        - 12.4-RELEASE
      bastille_templates:
        - https://gitlab.com/bastillebsd-templates/nginx
        - https://github.com/yaazkal/bastille-postgres
      bastille_jails:
        - name: defaultjail
          release: 13.2-RELEASE
          ip: 10.17.89.1
          templates:
            - "bastillebsd-templates/nginx"
        - name: thickjail
          release: 13.2-RELEASE
          ip: 10.17.89.2
          options: -T

Ensuite, vous pouvez exécuter :

ansible-playbook -i hosts.yml bastille_provision.yml

Licence

BSD 3 clauses. Voir le fichier LICENSE.

Informations sur l'auteur

@yaazkal - Juan David Hurtado G.

À propos du projet

Helps configure a server as a BastilleBSD host

Installer
ansible-galaxy install yaazkal.bastille
Licence
bsd-3-clause
Téléchargements
101
Propriétaire
Photographer, engineer or entrepreneur are just words. More than that, I'm not my professions.