163-day current streak·188-day longest streak
<!-- Generated by build.py from README-TEMPLATE.j2 — do not edit README.md by hand. Every widget here is either a static asset committed in this repository or a shields.io badge reflecting…
<!--
Generated by build.py from README-TEMPLATE.j2 — do not edit README.md by hand.
Every widget here is either a static asset committed in this repository or a
shields.io badge reflecting real state. No third-party stats service: they
break, and a broken supply chain on a DevSecOps profile argues against its
owner.
-->
I am Stéphane ROBERT, infrastructure engineer at Outscale France, working from Yffiniac in Brittany, France.
I spend my days hardening pipelines and my evenings writing about it. Everything I learn ends up in one of two places: a free tutorial on my blog, or a lab you can actually run from one of the repositories below. Nothing here is a demo that only works on my laptop.
---
🧪 dsoxlab — a CLI framework for hands-on DevSecOps labs
The problem: most hands-on labs grade you on the commands you typed. Real exams — RHCSA, LFCS — grade the state of the machine, after a reboot. That gap is exactly where candidates fail.
dsoxlab is a domain-agnostic CLI framework driving training labs that live in their own repositories. Each catalog declares itself through a root meta.yml and one lab.yaml per lab, so adding a domain means writing a file, not patching the engine.
- Validation proves, it does not trust. Labs are graded on the actual state of the system with
pytest-testinfra, including persistence after reboot. - Three runtimes. A plain shell, an Incus container, or a full KVM/libvirt virtual machine — chosen per lab.
- Progress that sticks. Scores, hint costs and history persisted in a local SQLite database, XDG-compliant.
- Bilingual by design. Every user-facing string ships in English and French (
DSOXLAB_LANG=en|fr).
bash
git clone https://github.com/stephrobert/dsoxlab.git && cd dsoxlab
uv tool install --editable .
dsoxlab doctor # diagnoses (and repairs) the local toolchain
git clone https://github.com/stephrobert/linux-dsoxlab-training.git && cd linux-dsoxlab-training
dsoxlab list-labs # the active catalog is detected from the repo's meta.yml
---
📝 Latest from the blog
Free, in French, and updated far more often than this README. Roughly a hundred articles and a full DevOps course live at blog.stephane-robert.info.
- Quand vos dépôts GitHub deviennent l'infrastructure d'attaque d'un autre 2026-07-23
- Mes extensions Visual Studio Code préférées pour le DevOps 2026-07-23
- Une usine logicielle sécurisée sur Incus, pas sur Kubernetes 2026-07-06
- AWX n'a plus de release depuis deux ans : le risque et la solution 2026-07-03
- Chainguard Actions : une excellente initiative pour durcir vos GitHub Actions 2026-07-02
---
🔐 Supply chain & compliance tooling
- secure-python-pipeline
Python— Lab : API Python avec pipeline CI/CD securise (supply chain, SLSA, SBOM, cosign)
🎓 Free training catalogs
Self-hosted, runnable, no signup wall.
- linux-dsoxlab-training ★ 24 — Linux DevSecOps training (RHCSA + LFCS) driven by the dsoxlab CLI
- containers-training ★ 160 — Formation Conteneurisation Gratuite
- ansible-training ★ 110 — Une formation Ansible complète
- python-training ★ 41 — Une formation Python pour les Admin Sys
- github-actions-training ★ 5 — Hands-on training repository.
🛠️ What I actually use
| | |
|---|---|
| Infrastructure as code | Terraform · OpenTofu · Pulumi · Packer · Vagrant |
| Configuration | Ansible · Chef / CINC · InSpec |
| Runtime | Kubernetes · Talos · K3s · Docker · Incus · KVM/libvirt |
| CI/CD | GitHub Actions · GitLab CI · Dagger |
| Supply chain | SLSA · SBOM · Cosign · Sigstore · Trivy · OpenSSF Scorecard · Semgrep |
| Observability | Prometheus · Grafana · Loki |
| Languages | Python · Go · Shell · HCL |
| Cloud | Outscale · AWS · GCP |
Why this page has no stats widget
Because the popular ones stopped working. github-readme-stats has been returning HTTP 503 since June 2026 and is no longer maintained; github-profile-trophy answers 402 and now relies on sixteen volunteer mirrors. Thousands of profiles are quietly displaying broken images right now — including, at the time of writing, its own author's.
Everything on this page is either a static SVG committed in this repository or a shields.io badge reflecting real state: a CI run, a release tag, an OpenSSF Scorecard rating. The counters at the top are computed from the GitHub API by [build.py](build.py) and committed by [a scheduled workflow](.github/workflows/update.yml).
On a profile about supply chain security, not hotlinking someone else's free Vercel deployment seemed like the least I could do.
Rendered by build.py from README-TEMPLATE.j2 · refreshed daily by GitHub Actions
-
stephrobert ★ PINNED
No description.
Jinja ★ 21 1h agoExplain → -
containers-training ★ PINNED
Formation Conteneurisation Gratuite
MDX ★ 160 1y agoExplain → -
ansible-training ★ PINNED
Une formation Ansible complète
Python ★ 110 13h agoExplain → -
python-training ★ PINNED
Une formation Python pour les Admin Sys
Python ★ 41 1y agoExplain → -
dsoxlab ★ PINNED
DevSecOps XL Labs — a domain-agnostic CLI framework to drive hands-on learning labs across multiple repositories
Python ★ 52 11h agoExplain → -
linux-dsoxlab-training ★ PINNED
Linux DevSecOps training (RHCSA + LFCS) driven by the dsoxlab CLI
Python ★ 24 19h agoExplain → -
awesome-french-devops ▣
Une liste de liens permettant de se former aux outils utilisés dans le domaine du Devops
★ 1.6k 2y agoExplain → -
linux-training ▣
Formation Linux Gratuite
Python ★ 89 1y agoExplain → -
ansible-snippets
Stephane ROBERT Ansible Snippets for VScode
★ 23 3y agoExplain → -
homelab-devops
A Devops HomeLab
Jinja ★ 21 2y agoExplain → -
ansible-role-openscap
Role Ansible Openscap
Python ★ 17 1y agoExplain → -
arsenal-devops-cheats
Files to extend Arsenal with Cheats on Devops Tools
★ 13 2y agoExplain → -
my-vagrant-box
No description.
Shell ★ 11 7mo agoExplain → -
CKASandBox
No description.
Jinja ★ 10 1y agoExplain → -
ansible-aisnippet
Generate ansible tasks with chatGPT
Python ★ 8 7mo agoExplain → -
github-actions-training
No description.
Python ★ 5 2mo agoExplain → -
ImageValidator
Un outil Python pour valider les images de VM avant déploiement sur Outscale, AWS et autres clouds: drivers, configurations, services ... .
Python ★ 5 8mo agoExplain → -
ansible-role-bootstrap
Prepare your system to be managed by Ansible
Python ★ 4 8mo agoExplain → -
plumber ⑂
Open source CLI to check compliance of your GitLab CI/CD pipelines and repos
Go ★ 3 3d agoExplain → -
talos-outscale
No description.
HCL ★ 3 7mo agoExplain → -
lab-observability
No description.
Shell ★ 2 5mo agoExplain → -
ansible-role-sshd
No description.
Jinja ★ 2 1y agoExplain → -
ansible-role-motd
No description.
Shell ★ 2 1y agoExplain → -
k3sSandbox
No description.
★ 2 2y agoExplain → -
ansible-gendoc ⑂
Auto generate Ansible documentation
★ 2 3y agoExplain → -
nomad
No description.
HCL ★ 2 4y agoExplain → -
ansible-role-asdf
No description.
Python ★ 2 2y agoExplain → -
test-sigstore
No description.
Dockerfile ★ 1 3mo agoExplain → -
nixos-vm
No description.
Nix ★ 1 7mo agoExplain → -
test-awx
No description.
★ 1 4y agoExplain → -
test-awx-workflow
No description.
HCL ★ 1 4y agoExplain → -
maintenant ⑂
Drop a container. Your stack is monitored.
★ 0 20h agoExplain → -
ansible-role-lynis
No description.
Python ★ 0 2d agoExplain → -
scankit
Shared Go library: terminal presentation, SARIF, findings and A-E scoring for security tooling
Go ★ 0 5d agoExplain → -
secure-python-pipeline
Lab : API Python avec pipeline CI/CD securise (supply chain, SLSA, SBOM, cosign)
Python ★ 0 11h agoExplain → -
confkit
confkit — effective-config compliance scanner (CINC/InSpec), graded A–E, multi-standard (CIS / ANSSI-BP-028 / NIST / PCI-DSS)
★ 0 29d agoExplain → -
vagrant-puppet-master-agent
Installation of Puppet environnement with vagrant on Linux Host for développement
Ruby ★ 0 3y agoExplain → -
asdf-regula
No description.
Shell ★ 0 4y agoExplain →
No repos match these filters.