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