jokerwrld999.bootstrap

Ansible Rolle: Bootstrap

CI

Beschreibung

Diese Rolle bietet grundlegende Vorab-Konfigurationsaufgaben für Ihre Server.

Funktionen

  • Systemeinrichtung

    • System aktualisieren und Repositorys konfigurieren
  • Benutzerkonfiguration

    • Root-Benutzer konfigurieren
      • Tags: lxc
    • Benutzer anpassen
  • Software installieren

    • Entwicklungspakete installieren
      • Tags: lxc
    • Anpassungen installieren
    • Docker installieren
      • Tags: docker
    • Dienstprogramme installieren
  • Anpassungen durchführen

    • Hostnamen konfigurieren
    • Protokollaufbewahrung konfigurieren
    • Mikrokode installieren
    • OpenSSH konfigurieren
    • Qemu Guest Agent installieren

Verwendung

Anforderungen

Diese Rolle benötigt einige Sammlungen, die von ansible-galaxy installiert werden müssen. Hier ist ein Beispiel für eine requirements.yml-Datei:

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

roles:
  - name: jokerwrld999.bootstrap

Installationsanforderungen

ansible-galaxy install -r requirements.yml

Rollenvariablen

Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten:

Vorab-Konfiguration

  • set_hostname: Boolesch, standardmäßig false. Setzen Sie auf true, um einen benutzerdefinierten Hostnamen zu konfigurieren.

  • custom_hostname: Zeichenfolge, eine Vorlage für den Hostnamen, die ${{ custom_user }} verwendet.

    Beispiel: {{ custom_user }}-server

SSH

  • ssh_port: Ganzzahl, standardmäßig 22. Legen Sie den gewünschten SSH-Port fest.

Benutzerkonfiguration

  • setup_user: Boolesch, standardmäßig false. Setzen Sie auf true, um einen benutzerdefinierten Benutzer mit ZSH-Shell, p10k-Anpassungen und generierten SSH-Schlüsseln vom Typ ed25519 zu erstellen.

  • custom_user: Zeichenfolge, standardmäßig der Wert der Umgebungsvariable CUSTOM_USER. Fallback ist "jokerwrld". Benutzername für das benutzerdefinierte Benutzerkonto.

    Beispiel zur Erstellung einer Umgebungsvariable: export CUSTOM_USER=username.

  • temp_dir: Zeichenfolge, standardmäßig "tmp". Temporäres Verzeichnis für bestimmte Aufgaben.

Benutzerpasswort (Optional - Sicherheitsüberlegung)

Passwort verschlüsseln

python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Bestätigen: ")) else exit())'
  • root_passwd: Zeichenfolge, standardmäßig leer. Legen Sie Ihr Root-Passwort fest.

  • custom_user_passwd: Zeichenfolge, standardmäßig leer. Legen Sie das Passwort für Ihren benutzerdefinierten Benutzer fest.

Erwägen Sie die Verwendung von Ansible Vault oder anderen sicheren Lösungen zur Verwaltung von Anmeldeinformationen.

Beispiel für Variablen Datei

---
# Vorab-Konfiguration
# Benutzerdefinierter Hostname
set_hostname: false
custom_hostname: "{{ custom_user }}-server"

# SSH
ssh_port: 22

# Benutzerkonfiguration
setup_user: false
custom_user: "{{ lookup('env', 'CUSTOM_USER') | default('jokerwrld', true) }}" # >>> ubuntu | ec2-user | benutzerdefinierter Benutzer
temp_dir: "tmp"

# Passwort verschlüsseln
# python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Bestätigen: ")) else exit())'
root_passwd: "$6$aBitRBNIk5O7.rRs$.r7jWebBbVsx6GL7/8EixidRnFxtvSPEcXMkCLa.zKXS8ETQjpay54Htc9Q4sLJfs1Cyvjj4VVGpe5yc1zXLe/" # root
custom_user_passwd: "$6$8ReSwQWsQjmGVfva$2/.pJ9aeIIXxAPhhpDuOhZ7161EKvAx2uFFdGpMC9tpMGEBO4m5MbGYR9nJloPrf68GSb7eSsN6Ef0FMKxkbQ1" # sudo

Beispiel für Playbook

- name: Vorab-Konfiguration der Server
  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: Vorab-Konfiguration der Server
      block:
        - name: Bootstrap-Rolle einfügen
          ansible.builtin.include_role:
            name: jokerwrld999.bootstrap
          tags: lxc, docker

      rescue:
        - name: Vorab-Konfiguration | Rettung
          ansible.builtin.set_fact:
            task_failed: true

Abhängigkeiten

Keine.

Lizenz

MIT / BSD

Autoreninformationen

Diese Rolle wurde 2024 von Joker Wrld erstellt.

Installieren
ansible-galaxy install jokerwrld999.bootstrap
GitHub Repository
Lizenz
mit
Downloads
166
Besitzer