Script jenkins pour supprimer des builds d'un job, quand on a besoin de le faire on est contant de ne pas devoir se taper tout ça à la main :)
Jenkins.instance.getItemByFullName('JobName').builds.findAll { it.number > 10 && it.number < 1717 }.each { it.delete() }
vault -autocomplete-install
pour avoir l'autocompletion de la command line Vault
J'avais loupé cette news mais il est désormais possible de lancer des VM ARM64 sur la Freebox Delta.
Pas encore testé mais c'est super interressant pour qui veut s'autohéberger sans s'équiper d'un serveur @home et dispose d'une connexion suffisante (pas mon cas malheureusement, j'attend avec impatience le jour ou la fibre sera disponible chez moi...).
Quelques limitations connus:
- ARM64 uniquement
- 2 VM maximum
- 2 CPU et 1GB dispo pour les VM
Quel est l'intérêt par rapport à un Raspberry Pi pour une utilisation de type server @home?
- Pas d'hardware supplémentaire
- Pas de problème d'alimentation tatillone
- Pas de problème de corruption de carte SD pour le stockage
- Meilleures perfs disque
- Meilleures perfs CPU (entre 30% et 80% d'après l'article)
- Meilleures perfs réseau
Les commandes pour générer un kubeconfig à partir d'un Service Account K8S.
J'ai créé 2 scripts à partir de ces instructions:
- create-serviceaccount.sh pour générer le serviceaccount
- create-kubeconfig.sh pour générer le kubeconfig
Super utile pour coller des gros logs dans un commentaire GitHub par exemple:
## collapsible markdown?
<details><summary>CLICK ME</summary>
<p>
hidden blocks!
</p>
</details>
AWS EKS gère désormais les node groups de workers en tant que ressources managées (avant il fallait gérer soit même les ASG de workers nodes).
En plus c'est déjà géré par la nouvelle version du provider terraform-aws
Le Getting Started pour utiliser Hammerspoon sur MacOS
What is Hammerspoon?
Hammerspoon is a desktop automation tool for OS X. It bridges various system level APIs into a Lua scripting engine, allowing you to have powerful effects on your system by writing Lua scripts.
C'est super puissant pour controller MacOS.
Quelques examples:
- Déplacer la fenêtre actuelle sur la moitié gauche de l'écran en pressant les touches
Cmd
,alt
,ctrl
et gauche
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Left", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local screen = win:screen()
local max = screen:frame()
f.x = max.x
f.y = max.y
f.w = max.w / 2
f.h = max.h
win:setFrame(f)
end)
- Déplacer la fenêtre actuelle sur la moitié droite de l'écran en pressant les touches
Cmd
,alt
,ctrl
et droite
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Right", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local screen = win:screen()
local max = screen:frame()
f.x = max.x + (max.w / 2)
f.y = max.y
f.w = max.w / 2
f.h = max.h
win:setFrame(f)
end)
- Afficher le titre en écoute sur Spotify en pressant les touches
Cmd
,alt
,ctrl
etS
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "S", function()
hs.spotify.displayCurrentTrack()
end)
MacOS inclut /usr/libexec/java_home
pour configurer JAVA_HOME
:
export JAVA_HOME=$(/usr/libexec/java_home)
Un générateur de "CV" basé sur l'activité publique Github.
Présentation de ClusterAPI qui permet de provisionner depuis un cluster k8s existant (management cluster) d'autres clusters k8s (target clusters) dans le cloud grâce a des CRDs (ex: AWSCluster, MachineDeployment). C'est encore en alpha mais ça a l'air très prometteur.
Un testeur de template Ansible en ligne
Des bonnes pratiques pour optimiser l'utilisation de repos git volumineux avec jenkins (reference repos, shallow clone, sparse checkout...)
Comment troubleshooter un cluster elasticsearch en utilisant l'api _cat
.
Ce post a été écrit il y a 5 ans mais la méthode et les commandes sont toujours d'actualité.
Pour utiliser gcloud
(cli GCP) avec Python3 (>=3.4) au lieu de Python2:
# Use the python3 interpreter on your path
$ export CLOUDSDK_PYTHON=python3
Un générateur de launchd.plist
pour executer des tâches schedulées sur MacOS.
Un plugin Helm qui permet de déclencher un rollback automatique suite à l'upgrade d'une release Helm en fonction d'une query Elasticsearch ou Prometheus
Un simple outils Python en ligne de commande qui reste la taille d'une image Docker et retourne une erreur si celle ci dépasse une taille donnée. A intégrer dans les CI pour s'assurer que les images Docker ne grossissent pas exponentiellement au fil du temps.
Un petit script groovy à lancer sur une instance Jenkins pour trouver l'arbre de dépendences des plugins installés:
def plugins = jenkins.model.Jenkins.instance.getPluginManager().getPlugins()
plugins.each {
println "${it.getShortName()} (${it.getVersion()}) - ${it.getDependencies()}"
}
GCP fournis désormais des VM Windows disposant de docker pré-installé pour faire tourner des containers Windows.
Actuellement les images à utiliser sont:
- windows-2019-for-containers
- windows-2019-core-for-containers
- windows-1809-core-for-containers
- windows-1803-core-for-containers
(source: https://cloud.google.com/compute/docs/images#unshielded-images)
Pour générer un fichier ~/.gitignore_global
en fonction de son environnement.
Perso j'utilise https://www.gitignore.io/api/go,vim,gpg,code,linux,macos,emacs,python,packer,archive,ansible,vagrant,archives,terraform,jetbrains,virtualenv
Ensuite un petit coup de git config --global core.excludesfile ~/.gitignore_global
et on est tranquille