Admin-infra » Historique » Révision 6
Révision 5 (sacha, 02/07/2022 17:46) → Révision 6/10 (sacha, 07/07/2022 01:32)
# 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 notamment pour avoir l'utilisateur du commit git 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`