111 Commits
Author SHA1 Message Date
Jérôme Petazzoni f9caa38dd4 Bump up k8s old version
We had to bump up kubeadm configuration version (from v1beta3 to v1beta4), and v1beta4 doesn't work with k8s 1.28, which is used for "oldversion" clusters. So we're bumping these to 1.31.
2026-06-16 14:33:36 +02:00
Jérôme Petazzoni ea7b36bb6c 🔧 Tweak talos special mode
Correctly install kubectl; talosctl; talosctl completion
2026-06-09 17:36:13 +02:00
Jérôme Petazzoni 035678da48 Bump up Helm and Cilium; fix kubectl apply -f-
On some versions of pssh, if we use kubectl apply -f- but
nothing is connected to stdin, we get errors. So execute
cat instead of kubectl apply -f- when needed.
2026-06-09 16:29:44 +02:00
Jérôme Petazzoni bdf7bb212d Revert b386166008 2026-06-08 17:44:28 +02:00
Jérôme Petazzoni c1971aa30b 🏭️ Replace Weave with Cilium
Initially we were using Weave because it was super easy to
install (single kubectl apply -f command), but we now have
multiple problems:
- it is not maintained anymore
- its network policy controller seems to have subtle bugs
  (I had multiple classes in 2026 where we ran into policies
  that didn't work as intended, but worked fine when trying
  on another cluster that used Cilium)
- it doesn't support IPV6

We did a test run with Cilium on a few IPv6-only clusters.
It worked fine. Then a test run on dual stack clusters.
Now we're using Cilium on all kubeadm clusters (removing
support for Weave) and we've updated all materials to
either remove or update mentions to Weave.
2026-06-08 15:33:00 +02:00
Jérôme Petazzoni 8a31ab8298 🔎 Clarify Hetzner available VM sizes 2026-06-08 14:17:00 +02:00
Jérôme Petazzoni 45f8e66876 Bump up sealed secrets version; add crictl to kubeadm VMs 2026-06-08 14:16:19 +02:00
Jérôme Petazzoni 517d9d062e 🔧 Tweak konk for bare metal Talos setups 2026-05-29 20:12:24 +02:00
Jérôme Petazzoni c9dac8f050 ️ Add special Talos-on-OpenStack hack 2026-05-29 20:12:01 +02:00
Jérôme Petazzoni b386166008 🔧 Fix vcluster deployment scripts for bare metal Talos 2026-05-29 20:11:23 +02:00
Jérôme Petazzoni 8c253e7773 ♻️ Update Hetzner instance type
cpx instances aren't available in Europe, so let's switch to cx instead.
2026-05-25 17:52:22 +02:00
Jérôme Petazzoni c3faf56a59 Bump up Scaleway root volume size
The default seems to be 10G and that's a bit too low
2026-05-12 16:06:29 +02:00
Jérôme Petazzoni fc47f0c49b Upgrade Scaleway VM config for provider updates
enable_ipv6 doesn't exist anymore, and public IP address needs to
be retrived from a list of addresses
2026-05-12 16:01:45 +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 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
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 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 0beaf2f1f2 🛜 Generate HAProxy configuration for Proxmox IPv6 scenario 2025-11-17 15:31:25 +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
Jérôme Petazzoni 1dea1acaa0 🛠️ Improve Proxmox support
The first iteration on Proxmox support relied on a single
template image hosted on shared storage. This new iteration
relies on template images hosted on local storage. It will
detect the template VM to use on each node thanks to its tags.

Note: later, we'll need to expose an easy way to switch
between shared-store and local-store template images.
2025-11-09 19:50:07 +01:00
Jérôme Petazzoni 7e891faadd 🛜 Bring IPv6 support to kubeadm deployments
Multiple small changes to allow deployment in IPv6-only environments.
What we do:
- detect if we are in an IPv6-only environment
- if yes, specify a service CIDR and listening address
  (kubeadm will otherwise pick the IPv4 address for the API server)
- switch to Cilium
Also minor changes to pssh and terraform to handle pinging and
connecting to IPv6 addresses.
2025-11-09 19:50:07 +01:00
Jérôme Petazzoni 39a71565a0 🔧 Replace hyperkube with kube-apiserver
Hyperkube isn't available anymore, so the previous version of
the script would constantly redownload the tarball over and over
2025-11-04 07:46:27 +01:00
Jérôme Petazzoni f25abf663b 🛠️ Improve AWS EKS support
- detect which EKS version to use
  (instead of hard-coding it in the TF config)
- do not issue a CSR on EKS
  (because EKS is broken and doesn't support it)
- automatically install a StorageClass on EKS
  (because the EBS CSI addon doesn't install one by default)
- put EKS clusters in the default VPC
  (instead of creating one VPC per cluster,
  since there is a default limit of 5 VPC per region)
2025-10-25 11:26:13 +02:00
Jérôme Petazzoni 6d8ae7132d ️ Improve googlecloud support
- add support to provision VMs on googlecloud
- refactor the way we define the project used by Terraform
  (we'll now use the GOOGLE_PROJECT environment variable,
  and if it's not set, we'll set it automatically by getting
  the default project from the gcloud CLI)
2025-10-24 10:46:54 +02:00
Jérôme Petazzoni 25576a570f ♻️ Update vcluster Helm chart; improve konk script
It is now possible to have multiple konk clusters in parallel,
thanks to the KONKTAG environment variable.
2025-10-01 16:44:11 +02:00
Jérôme Petazzoni 0e4d7df9fc Update Terraform Helm provider to 3.X 2025-06-27 17:40:10 +02:00
Jérôme Petazzoni 4896a91bd4 🔧 Tweak portal VM size to use GP4 (GP2 is deprecated) 2025-05-22 15:38:27 +02:00
Jérôme Petazzoni 4de3c303a6 🐞 Don't query when overwriting partial zip download
Thanks @swacquie for that one
2025-05-05 19:04:52 +02:00
Jérôme Petazzoni dcf218dbe2 🐞 Fix webssh python version 2025-04-28 10:07:55 +02:00
Jérôme Petazzoni 43ff815d9f 🐞 Fix tabs in logins.jsonl 2025-04-27 14:03:02 +02:00
Jérôme Petazzoni 92e61ef83b ☁️ Add nano instances for scaleway konk usecase 2025-04-27 12:53:41 +02:00
Jérôme Petazzoni 58700396f9 🐞 Fix permissions for injected kubeconfig in mk8s stage2 2025-03-23 18:27:31 -05:00
Jérôme Petazzoni 8783da014c 🐞 Handle dualstack nodes (with multiple ExternalIP) 2025-03-23 18:15:50 -05:00
Jérôme Petazzoni a05d1f9d4f ♻️ Use a variable for proxmox VM storage 2025-02-17 18:38:18 +01:00
Jérôme Petazzoni 84365d03c6 🔧 Add tags to Proxmox VMs; use linked clones by default 2025-02-17 17:28:53 +00:00
Jérôme Petazzoni 164bc01388 🛜 code-server will now also listen on IPv6 2025-02-17 17:28:01 +00:00
Jérôme Petazzoni f57bd9a072 Bump code server version 2025-02-17 12:55:24 +01:00
Jérôme Petazzoni 28ee1115ae ️ Add support to deploy kubeadm clusters on Proxmox 2025-02-05 16:28:48 +00:00
Jérôme Petazzoni 2d171594fb 🏭️ Factor out the "terraform" action; use quay for weave-kube 2025-02-05 16:22:22 +00:00
Jérôme Petazzoni 087a68c06d ♻️ Use shpod Helm chart instead of manifests; enable code-server 2025-01-27 14:59:05 +01:00
Jérôme Petazzoni b163ad0934 🐞 Don't report an error for non-first nodes codeserver 2025-01-27 11:42:47 +01:00
Jérôme Petazzoni a46476fb0d 🐞 Remove python-setuptools; bail on errors if packages are missing 2025-01-23 17:24:10 +01:00
Jérôme Petazzoni 79631603c5 ️ Add codeserver support
This adds a codeserver action, which installs code-server
and pre-installs a couple of useful extension. It also
installs a systemd user unit in the user account to run it
automatically.

The 'passwords' action has been tweaked so that it also
creates a code-server configuration file to set the password,
so that the same password can be used for SSH access and
for code-server access.
2025-01-15 19:52:12 +01:00
Jérôme Petazzoni 52e6569f47 🧹 Remove unused 'cards' action from docker settings 2025-01-15 19:48:47 +01:00
Jérôme Petazzoni 8ea09e93ee 💳 Refactor printed card generator
Cards are now credit-card sized.
The code aligning front and back should be more robust, too.
2024-11-20 02:20:26 +01:00
Jérôme Petazzoni 88fbb6f629 🏭 Store log/pass information in logins.jsonl 2024-11-20 02:18:59 +01:00