jokerwrld999.bootstrap
Rôle Ansible : Bootstrap
Description
Ce rôle fournit des tâches de pré-configuration de base pour vos serveurs.
Fonctionnalités
Configuration du Système
- Mettre à jour le système et configurer les dépôts
Configuration des Utilisateurs
- Configurer l'utilisateur root
- Tags : lxc
- Configurer un utilisateur personnalisé
- Configurer l'utilisateur root
Installer des Logiciels
- Installer des paquets de développement
- Tags : lxc
- Installer des ajustements
- Installer Docker
- Tags : docker
- Installer des utilitaires
- Installer des paquets de développement
Effectuer des Ajustements
- Configurer le nom d'hôte
- Configurer la conservation des journaux
- Installer le microcode
- Configurer OpenSSH
- Installer l'agent invité Qemu
Utilisation
Pré-requis
Ce rôle nécessite l'installation de certaines collections depuis ansible-galaxy. Voici un exemple de fichier requirements.yml
:
---
collections:
- name: community.general
- name: kewlfft.aur
roles:
- name: jokerwrld999.bootstrap
Installer les Pré-requis
ansible-galaxy install -r requirements.yml
Variables du Rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut :
Pré-configuration
set_hostname
: Booléen, par défaut àfalse
. Mettez àtrue
pour configurer un nom d'hôte personnalisé.custom_hostname
: Chaîne, un modèle pour le nom d'hôte utilisant${{ custom_user }}
.Exemple :
{{ custom_user }}-server
SSH
ssh_port
: Entier, par défaut à22
. Définir le port SSH désiré.
Configuration de l'Utilisateur
setup_user
: Booléen, par défaut àfalse
. Mettez àtrue
pour créer un utilisateur personnalisé avec un shell ZSH, des personnalisations p10k et des clés ssh générées de typeed25519
.custom_user
: Chaîne, par défaut à la valeur trouvée dans la variable d'environnementCUSTOM_USER
. Valeur de repli :"jokerwrld"
. Nom d'utilisateur pour le compte de l'utilisateur personnalisé.Exemple pour créer une variable d'environnement :
export CUSTOM_USER=nomutilisateur
.temp_dir
: Chaîne, par défaut à"tmp"
. Répertoire temporaire utilisé pour certaines tâches.
Mot de Passe de l'Utilisateur (Optionnel - Considération de Sécurité)
Chiffrer le Mot de Passe
python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirmer : ")) else exit())'
root_passwd
: Chaîne, vide par défaut. Définissez votre mot de passe root.custom_user_passwd
: Chaîne, vide par défaut. Définissez le mot de passe de votre utilisateur personnalisé.
Envisagez d'utiliser Ansible Vault ou d'autres solutions de gestion sécurisée des identifiants.
Exemple de Fichier de Variables
---
# Pré-Configuration
# Nom d'Hôte Personnalisé
set_hostname: false
custom_hostname: "{{ custom_user }}-server"
# SSH
ssh_port: 22
# Configuration des Utilisateurs
setup_user: false
custom_user: "{{ lookup('env', 'CUSTOM_USER') | default('jokerwrld', true) }}" # >>> ubuntu | ec2-user | custom_user
temp_dir: "tmp"
# Chiffrement du Mot de Passe
# python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirmer : ")) else exit())'
root_passwd: "$6$aBitRBNIk5O7.rRs$.r7jWebBbVsx6GL7/8EixidRnFxtvSPEcXMkCLa.zKXS8ETQjpay54Htc9Q4sLJfs1Cyvjj4VVGpe5yc1zXLe/" # root
custom_user_passwd: "$6$8ReSwQWsQjmGVfva$2/.pJ9aeIIXxAPhhpDuOhZ7161EKvAx2uFFdGpMC9tpMGEBO4m5MbGYR9nJloPrf68GSb7eSsN6Ef0FMKxkbQ1" # sudo
Exemple de Playbook
- name: Pré-configuration des serveurs
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: Pré-configuration des serveurs
block:
- name: Inclure le rôle bootstrap
ansible.builtin.include_role:
name: jokerwrld999.bootstrap
tags: lxc, docker
rescue:
- name: Pré-Configuration | Secours
ansible.builtin.set_fact:
task_failed: true
Dépendances
Aucune.
Licence
MIT / BSD
Informations sur l'Auteur
Ce rôle a été créé en 2024 par Joker Wrld.