Commit Graph

2788 Commits

Author SHA1 Message Date
Jérôme Petazzoni
e0ea352b29 🔧 Tweak Kyverno lab 2026-05-05 23:05:28 +02:00
Jérôme Petazzoni
21e57d94e6 🔧 Adjust HTTP Ingress lab 2026-05-05 22:25:42 +02:00
Jérôme Petazzoni
f268a48579 📃 Update Pod Security Admission chapter
Add more details on strategies to enforce security settings.
2026-05-05 12:53:00 +02:00
Jérôme Petazzoni
f123c8b86d ️ Add AdmissionConfiguration file
For now we set to warn+audit on baseline pods,
but don't enforce any restriction yet. This way,
it shouldn't break anything, but will still issue
visible warnings for problematic pods.
2026-05-05 11:23:28 +02:00
Jérôme Petazzoni
4334645566 ️ Add ArgoCD advanced content
App of Apps; AppSets
2026-05-04 18:28:39 +02:00
Jérôme Petazzoni
cba56033b4 🔧 Tweak advanced Ingress lab 2026-05-04 15:43:35 +02:00
Jérôme Petazzoni
ac7149e196 ️ Add combo exercise with Helm, Ingress, Gateway API 2026-05-04 13:50:31 +02:00
Jérôme Petazzoni
0b99d0ba4d ️ Add a small chapter about KinD with some tips and tricks 2026-05-04 12:32:04 +02:00
fccagou
b17a14a077 typo: ingress
Signed-off-by: fccagou <me@fccagou.fr>
2026-05-04 09:56:07 +02:00
Jérôme Petazzoni
215e7d9628 🐞 Update DaemonSet chapter to correctly remove spec.strategy
Thanks @fccagou for noticing this!

(Closes #684)
2026-05-04 09:54:20 +02:00
Jérôme Petazzoni
528f687898 ♻️ Update konk machine type
vcluster deployment mode needs 2 volumes per cluster (one for the
control plane, one for shpod), so we're switching to a smaller
machine type since that's quickly becoming the limiting factor
rather than CPU/RAM.
2026-04-30 10:50:01 +02:00
Jérôme Petazzoni
6f125e901d 📦️ Add gron to VM installs 2026-04-30 10:48:34 +02:00
Jérôme Petazzoni
b49e994b49 ♻️ Update consul images 2026-04-06 14:39:47 -05:00
Jérôme Petazzoni
bf72b6f25b ♻️ Rename another Compose file 2026-04-06 14:31:04 -05:00
Jérôme Petazzoni
a02e0ef1dd kubectl auth whoami 2026-04-06 14:29:43 -05:00
Natasha
3648346dab readme update 2026-04-05 16:55:40 +02:00
Jérôme Petazzoni
477bc28f66 🔧 Use 'create' instead of 'apply' to install ArgoCD
Some resources are too big to work with apply.
2026-02-16 16:31:02 +01:00
Jérôme Petazzoni
fb9e531c63 🔧 Fix Mermaid invocation
It look like commit f9d73c0 introduced a very subtle regression
by removing what seemed to be an extraneous space in a selector...
But the space was there on purpose, so it had actually broken
Mermaid integration. This fixes it, hopefully in a way that won't
be affected the same way!
2026-02-16 16:29:28 +01:00
Jérôme Petazzoni
ae776d71ba ️ Add a couple of new-style Kyverno policies
Eventually, we should rewrite all Kyverno policies to replace
the old-style ones (ClusterPolicy) with the new ones and use CEL.
2026-02-16 15:59:43 +01:00
Hadrien DEVALLEZ
3e14209060 fix(prepare-labs): change cdn.dl.k8s.io to dl.k8s.io 2026-02-16 13:23:15 +01:00
Hadrien DEVALLEZ
8a331246f9 prepare-labs: bump kustomize to v5.8.1 2026-02-16 12:28:47 +01:00
Jérôme Petazzoni
8ba96380b7 🔧 Disable threading in flask debug server
For educational purposes, the RNG service is meant to
process only one request at a time (without concurrency).
But the flask server now defaults to a multi-threaded
implementation, which defeats our original purpose.
So here we disable threading to restore the original
behavior.
2026-01-30 13:00:01 +01:00
Olivier Delhomme
4311a09ccd 🔧 updates documentation links that changed 2026-01-28 15:31:00 +01:00
Jérôme Petazzoni
feb0a8cdb9 Use multiple # in included files' comments
...otherwise that causes side effects with the TOC generator 🙈
2026-01-27 08:50:23 +01:00
Jérôme Petazzoni
302924db40 🔧 Bump up vcluster version to work around weird bug
(Probably due to K8S version mismatch; vcluster was on 1.33 and the
host cluster was on 1.35. Symptoms: some pods start, all their
containers are ready, the pod shows up as ready, and yet, it's not
considered ready so the deployment says 0/1 and Helm never completes.)
2026-01-27 08:49:04 +01:00
Jérôme Petazzoni
4c2a7c6696 ⚙️ Remove academy builder script 2026-01-14 19:37:58 +01:00
Jérôme Petazzoni
a1f75a4e74 🔗 Add link to color source code 2026-01-14 18:07:55 +01:00
Jérôme Petazzoni
8dd674ec4b 🏭️ Refactor Kyverno chapter
- split out the kyverno 'colors' policies
- add a concrete example about conflicting ingress resources
2026-01-14 16:42:14 +01:00
Jérôme Petazzoni
93ad45da9b 🏭️ Refactor Services sections
Make the content suitable to both live classes and recorded content
2025-12-14 19:22:42 -06:00
Jérôme Petazzoni
01b2456e03 Add detailed section about taints and tolerations 2025-12-14 19:21:27 -06:00
Jérôme Petazzoni
942f20812b 🏭️ Refactor content about Ingress Controllers
The section about Ingress has been both simplified (separating
the content about taints and tolerations) and made somewhat
deeper, to make it more compatible with both live classes and
recorded videos.

A new section about setting up Ingress Controllers has been
added.
2025-12-14 19:19:16 -06:00
Jérôme Petazzoni
a44701960c Add ExternalDNS chapter
Based on what I did with Linode a few years ago,
but updated as ExternalDNS conventions have evolved.
2025-12-11 16:58:33 -06:00
Jérôme Petazzoni
34f3976777 🔧 Labs chapter shouldn't get its TOC entry 2025-12-11 12:41:12 -06:00
Jérôme Petazzoni
ba376feb10 🏭️ Big refactoring of December 2025
The structure of each deck should now be:
- title slide
- logistics (for live classes)
- chat room info (for live classes)
- shared/about-slides
- */prereqs* (when relevant; mostly k8s classes)
- shared/handson
- */labs-live (for live classes)
- shared/connecting (for live classes)
- */labs-async
- toc

This is more uniform across the different courses
(live and async; containers and K8S).
2025-12-10 19:46:14 -06:00
Jérôme Petazzoni
e8e2123457 📃 Make it easier to serve single markdown files 2025-12-04 12:58:01 -06:00
dependabot[bot]
f9d73c0a1e Bump path-to-regexp and express in /slides/autopilot
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) to 0.1.12 and updates ancestor dependency [express](https://github.com/expressjs/express). These dependencies need to be updated together.


Updates `path-to-regexp` from 0.1.10 to 0.1.12
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.10...v0.1.12)

Updates `express` from 4.21.1 to 4.21.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.1...4.21.2)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 17:34:10 +01:00
Jérôme Petazzoni
5ec84efa50 ️ Add small CNPG section 2025-11-19 19:27:33 +01:00
Zefiro Anthragon
bd36e965ee Fix typo in Training_Environment.md 2025-11-18 13:26:19 +01:00
Jérôme Petazzoni
17eb4efa3b 🐞 Refer to correct Traefik manifest in cert-manager chapter 2025-11-17 17:23:45 +01:00
Jérôme Petazzoni
c5c0f80b01 🔧 Tweak info about Gateway API 2025-11-17 17:20:14 +01:00
Jérôme Petazzoni
aa815a53fc 🔧 Tweak Grafana chapter 2025-11-17 17:05:46 +01:00
Jérôme Petazzoni
0beaf2f1f2 🛜 Generate HAProxy configuration for Proxmox IPv6 scenario 2025-11-17 15:31:25 +01:00
Jérôme Petazzoni
cf3ce21eec ️ Add Dockerfile example before starting to write our own 2025-11-12 17:11:22 +01:00
Jérôme Petazzoni
66dadf3c60 🔎 Clarify use of local Docker 2025-11-12 16:40:15 +01:00
Jérôme Petazzoni
80476c8323 🖼️ Add Docker architecture diagram 2025-11-12 16:34:54 +01:00
Jérôme Petazzoni
a8797b1f80 ♻️ Update instructions about lab environments
The link to Play With Docker was broken. Also, since PWD was
out of capacity, I also added a link to KodeKloud.
2025-11-12 16:19:04 +01:00
Jérôme Petazzoni
890b76e119 🚢 Add small hands-on chapter about Harbor 2025-11-11 18:13:05 +01:00
Jérôme Petazzoni
570ec8b25e 🛜 Make it work for hosts without IPv4 connectivity
Note that we install a TON of things from GitHub.
Since GitHub isn't available over IPv6, we are using
a custom solution based on cachttps, a caching
proxy to forward requests to GitHub. Our deployment
scripts try to detect a cachttps instance (assuming
it will be available through DNS over cachttps.internal)
and if they find one, they use it. Otherwise they
access GitHub directly - which won't work on IPv6-only
hosts, but will of course work fine on IPv4 and
dual-stack hosts.
2025-11-11 18:10:32 +01:00
Jérôme Petazzoni
de1d7430fd 🔧 Enable hostPort support in Cilium install 2025-11-11 11:08:43 +01:00
Jérôme Petazzoni
bc97f8c38c 🛜 Support AAAA records in cloudflare DNS scripts 2025-11-11 11:07:47 +01:00