jokerwrld999.bootstrap
Ansible Rolle: Bootstrap
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
- Root-Benutzer konfigurieren
Software installieren
- Entwicklungspakete installieren
- Tags: lxc
- Anpassungen installieren
- Docker installieren
- Tags: docker
- Dienstprogramme installieren
- Entwicklungspakete 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äßigfalse
. Setzen Sie auftrue
, 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äßig22
. Legen Sie den gewünschten SSH-Port fest.
Benutzerkonfiguration
setup_user
: Boolesch, standardmäßigfalse
. Setzen Sie auftrue
, um einen benutzerdefinierten Benutzer mit ZSH-Shell, p10k-Anpassungen und generierten SSH-Schlüsseln vom Typed25519
zu erstellen.custom_user
: Zeichenfolge, standardmäßig der Wert der UmgebungsvariableCUSTOM_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.