Project

General

Profile

Actions

Admin-infra

Présentation /infra

Les machines sensibles sur la gestion du réseau ont un /infra. Dans ce répertoire on trouve tous les fichiers de configurations spécifiques/importants au système Debian ou OpenBSD. Ce répertoire publié sur le git https://forge.aquilenet.fr/aquiladmin
Les admins qui ont accès à ces machines doivent penser à publier(commiter) leurs changements !

Utilisation

Il faut faire partie du groupe admin et avoir son compte dans le groupe aquiladmin avec sa clé ssh.

  • On crée un dépôt sur le groupe aquiladmin sur la forge avec le nom infra-$nom
  • On sur connecte sur la machine concernée avec un ssh -A (pour transférer sa clé ssh à gitea)
  • On permet à SSH les variables d'environnement dans /etc/ssh/sshd_config: PermitUserEnvironment yes
  • ajoute sur sa clé ssh quelques variables d'environnement (notamment pour avoir l'utilisateur du commit git), comme par exemple:

    environment="SSHCLIENTUSER=Sacha",environment="SSHCLIENTLOGINNAME=sacha",environment="EDITOR=/usr/bin/vim",environment="GIT_AUTHOR_EMAIL=sacha@aquilenet.fr",environment="GIT_AUTHOR_NAME=Sacha" ssh-ed25519 AAAAC3NzaNNlZDI1NTE5CCCCIOrls4Du8XBDFYClaju9pMBjtzt2jGZrBeaqj+q7t/l3 sacha@root
    
  • mkdir -p /infra/etc && cd /infra et suivre "Creating a new repository on the command line" indiqué dans https://forge.aquilenet.fr/aquiladmin/infra-$nom

  • bouger les fichiers de confs dans /infra/etc et mettre un lien symbolique dessus

  • commiter les changement

Clusters

On peux imaginer un groupe de machines avec le même repo si elles ont des conf communes.
Par exemple pour 2 vm nommées cluster1 et cluster2 on peut mettre un /infra/cluster1/etc et /infra/cluster2/etc pour les conf spécifiques et un /infra/etc pour les conf identiques

Quelques alias que l'on utilise pour git:

ga='git add'
gb='git branch'
gd='git diff'
gl='git log --graph --oneline --date-order --decorate --color --all'
gm='git commit -m'
gma='git add . && git commit -am'
gp='git pull --rebase'
gpp='git pull --rebase && git push'
gr='grep -RniH --color '
grep='grep --color=auto'
grer='grep -RniHw --color -E '\''(fail(|ed|s|ure)|error(|s)|warning(|s))'\'' '
grz='zgrep -niH --color=always '
gst='git status'

donc un commit se résume à: cd /infra && gma "commentaire du commit" && gpp

Updated by sacha 3 months ago · 8 revisions