Project

General

Profile

Admin-infra » History » Revision 6

Revision 5 (sacha, 07/02/2022 05:46 PM) → Revision 6/8 (sacha, 07/07/2022 01:32 AM)

# 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`