HanXHX.debian_bootstrap

Ansible Bootstrap dla Debian/Devuan/Ubuntu/Raspbian

Ansible Galaxy Stan całego cyklu pracy GitHub

Ta rola uruchamia systemy Debian/Devuan/Ubuntu/Raspbian:

  • Konfiguruje APT (sources.list)
  • Instaluje minimalne pakiety (vim, htop...)
  • Instaluje mikroprogramy Intel/AMD w razie potrzeby
  • Instaluje i konfiguruje demon NTP (OpenNTPd lub NTP)
  • Dodaje grupy, użytkowników z kluczem SSH, sudoers
  • Rozprowadza bashrc, vimrc dla roota
  • Aktualizuje kilka alternatyw
  • Konfiguruje system: nazwę hosta, strefę czasową i lokalizację
  • Usuwa, kasuje i unika systemd, jeśli jest to pożądane
  • Optymalizacja sysctl

Obsługiwane wersje

OS Działająca Stabilna (aktywne wsparcie)
Debian Stretch (9) Tak Nie
Debian Buster (10) Tak Tak
Debian Bullseye (11) Tak Tak
Debian Bookworm (12) Tak Tak
Devuan Ascii (2) Tak Nie
Raspbian Stretch (9) Eksperymentalna Nie
Raspbian Buster (10) Eksperymentalna Nie
Raspbian Bullseye (11) Eksperymentalna Nie
Ubuntu Bionic (18.04) Tak Nie
Ubuntu Focal (20.04) Eksperymentalna Nie
Ubuntu Jammy (22.04) Eksperymentalna Nie

Wymagania

Zmienne roli

Konfiguracja APT

Te zmienne definiują nazwę hosta do konfiguracji APT (normalne repozytoria i backporty):

  • dbs_apt_default_host: host repozytorium. Może zastąpić ten ostatni (zainstalowany z tą rolą) nowym
  • dbs_apt_use_src: instalacja repozytoriów "deb-src" (domyślnie: fałsz)
  • dbs_apt_components: komponenty używane w sources.list (domyślnie: "main contrib non-free non-free-firmware")

Konfiguracja roli

  • dbs_set_hostname: jeśli prawda, zmień nazwę hosta
  • dbs_clean_hosts: jeśli prawda, zarządza plikiem /etc/hosts
  • dbs_set_locale: jeśli prawda, skonfiguruj lokalizacje
  • dbs_set_timezone: jeśli prawda, ustaw strefę czasową
  • dbs_set_ntp: jeśli prawda, zainstaluj i skonfiguruj OpenNTPd
  • dbs_set_apt: jeśli prawda, skonfiguruj repozytoria APT

Konfiguracja systemu

  • dbs_hostname: nazwa hosta systemu
  • dbs_hostname_use_strategy: strategia używana do ustawiania nazwy hosta, sprawdź "use" w module hostname. Powinieneś zaktualizować tę zmienną tylko jeśli nazwa hosta zawiedzie (w LXC na przykład).
  • dbs_default_locale: domyślna lokalizacja systemu
  • dbs_locales: lista zainstalowanych lokalizacji
  • dbs_timezone: strefa czasowa systemu. Jeśli potrzebujesz "standardowej" strefy czasowej jak UTC, musisz użyć prefiksu "Etc/" (np. "Etc/UTC")
  • dbs_sysctl_config: zbiór parametrów jądra, patrz: default/main.yml
  • dbs_use_systemd: usuń systemd, jeśli ustawione na fałsz (trwałe)
  • dbs_use_dotfiles: nadpisz pliki dotowe roota (bashrc, screenrc, vimrc)
  • dbs_uninstall_packages: lista pakietów do odinstalowania

Alternatywy

  • dbs_alternative_editor
  • dbs_alternative_awk

NTPd

  • dbs_ntp_hosts: lista nazw hostów serwera NTP
  • dbs_ntp_pkg: pakiet używany do zapewnienia NTP: "openntpd" lub "ntp"

Grupa

  • dbs_groups: lista grup

Każdy wiersz ma kilka kluczy:

  • name: (M) nazwa użytkownika w systemie
  • system: (O) tak/nie (domyślnie: nie)
  • state: (O) obecny/nieobecny (domyślnie: obecny)

(M) Obowiązkowe (O) Opcjonalne

Użytkownik

  • dbs_users: lista użytkowników

Każdy wiersz ma kilka kluczy:

  • name: (M) nazwa użytkownika w systemie
  • password: (O) hasło w formacie hasza (patrz dokumentacja ansible)
  • clear_password: (O) hasło w formacie jawnym (niezalecane)
  • update_password: (O) zawsze / przy_tworzeniu
  • shell: (O) domyślnie to /bin/bash
  • comment: (O) domyślnie jest pustym ciągiem
  • sudo: (O) boolean (prawda = może sudo)
  • group: (O) główna grupa (domyślnie to name bez hasła)
  • groups: (O) lista grup oddzielonych przecinkami
  • createhome: (O) tak/nie
  • system: (O) tak/nie (domyślnie: nie)
  • ssh_keys: (O) lista publicznych kluczy ssh
  • state: (O) obecny/nieobecny (domyślnie: obecny)

(M) Obowiązkowe (O) Opcjonalne

Uwagi:

  • jeśli password jest określone, clear_password nie jest używane!
  • clear_password nie jest idempotentne przy update_password = zawsze (domyślnie)

Aby uzyskać więcej informacji, zobacz dokumentację modułu użytkownika ansible.

Zmienne tylko do odczytu

  • dbs_packages: lista pakietów do zainstalowania
  • dbs_microcode_apt_distribution: lokalizacja pakietu do instalacji mikroprogramu
  • dbs_distro_packages: lista specyficznych pakietów do zainstalowania (związanych z wersją OS)
  • dbs_is_docker: boolean. Jest prawdą, jeśli obecny system to kontener dockerowy

Zależności

Brak.

Przykład Playbook

- hosts: servers
  roles:
     - { role: HanXHX.debian_bootstrap }

Informacje o Dockerze

Z powodu ograniczeń Docker, te funkcje są wyłączone:

  • Usuwanie systemd
  • Ustawianie nazwy hosta
  • Konfiguracja sysctl

Jak rozwijać i testować tę rolę

Sposób Vagrant

Zainstaluj vagrant + virtualbox lub docker

vagrant up debian-bullseye # z virtualbox
vagrant up docker-debian-bullseye # z docker

Sposób Molecule

Zainstaluj:

pip install molecule molecule[docker]

Uruchom:

molecule -vv -c molecule/_shared/base.yml converge -s ubuntu-22.04

Licencja

GPLv2

Darowizna

Jeśli ten kod Ci pomógł lub używałeś go dla swoich projektów, możesz postawić mi piwo :beers:

  • Bitcoin: 1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
  • Ethereum: 0x63abe6b2648fd892816d87a31e3d9d4365a737b5
  • Litecoin: LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
  • Monero: 45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ

Nie masz kryptowaluty? :star: projekt to także sposób na podziękowanie! :sunglasses:

Informacje o autorze

O projekcie

Normalize and prepare a Debian/Devuan/Ubuntu Linux server

Zainstaluj
ansible-galaxy install HanXHX.debian_bootstrap
Licencja
gpl-2.0
Pobrania
6.5k
Właściciel
CEO/CTO/SRE triplestack.fr / daemonit.com