jokerwrld999.bootstrap

Rôle Ansible : Bootstrap

CI

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é
  • Installer des Logiciels

    • Installer des paquets de développement
      • Tags : lxc
    • Installer des ajustements
    • Installer Docker
      • Tags : docker
    • Installer des utilitaires
  • 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 type ed25519.

  • custom_user: Chaîne, par défaut à la valeur trouvée dans la variable d'environnement CUSTOM_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.

Installer
ansible-galaxy install jokerwrld999.bootstrap
Licence
mit
Téléchargements
166
Propriétaire