yaazkal.bastille
ansible-role-bastille
Rola Ansible, która pomaga skonfigurować serwer jako host BastilleBSD do uruchamiania kontenerów (baze jail) w FreeBSD.
To jest rola Ansible w trakcie rozwoju. W tej chwili zakłada lokalny interfejs do sieci. Używasz tego na własne ryzyko.
Instalacja tej roli
Wystarczy uruchomić ansible-galaxy install yaazkal.bastille
na swoim komputerze. Następnie zintegrować rolę w swoim własnym playbooku (zobacz przykład poniżej).
Wymagania
- Aktualna wspierana wersja FreeBSD. Zobacz wspierane wersje.
- Zainstalowany Python na docelowym hoście.
ca_root_nss
zalecane szczególnie na FreeBSD 11.4 (EOL), aby uniknąć problemów podczas instalacji niestandardowej wersji Bastille z tagu GitHub.
Zmienne roli
To są zmienne roli i ich domyślne wartości, ustaw je w host_vars
lub definicji hosta według własnych potrzeb (zobacz przykład).
Zmienna | Wartość domyślna | Opis |
---|---|---|
bastille_version | Jeśli ustawiona, instaluje podaną wersję (tag) z repo Bastille zamiast wersji z pakietu. | |
bastille_prefix | /usr/local/bastille | Gdzie znajdują się jails, releases, templates, backpus itd. |
bastille_zfs_enable | Ustaw na TAK, aby włączyć pewne funkcje ZFS (zalecane). | |
bastille_zfs_zpool | Zbiornik ZFS, w którym Bastille będzie przechowywać swoje pliki i jails. | |
bastille_timezone | Etc/UTC | |
bastille_ext_if | vtnet0 | Zewnętrzny interfejs sieciowy. |
bastille_releases | 13.2-RELEASE | Lista wydań dostępnych do tworzenia jaili. |
bastille_templates | Lista repozytoriów Git, w których znajdują się szablony. Te szablony będą dostępne dla jaili. | |
bastille_jails | Lista jaili do utworzenia. Zobacz przykład dla opcji. |
Zależności
Brak.
Przykładowy Playbook
Playbook może wyglądać tak:
# Nazwa pliku: bastille_provision.yml
- name: "Początkowa konfiguracja systemu"
hosts: bastille
roles:
- yaazkal.bastille
Plik inwentarza może wyglądać tak (ten przykład nadpisuje wszystkie domyślne zmienne):
# Nazwa pliku: 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
Następnie możesz uruchomić:
ansible-playbook -i hosts.yml bastille_provision.yml
Licencja
Licencja BSD 3 klauzule. Zobacz plik LICENCJA.
Informacje o autorze
@yaazkal - Juan David Hurtado G.
ansible-galaxy install yaazkal.bastille