jokerwrld999.bootstrap

Rola Ansible: Bootstrap

CI

Opis

Ta rola zapewnia podstawowe zadania wstępnej konfiguracji dla Twoich serwerów.

Funkcje

  • Ustawienia systemu

    • Aktualizacja systemu i konfiguracja repozytoriów
  • Konfiguracja użytkowników

    • Konfiguracja użytkownika root
      • Tag: lxc
    • Konfiguracja użytkownika niestandardowego
  • Instalacja oprogramowania

    • Instalacja pakietów deweloperskich
      • Tag: lxc
    • Instalacja poprawek
    • Instalacja Dockera
      • Tag: docker
    • Instalacja narzędzi
  • Wykonywanie poprawek

    • Konfiguracja nazwy hosta
    • Konfiguracja przechowywania dzienników
    • Instalacja mikroprogramu
    • Konfiguracja OpenSSH
    • Instalacja Qemu Guest Agent

Użycie

Wymagania

Ta rola wymaga zainstalowania kilku kolekcji z ansible-galaxy. Oto przykład pliku requirements.yml:

---
collections:
  - name: community.general
  - name: kewlfft.aur

roles:
  - name: jokerwrld999.bootstrap

Instalacja wymagań

ansible-galaxy install -r requirements.yml

Zmienne roli

Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi:

Wstępna konfiguracja

  • set_hostname: Boolean, domyślnie false. Ustaw na true, aby skonfigurować niestandardową nazwę hosta.

  • custom_hostname: String, szablon dla nazwy hosta używający ${{ custom_user }}.

    Przykład: {{ custom_user }}-server

SSH

  • ssh_port: Integer, domyślnie 22. Ustaw żądany port SSH.

Konfiguracja użytkownika

  • setup_user: Boolean, domyślnie false. Ustaw na true, aby utworzyć niestandardowego użytkownika z powłoką ZSH, dostosowaniami p10k i wygenerowanymi kluczami ssh typu ed25519.

  • custom_user: String, domyślnie wartość znaleziona w zmiennej środowiskowej CUSTOM_USER. Wartość zapasowa to "jokerwrld". Nazwa użytkownika dla konta użytkownika niestandardowego.

    Przykład utworzenia zmiennej środowiskowej: export CUSTOM_USER=username.

  • temp_dir: String, domyślnie "tmp". Katalog tymczasowy używany do niektórych zadań.

Hasło użytkownika (Opcjonalne - Uwagi dotyczące bezpieczeństwa)

Szyfrowanie hasła

python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Potwierdź: ")) else exit())'
  • root_passwd: String, domyślnie pusty. Ustaw swoje hasło dla roota.

  • custom_user_passwd: String, domyślnie pusty. Ustaw hasło dla użytkownika niestandardowego.

Rozważ użycie Ansible Vault lub innych bezpiecznych rozwiązań do zarządzania poświadczeniami.

Przykład pliku zmiennych

---
# Wstępna konfiguracja
# Niestandardowa nazwa hosta
set_hostname: false
custom_hostname: "{{ custom_user }}-server"

# SSH
ssh_port: 22

# Konfiguracja użytkowników
setup_user: false
custom_user: "{{ lookup('env', 'CUSTOM_USER') | default('jokerwrld', true) }}" # >>> ubuntu | ec2-user | custom_user
temp_dir: "tmp"

# Szyfrowanie hasła
# python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Potwierdź: ")) else exit())'
root_passwd: "$6$aBitRBNIk5O7.rRs$.r7jWebBbVsx6GL7/8EixidRnFxtvSPEcXMkCLa.zKXS8ETQjpay54Htc9Q4sLJfs1Cyvjj4VVGpe5yc1zXLe/" # root
custom_user_passwd: "$6$8ReSwQWsQjmGVfva$2/.pJ9aeIIXxAPhhpDuOhZ7161EKvAx2uFFdGpMC9tpMGEBO4m5MbGYR9nJloPrf68GSb7eSsN6Ef0FMKxkbQ1" # sudo

Przykład playbooka

- name: Wstępna konfiguracja serwerów
  hosts: all
  become: true
  vars_files:
    - main.yml
  vars:
    set_hostname: true
    custom_hostname: "{{ custom_user }}-server"
    setup_user: true
    custom_user: myuser
    ssh_port: 2234
  tasks:
    - name: Wstępna konfiguracja serwerów
      block:
        - name: Dołącz rolę bootstrap
          ansible.builtin.include_role:
            name: jokerwrld999.bootstrap
          tags: lxc, docker

      rescue:
        - name: Wstępna konfiguracja | Ratunek
          ansible.builtin.set_fact:
            task_failed: true

Zależności

Brak.

Licencja

MIT / BSD

Informacje o autorze

Ta rola została stworzona w 2024 roku przez Joker Wrld.

Zainstaluj
ansible-galaxy install jokerwrld999.bootstrap
Licencja
mit
Pobrania
166
Właściciel