yaazkal.bastille

ansible-role-bastille

Un rol de Ansible que ayuda a configurar un servidor como un host de BastilleBSD para ejecutar contenedores (basados en jails) en FreeBSD.

Este es un rol de Ansible en progreso. En este momento, se asume una interfaz local para la red. Úsalo bajo tu propio riesgo.

Instalar este rol

Simplemente ejecuta ansible-galaxy install yaazkal.bastille en tu máquina. Luego, integra el rol en tu propio playbook (ver el ejemplo a continuación).

Requisitos

  • Una versión actual soportada de FreeBSD. Consulta versiones soportadas
  • Python instalado en el host objetivo.
  • Se recomienda ca_root_nss, especialmente en FreeBSD 11.4 (EOL), para evitar errores al instalar una versión personalizada de Bastille desde un tag de github.

Variables del rol

Estas son las variables del rol y sus valores predeterminados. Establece los valores en tus host_vars o en la definición del host como desees (ver ejemplo).

Variable Valor predeterminado Descripción
bastille_version Si se establece, instala la versión (tag) dada del repo de Bastille en lugar de la versión pkg disponible.
bastille_prefix /usr/local/bastille Donde viven los jails, releases, plantillas, backups, etc.
bastille_zfs_enable Establecer en YES para activar algunas funcionalidades de ZFS (recomendado).
bastille_zfs_zpool El pool ZFS donde Bastille alojará sus archivos y jails.
bastille_timezone Etc/UTC
bastille_ext_if vtnet0 Interfaz de red externa.
bastille_releases 13.2-RELEASE Lista de releases disponibles para la creación de jails.
bastille_templates Lista de repos de git donde se alojan las plantillas. Estas plantillas estarán disponibles para jails.
bastille_jails Lista de jails a crear. Consulta el ejemplo para ver las opciones.

Dependencias

Ninguna.

Ejemplo de Playbook

Un playbook puede lucir así:

# Nombre de archivo: bastille_provision.yml
- name: "Configuración inicial del sistema"
  hosts: bastille
  roles:
    - yaazkal.bastille

Un archivo de inventario puede lucir así (este ejemplo sobrescribe todas las variables predeterminadas):

# Nombre de archivo: 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

Luego puedes ejecutar:

ansible-playbook -i hosts.yml bastille_provision.yml

Licencia

BSD 3 cláusulas. Consulta el archivo LICENSE.

Información del autor

@yaazkal - Juan David Hurtado G.

Acerca del proyecto

Helps configure a server as a BastilleBSD host

Instalar
ansible-galaxy install yaazkal.bastille
Licencia
bsd-3-clause
Descargas
101
Propietario
Photographer, engineer or entrepreneur are just words. More than that, I'm not my professions.