Configurer l'API-Server de Kubernetes pour accepter plusieurs fournisseurs d'identité (IdP) OIDC, y compris GitHub Actions.| Une tasse de café
Dans cet article, nous allons découvrir SPIFFE, un framework de référence pour la gestion des identités des workloads dans les environnements distribués, et comment l'implémenter dans nos applications Kubernetes avec cert-manager.| Une tasse de café
Minimaliste ne veut pas dire que Talos n'est pas extensible. Creusons ensemble le sujet des extensions pour le customiser et l'adapter à nos besoins.| Une tasse de café
Omni est un outil incroyable qui va vous permettre de gérer des machines Talos n'importe où. Laissez-moi vous présenter Omni, et comment l'interfacer avec Kubevirt pour créer des clusters Kubernetes en un claquement de doigts.| Une tasse de café
Je pense qu’on est nombreux à avoir des petits serveurs à la maison pour héberger des applications qu’on utilise au quotidien. Certains le font pour éviter de partager ses données, d’autres afin d’éviter de payer des services en ligne, ou pour le fun et l’apprentissage… On est tous capables de justifier notre besoin d’avoir un serveur à la maison. Pendant très longtemps, et par simplicité, j’ai utilisé un serveur dédié OVH comme lab de test ou pour héberger des se...| Blogs on Une tasse de café
Depuis 2 ans, j’utilise Nix à toutes ses sauces : NixOS en distribution personnelle, Nix sur la machine Ubuntu à mon travail, et home-manager en tant que gestionnaire de configuration de mes dotfiles. Et si j’adore la communauté de Nix et que je n’hésite pas à faire mes petites PRs sur le registre officiel : je n’en reste pas moins déçu que Nix soit seul sur le trône. Parce que Nix possède un concurrent bien moins connu : Guix.| Blogs on Une tasse de café
Et oui ! Après ma certification Consul, je me suis motivé à passer la Terraform Associate, la certification Terraform de Hashicorp. Mais contrairement à Consul où je suis parti de zéro : je connais déjà plutôt bien Terraform. Je l’utilise sur mon infrastructure personnelle (Proxmox/Libvirt) et j’ai déjà dû faire des déploiements sur l’OpenStack de l’état : Nubo. Préparation# Avec du recul (maintenant que j’ai réussi la certification), je me dis que mes connaissances...| Blogs on Une tasse de café
Histoire de clôturer mon apprentissage de Consul, j’ai décidé de me challenger en passant la certification Consul Associate. Je n’ai jamais utilisé Consul dans un contexte professionnel et ma seule expérience avec Consul est celle que j’ai acquise en écrivant mon article sur Consul : “Consul : de A à Y”. Passer la certification Consul Associate était donc un bon moyen de valider mes connaissances sur le sujet. En dehors de ça, je n’ai jamais passé de certification et je ...| Blogs on Une tasse de café
Tmux est un multiplexeur de terminal, celui-ci permet de créer et contrôler des sessions. Il est souvent utilisé pour lancer une commande en fond et pouvoir fermer le terminal sans crainte que le processus ne soit stoppé. Ainsi, dès lors que l’on démarre Tmux, celui-ci va initier une session stockée (par défaut) dans votre dossier /tmp. En fermant notre fenêtre, en rouvrant un terminal et en lançant tmux attach, on retrouve nos processus.| Blogs on Une tasse de café
Grâce à ZWindler et sa série de threads Twitter à propos du reverse d’un petit appareil connecté, j’ai découvert le projet Blinky. Il s’agit d’un petit gyrophare connecté qui peut vous faciliter la vie durant vos astreintes en vous notifiant d’éventuels problèmes sur vos services.| Blogs on Une tasse de café
Que vous l’aimiez ou non, Vim est un éditeur de texte très puissant. Néanmoins, il peut être difficile à apprendre et à maîtriser. C’est pourquoi j’ai créé cette présentation pour vous aider à découvrir Vim et à vous familiariser avec les commandes de base. Accéder à la présentation| Blogs on Une tasse de café
Il est tard, je suis fatigué, et dans ces moments, je n’ai qu’une envie : apprendre une bricole de plus qui me servira peut-être un jour (ou pas). Sur les communautés de Tiling (i3, tmux, sway …), on entend souvent parler de QuteBrowser. C’est un navigateur basé sur Vim qui permet de naviguer sur le web sans utiliser la souris. Il est très léger et très rapide. Je n’ai eu qu’une brève démo de ce navigateur, mais il m’a semblé très intéressant.| Blogs on Une tasse de café
Traefik est un reverse proxy et load balancer populaire pour les environnements de conteneurs, il est très utilisé pour ses fonctionnalités d’automatisation et de configuration dynamique. Celui-ci va créer automatiquement les redirections et les certificats SSL/TLS pour vos applications Web. (via des labels Docker ou des manifests Kubernetes) Ainsi, Traefik a su s’imposer comme un outil incontournable pour les environnements de conteneurs, et il est utilisé par de nombreuses entrepri...| Blogs on Une tasse de café
L’IPFS (InterPlanetary File System) est un protocole P2P(Peer to Peer) permettant de diffuser des fichiers de manière décentralisée. La mention “InterPlanetary” nous donne l’objectif premier de l’IPFS : surmonter les difficultés techniques et les contraintes de la communication entre planètes.| Blogs on Une tasse de café
Qu’est-ce que le PXE ?# Avant de démarrer la technique, petite explication des termes : Le PXE (Preboot Execution Environment) est une technologie permettant d’amorcer une partition de démarrage via le réseau (et notamment via le protocole TFTP). L’IPXE est un fork de PXE proposant des fonctionnalités supplémentaires comme le chiffrement, l’usage du SAN / HTTP comme protocole, et permet d’utiliser un langage de scripting ! Voici un exemple de fichier .| Blogs on Une tasse de café
Si vous visitez régulièrement mon blog, vous avez sans doute remarqué que j’ai un faible pour les projets basés sur Docker. J’utilise Docker dans mes infrastructures pour la reproductibilité, la simplicité des déploiements et la facilité de maintenance. (C’est d’ailleurs pour ces raisons que j’ai décidé de passer sur Kubernetes). Cette année, j’ai écrit 2 pages permettant respectivement d’apprendre à créer des fichiers .deb et d’héberger un dépôt de paquets De...| Blogs on Une tasse de café
Dagger.io est un projet qui a été annoncé il y a quelque temps par Solomon Hykes, la philosophie de Dagger a attiré mon attention. C’est un service de CI/CD qui permet de lancer des jobs dans des conteneurs Docker. La plus-value de Dagger est qu’il ne se limite pas à du Yaml (Comme Gitlab-CI, Github Action, Drone.io) ou à un DSL maison (Comme Jenkins), il permet de lancer des jobs en utilisant du code Python, du Go, du Java.| Blogs on Une tasse de café
Introduction# Dans mon projet de créer une infrastructure auto-suffisante, je me retrouve parfois à installer des petits programmes sur de nombreuses machines via les Makefile ou une série de commandes. Et même si c’est plutot propre, ce n’est pas très pratique lorsque l’on gère une grande quantité de serveur. L’idée est donc de packager un programme pour simplifier son installation. Nous allons donc voir comment créer nos propres packages .deb !| Blogs on Une tasse de café
Dès lors que nous exposons un service en ligne, celui-ci se fait harceler par des bots et des attaques en tout genre. Ces bots ont pour objectif de trouver la moindre petite faille pour obtenir un accès à votre serveur et en tirer quelque chose de lucratif (Minages, Botnet, Ransomware). La bonne pratique est donc de ne pas exposer les services sensibles (et mettre en place un VPN/Tunnel SSH), mais certains cas nous obligent à bafouer cette règle.| Blogs on Une tasse de café
Introduction# Debian est la distribution la plus utilisée et connue. En tant que Workstation (Via Ubuntu Desktop) ou en serveur, nous n’avons de cesse d’utiliser Debian dans notre quotidien. Et si Debian est si forte, c’est avant-tout grâce au nombre de personnes qui s’en servent et font vivre la suite de logiciels disponibles sur cette distribution. Et si installer un programme se fait facilement via les fichiers .deb, l’usage d’un dépôt (centralisant ces .| Blogs on Une tasse de café
Introduction à DNSMASQ# Voici une brève présentation de DNSMASQ, tirée de Wikipédia : Dnsmasq est un serveur léger conçu pour fournir les services DNS, DHCP, Bootstrap Protocol et TFTP pour un petit réseau, voire pour un poste de travail. Il permet d’offrir un service de nommage des machines du réseau interne non intégrées au service de nommage global (i.e. le service DNS d’Internet). Le service de nommage est associé au service d’adressage de telle manière que les machines...| Blogs on Une tasse de café
Éviter d’envoyer ses secrets sur Git, nous devons toujours être vigileant avant un quelconque Push. Et c’est justement le but de Sops (Secrets OPerationS) qui va nous aider à stocker nos informations sur le dépôt.. mais en les chiffrant. Celui-ci est compatible avec de nombreux gestionnaires de secret comme : Hashicorp Vault GCP KMS PGP Age (Celui que nous allons utiliser) Astuce Age est un outil en Go simple et moderne.| Blogs on Une tasse de café
Le déploiement, la virtualisation, le maintien d’une infrastructure Homelab sont des pratiques qui demandent du temps et également de l’argent. C’est pourquoi j’ai décidé de créer un petit billet que je peux ressortir pour expliquer le matériel que j’utilise. Je vais donc partager les machines que j’utilise chez moi ou en cloud. Avertissement Je ne souhaite pas décourager les gens qui débutent dans ce domaine. Il n’est nullement nécéssaire d’avoir autant de matériel...| Blogs on Une tasse de café
Qu’est ce qu’un test unitaire ?# On réserve souvent les tests unitaires pour le développement. L’idée est d’injecter des informations dans des fonctions/méthodes et d’en vérifier le traitement. Voici un exemple bref d’un test unitaire en python : def convert_str_to_int(strvar): if strvar.isdigit(): return str(strvar) else: return False assert type(convert_str_to_int("4")) == int Ainsi, on vérifie via “assert” (générant une erreur si la condition renvoie un “False”)...| Blogs on Une tasse de café
Bonne année, Bonne santé ! Que la réussite et la santé soient avec vous ! J’espère que cette année sera riche en découvertes techniques. Mais avant d’être trop heureux, attaquons avec une mauvaise nouvelle : K8S@HOME est mort# Qu’est-ce que K8S@HOME ?# K8S-at-home est le nom d’une communauté promouvant l’usage de Kubernetes comme Homelab. La communauté possédait un énorme dépôt Helm maintenu par quelques membres. Sur ce dépôt Helm, on pouvait avoir la plupart des app...| Blogs on Une tasse de café
Introduction# Je dispose de 3 serveurs différents: Un serveur dédié en cloud (avec une dizaine de VMs) Un cluster de raspberry à la maison (4 machines) Et un serveur de redondance dans un autre DC Et juste avec ces machines, ça fait un bon nombre d’accès à gérer sur ma workstation. De plus, les machines peuvent difficilement communiquer entre elles (en local je passe par des redirections ssh), et il m’est impossible de faire communiquer mes machines sans ouvrir un accès.| Blogs on Une tasse de café
Introduction# On parle beaucoup de Terraform comme étant “la télécommande” du DevOps, celui-ci possède des chiffres assez conséquents : 2626 providers et 11397 modules. Remarque Un module est une intégration de Terraform avec un outil externe. On peut lancer un playbook, créer une instance sous AWS, ou même envoyer un message sur Slack. J’utilise activement Terraform dans mes déploiements (création et/ou peuplement d’une VM sous Proxmox/LibVirt), mais depuis que mon infrastr...| Blogs on Une tasse de café
Introduction# Depuis que le mouvement DevOps a commencé (ou plutôt Platform engineering), on met le thème de la haute-disponibilité sur le devant de la scène. Et une des solutions les plus polyvalentes pour faire de la haute disponibilité est de créer des clusters d’applications. (et de facto : des conteneurs) J’ai donc administré un cluster Swarm pendant quelques années et je suis récemment passé sous Kubernetes (k3s pour être précis). Et à force d’avoir des clusters cont...| Blogs on Une tasse de café
Introduction# Récemment, j’ai suivi une formation de ~8 mois durant laquelle je n’avais qu’un clavier pour prendre des notes. Pour moi : aucun problème, je ne demande que ça : un support que j’utilise personnellement et professionnellement. Je tape plutôt vite (environ ~100 mots/minutes), j’utilise des macros, et des raccourcis pour me simplifier la vie et si jamais j’ai besoin d’un schéma : je prend mon temps sur draw.io. Mais durant des travaux d’équipes, j’ai compri...| Blogs on Une tasse de café
Introduction à Nix et NixOS# NixOS est une distribution Linux sortie initialement en 2003 et créée par (Eelco Dolstra, un chercheur travaillant sur la création d’un système immuable. Celle-ci se base sur le gestionnaire de paquet Nix qui permet de gérer la configuration du système à l’aide de fichiers Nix (un langage de programmation similaire au Haskell). Ainsi si je souhaite créer un utilisateur kiko sur mon système, je peux écrire ceci dans mon fichier configuration.| Blogs on Une tasse de café
Introduction# Lorsque l’on développe un chart, ou que l’on souhaite faire des tests sur Kubernetes (ex : rbac), nous n’allons pas faire ces tests sur un environnement de production. Nous n’avons non-plus pas toujours de cluster dédié aux tests. Alors avec l’aide de KIND : nous allons pouvoir créer ce cluster de test, et sans devoir installer la moindre machine virtuelle. Comme son nom l’indique ce soft permet de créer un cluster à partir de conteneurs Docker.| Blogs on Une tasse de café
L’année dernière, j’ai dit que j’appréciais particulièrement Caddy qui était simple, pratique, rapide et efficace. Caddy permet, à partir d’une ligne aussi simple que : domain.tld { reverse_proxy 127.0.0.1:80 } En plus de ça, Caddy va constamment vérifier l’expiration de vos certificats letsencrypt et de les renouveler automatiquement sans aucune interaction nécéssaire. Caddy est également facile à déployer via Docker. Que demander de plus ? De l’automatisation ? Pa...| Blogs on Une tasse de café
Accéder à la présentation| Blogs on Une tasse de café
Changelog (janv 2022) - Aujourd’hui, j’ai remplacé Caddy par Traefik, à voir dans un futur article Dans ma courte vie d’informaticien, je n’ai toujours eu qu’une seule IP publique. Celle de mon serveur OVH sur lequel vous visualisez le site actuellement. Et en sachant que j’ai de nombreux services Web, il m’a rapidement été nécéssaire de chercher les différents solutions permettant d’installer un Reverse Proxy efficace qui servirait à rediriger mes utilisateurs vers l...| Blogs on Une tasse de café
Docker Swarm est un outil d'orchestration de conteneurs. Il permet de gérer automatiquement vos conteneurs, et de les répliquer sur plusieurs machines.| Une tasse de café
Si vous êtes des habitués de ce blog, vous savez déjà que je suis un énorme fan de Talos, une distribution minimaliste et sécurisée qui a pour seul but de faire tourner les composants de Kubernetes. Si j’en crois la date de publication de mon article sur ce sujet ça fait bientôt un an que j’en bouffe tous les jours (même si en réalité, j’ai commencé bien avant). J’aime toujours autant ce projet, et je suis toujours aussi convaincu de son potentiel.| Une tasse de café
En ce moment, j’apprends énormement sur Kubernetes et en Golang, progresser dans ces domaines est un de mes objectifs pour cette année. J’ai donc décidé de reprendre le format de mon article sur NATS pour vous présenter un autre sujet que j’ai eu l’occasion de dig récemment : les opérateurs Kubernetes. Mais on ne va pas simplement énoncer des vérités générales sur ce qu’est un opérateur, on va plutôt en créer un ensemble et voir les différentes étapes du développem...| Une tasse de café
Dans l’objectif de rendre mon blog plus personnel (et moins technique), je vais m’essayer à l’exercice de la rétrospective annuelle. C’est un exercice que j’ai vu passer sur plusieurs blogs et que j’ai trouvé intéressant. Cela permet de revenir sur les événements marquants de l’année écoulée et de se fixer des objectifs pour l’année à venir. Ainsi, j’évite de tomber dans le piège de la procrastination et je garde une trace de mes accomplissements.| Une tasse de café
En septembre, je suis allé accueillir le petit nouveau de l’équipe Lucca dans les locaux à Nantes. Durant cette semaine, j’ai bien profité de notre super machine à café et j’ai remarqué que je n’étais pas le seul à l’apprécier. Chaque matin, nous avions donc notre petite routine : café en arrivant, daily meeting, café après le daily. Le soucis que je souhaite vous exposer est durant ce second café où le succès de cette machine est le plus visible : il y a une queue d...| Une tasse de café
Ça fait un moment que j’utilise Github comme support OAuth2 pour m’authentifier sur des applications. Toutefois, je me suis toujours contenté de suivre une documentation sans réellement chercher à comprendre ce qu’il se passait sous mes yeux chaque fois que je voulais m’authentifier. De ce fait, je me suis motivé à écrire cet article à propos du SSO. L’objectif est de découvrir les mécanismes disponibles pour gérer une grande quantité d’utilisateurs et leurs accès aux...| une-tasse-de.cafe
Je n’ai jamais réellement appris à taper au clavier. De fait, j’ai toujours eu de très mauvaises habitudes. Par exemple, utiliser le POUCE gauche pour la touche contrôle, essayez et vous remarquerez que vous devez tordre votre pouce OU tordre votre poignet. Lors de journées intensives, je terminais parfois avec des douleurs à l’articulation du pouce (et quelques fois au poignet). J’ai alors passé un examen médical avec un électromyogramme pour vérifier si je n’avais pas un...| Une tasse de café
Istio est un service mesh open-source qui permet de connecter, sécuriser, contrôler et observer les services d'une application. Nous allons voir comment installer Istio, et comment l'utiliser pour sécuriser et monitorer nos services.| une-tasse-de.cafe
Créer une infrastructure VPN hybride avec Headscale pour connecter des serveurs locaux et distants.| une-tasse-de.cafe
Talos est un système d'exploitation pour Kubernetes. Il est conçu pour être léger, sécurisé et facile à utiliser. Dans cet article, je vais vous présenter Talos et ses particularités.| une-tasse-de.cafe
Loki est un système de gestion de logs open source et conçu par Grafana Labs. Dans cet article, nous allons voir comment installer l'ensemble des composants nécessaires pour utiliser Loki et Promtail.| une-tasse-de.cafe
Mes péripéties pour obtenir mon diplôme de niveau Bac+3 par la voie de la VAE.| une-tasse-de.cafe
Vault est un outil de gestion des secrets développé par Hashicorp. Il permet de stocker et de gérer ces derniers de manière sécurisée. Dans cet article, nous allons voir comment utiliser Vault pour gérer les secrets de vos applications.| une-tasse-de.cafe
J'utilise constamment des machines virtuelles pour tester des scripts, pour héberger des services, pour faire des tests de déploiement, etc. J'ai pour habitude d'utiliser Proxmox dans le cadre de mon lab, et Libvirt au travail. Depuis peu, j'approfondis mes connaissances sur les clouds publiques comme AWS, GCP, Azure, etc. Et s'il y a bien une chose qui me fascine, c'est la vitesse à laquelle on peut créer une machine virtuelle. Il m'arrive d'utiliser Cloud-Init pour automatiser la créat...| une-tasse-de.cafe
Lorsque vous souhaitez ouvrir un port sur votre Livebox, celle-ci vous demande de choisir un appareil. Mais comment faire si l'appareil n'est pas dans la liste ? C'est ce que nous allons voir dans cet article.| une-tasse-de.cafe
Prometheus est une solution de supervision créée par Soundcloud en 2012 et open-sourcée en 2015. C'est un incontournable qui se démarque via l'intégration à de nombreux services tiers non supportés nativement.| Une tasse de café
Consul est un outil permettant de gérer des micro-services, de la haute-disponibilité, mais aussi la sécurité et la communication entre les services. Cette page est condensé de ce que j'ai pu apprendre sur le sujet.| Une tasse de café
Cert-Manager est un programme permettant de gérer les certificats (ainsi que leurs renouvellements) sur des clusters Kubernetes. Nous allons voir comment déployer Cert-Manager et générer nos premiers certificats| Une tasse de café
Au final ... qu'est-ce qu'un conteneur ? Nous allons voir les bases de ce qu'est un conteneur, comment sont-ils créés et comment les utiliser. Nous verrons aussi comment utiliser LXC pour créer un conteneur.| une-tasse-de.cafe