Partage outils/scripts réalisation personelle

Hello,

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 :face_with_hand_over_mouth:).
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.

Le source est ici: GitHub - uggla/gitlab-push-and-mr: Rust CLI tool to push the current commits and create an MR in Gitlab, license Apache v2.0
Les binaires (Linux et Windows) ici : Releases · uggla/gitlab-push-and-mr · GitHub

6 « J'aime »

Sympa comme idée, alors je balance en vrac ce qui pourrait vous intéresser :

Ça prend votre tfstate, regarde s’il y a des delta entre vos entrées DNS OVH et ce que vous devez avoir.

Celui là, il prend la liste des certificats let’s encrypt pour en faire un fichier de configuration pour Traefik.

C’est un exporter prometheus qui récupère des tokens vault, et des certificats TLS sur des fqdn et export les durées de validité.

Celui-là, je l’ai écrit après avoir fait un rm -fr /var/lib/mysql
J’ai un article qui explique ça :
https://blog.ledez.net/informatique/comment-récupérer-un-rm-rf-var-lib-mysql/

Là, c’est une suite de scripts qui me permettent de savoir ce qui est cassé sur mon serveur de mail et quoi faire pour corriger le problème.

Et enfin ce n’est pas vraiment un script, mais une application PHP qui permet de gérer des alias mails.
J’ai aussi un article qui explique ça :
https://blog.ledez.net/informatique/gestion-des-alias-postfix/

4 « J'aime »

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.

3 « J'aime »

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 :slight_smile:
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.

Si vous avez tenu jusque là, bravo !

6 « J'aime »

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.

4 « J'aime »

Ben j’ai finalement accouché :slight_smile:
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…

3 « J'aime »

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 :slight_smile:

5 « J'aime »

@benjamin.texier Ah c’est cool ça ! GG pour le taff :ok_hand:
Ca permet de découvrir des binaires que je ne connaissais pas :yum:

Dans la partie “DevOps”, j’aurais bien ajouter un p’tit stern qui permet de parser les logs dans les ingress-controllers

J’ai fais une PR : https://github.com/upciti/wakemeops/pull/30

++

3 « J'aime »

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.

2 « J'aime »