Voila un sujet pour partager les outils ou scripts que vous avez crée ou que vous maintenez et qui pourrait servir à d’autres.
Je me lance donc avec un petit outil en cli sans prétention.
J’ai repris le code de quelqu’un (zupzup) et je l’ai étendu pour que cela réponde à mon besoin.
L’outil se nomme gitlab-push-and-mr (oui c’est pas terrible ).
Il fait simplement un push vers Gitlab et crée ensuite une mr sur le projet. Il est très facile à utiliser car il fait que ça.
Je viens de sortir la version 1.4.0 avec quelques améliorations mais surtout une mise à jour des dépendances.
Je l’utilise par exemple avec une boucle en bash pour ouvrir des mr qui touchent plusieurs repositories.
Je sais qu’il y a plusieurs fan de Gitlab ici et ça pourrait interesser.
Sinon c’est écrit en Rust en utilisant le mode asynchrone (async/await) avec tokio. C’est un assez bon exemple suffisamment simple pour découvrir comment utiliser cette technologie.
De mon côté j’ai mis à disposition de la communauté des charts Helm pour Kubernetes que j’ai eu l’occasion de développer pour des projets personnels : GitHub - cowboysysop/charts: Cowboy Sysop Charts
Je viens d’ailleurs d’ajouter l’outil Kroki que j’ai découvert grâce à ce forum.
nginxplorer : container permettant d’exposer le contenu d’un dossier. L’image est sur le docker hub nginXplorerAuth : Son pendant avec authentification basique. Je pourrai fusionner les deux. Exemple de container postgis: Exemple que je garde sous la main pour instancier un container de bdd postgresql (ici avec certaines extensions activées dont postgis). Peut- être bien utile pour du test httping-go : CLI pour pinger une url, sympa pour du test dans k8s parfois. J’avais forké un projet existant et fait 3 modifs, j’ai pas trop pris la peine de m’en occuper plus que ça, faudrait que j’y revienne un jour. mdtohtml : Transforme un markdown en page html. Projet forké aussi et modifié pour intégrer une css qui ressemble aux pages html de github. Je m’en sers souvent dans des conteneurs qui envoie des mails, c’est tout de suite un peu plus beau awslogcheck: Je bosse dessus mais je sais pas si j’en sortirai un truc ou pas. C’est l’équivalent de logcheck mais pour parser des logs des applications d’un cluster aws-eks remontés dans cloudwatch. Pour l’instant, c’est du POC. D’aileurs je ne pousse que dans une branche nommée draft. calcdate: outil en cli pour faire du calcul sur des dates. gitlab-backup : Pour backuper ses projets gitlab. Y a une image Docker aussi ainsi qu’une seconde qui permet d’encrypter les fichiers et les pousser dans un S3.
Cf ici et ici yumrepo : Permet d’exposer un systeme de fichier contenant un repo yum avec authentification basique. Y a juste besoin de copier les rpm, et la commande createrepo sera lancée automatiquement. gtmpl : outil en cli pour initialiser une arbo pour un nouveau projet selon un template défini au préalable. On peut aussi initialiser des variables CICD (seulement gitlab). C’est en cours de dev, du draft aussi. J’ai mis mes templates sur github à titre d’exemple. conf-linux : Ensemble de roles ansible permettant d’installer plein d’outils (k9s,eksctl, typora,vscode,vegeta…) dont certains cités ci-dessus. Je suis resté sur ansible 2.9, pas pris le temps de migrer encore. Je pourrai faire l’équivalent dans galaxy mais je suis pas un grand fan de galaxy. C’est pour du debian like seulement. ssftp : draft en cours aussi, permet de faire des transferts de fichiers sftp mais avec la syntaxe de la ligne de commande du scp. J’aime pas le mode batch de la commande sftp. L’outil fonctionne mais il reste surement plein de trucs à améliorer. controls : Permet de faire des contrôles (http,commandes ssh) et comparer le résultat à un résultat attendu. Permet aussi de récupérer les derniers problèmes remontés dans un zabbix. Ca sort un rapport en markdown. Utile pour du controle lors d’une astreinte par exemple.
Sans prétention, un script de mise à jour Nextcloud en mode bash pour Debian. Depuis la création de ce script, Nextcloud a sorti son propre outil (documentation), mais je continue à maintenir mon script qui fait aussi les backup. Dans le même dépôt il y a d’autres petits scripts liés à Nextcloud.
Ben j’ai finalement accouché
C’est stable et ça tourne depuis un moment dans nos clusters kubernetes (reste plein d’améliorations, ça viendra surement). Pour ceux que ça intéresse…
Pour ma part, nous venons de rendre open-source un de nos projets interne. Il s’agit de WakeMeOps, un repository Debian/Ubuntu simplifier les installations et mises à jour des outils devops/dev/terminal/… Tout est basé sur de l’Infra As Code (évidemment). Les paquets sont définis via des manifestes yaml et les mises à jours sont automatiques via gitlab-ci.
Il y a actuellement 62 paquets et plus à venir.
Cela nous fait gagner beaucoup de temps en interne pour les CI et les postes.
N’hesitez pas à nous faire un petit commentaire
Je participe à cette bonne idée en rajoutant mon script pour alimenter la configuration Netplan d’un serveur des IPs retournées par l’API d’OVH : OVH-to-Netplan
L’idée étant que, lorsqu’on ajoute une IP failover à son serveur dédié, celle-ci soit automatiquement configurée sur l’OS du serveur. Le script interroge donc l’API, construit le fichier Netplan et l’applique.
Je sors un peu du sujet DevOps, mais il faut bien se détendre entre deux déploiements avec Terraform !
Et avec novembre qui approche et son mauvais temps, il faut bien s’occuper.
Ce projet reste une réalisation personnelle, thème de ce post.
Initialement conçu pour pratiquer Rust et découvrir Bevy, il a évolué en un petit jeu de plateforme pour ma fille, avec des questions éducatives intégrées. C’est un peu mon arme secrète pour l’encourager à faire des mathématiques et de la lecture tout en s’amusant. Je serais ravi que vous l’essayiez ! Vous trouverez la version web, les versions natives et le lien vers le code source ici : https://uggla.itch.io/rockrun.