Repository for AFNix-managed infrastructure https://hydra.afnix.fr/project/infra
Find a file
Raito Bezarius b9ac384ca4 deployment: move to Arcana
Arcana is a Colmena fork with new features: boolean logic to select
hosts, activation servers and so on.

AFNix makes use of those to manage the large infrastructure.

Change-Id: I26141e17ad80f1c32c9da5d6a6cfa23317078933
Signed-off-by: Raito Bezarius <raito@afnix.fr>
2025-11-10 02:49:57 +01:00
arcana deployment: move to Arcana 2025-11-10 02:49:57 +01:00
common floral: rename bagel-box -> flower-box 2025-11-08 22:54:46 -05:00
dashboards feat(grafana): plug jsonnet-based dashboards in provisioning 2024-08-24 16:32:21 +02:00
dnscontrol floral: rename bagel-box -> flower-box 2025-11-08 22:54:46 -05:00
hosts floral: rename bagel-box -> flower-box 2025-11-08 22:54:46 -05:00
lib deployment: move to Arcana 2025-11-10 02:49:57 +01:00
macos/mdm-scripts macos: add mdm scripts 2025-10-13 15:12:23 +02:00
netboot/arm64 feat: introduce ARM64 baremetal nodes 2025-02-12 22:30:45 +01:00
overlays mariadb: Remove pam modules 2025-10-15 12:46:00 +02:00
pki feat(systems): trust our infra chain on all systems 2025-01-01 03:43:13 +01:00
secrets secrets/afnix: rekey for lanzaboote CI for build01-ams01 2025-11-04 23:01:26 +00:00
services floral: rename bagel-box -> flower-box 2025-11-08 22:54:46 -05:00
terraform terraform/afnix/superadmin/buildkite: use the right repository 2025-11-02 00:34:48 +01:00
vm vm/lim01/n64gw01: enable SNI for Gerrit SSH port 2025-11-04 23:18:27 +01:00
.editorconfig editorconfig: init 2024-07-13 01:10:18 +00:00
.envrc chore: add lorri to prevent direnv from blocking, closes #147 2024-10-27 09:42:11 +00:00
.gitattributes feat(secrets): flag .age secret blobs as binary 2025-02-25 17:30:56 +01:00
.gitignore gitignore: fix exclusion pattern for per-tenant secrets 2025-07-30 14:03:47 +02:00
baremetal-nodes.nix hosts/floral: wob01 → ams01 2025-11-01 20:01:30 +01:00
builders.nix hydra: configure machines via /etc 2025-03-23 00:48:10 +01:00
default.nix feat: sign the ICA1 CSR 2024-12-31 17:50:23 +01:00
flake.lock deployment: move to Arcana 2025-11-10 02:49:57 +01:00
flake.nix deployment: move to Arcana 2025-11-10 02:49:57 +01:00
LICENSE Initial commit 2024-06-23 06:41:53 +02:00
README.md deployment: move to Arcana 2025-11-10 02:49:57 +01:00
renovate.json renovate: enable lock file maintenance settings 2025-09-08 08:22:16 +02:00
secrets.nix floral: rename bagel-box -> flower-box 2025-11-08 22:54:46 -05:00
tasks.py flake: add high level invoke script 2025-11-01 20:01:13 +01:00

Infrastructure for the donut shaped thing that is absolutely not a donut.

Quick start

Enter our dev-shell for things like our arcana wrapper, secrets helper and required binaries:

$ nix develop

Build the infrastructure

$ arcana build --on @localboot

Notice that @localboot is load-bearing as we have some machines that cannot be deployed with vanilla arcana. Fixing this is welcome.

$ arcana apply dry-activate $machine # Verify that the nvd log is reasonable.
$ arcana apply $machine
$ nix flake update
$ arcana apply dry-activate --on @localboot # Verify that the nvd log is reasonable. Run it twice to get only NVD logs shown.
$ arcana apply --on @localboot

Deploy the Terraform infrastructure

$ vault-login
$ eval "$(get-secrets)"
$ nix run .#tf -- plan # Vanilla Terraform from there.
$ nix run .#tf -- apply

Make changes to DNS via dnscontrol

$ vault-login
$ eval "$(get-secrets)"
$ cd dnscontrol
$ dnscontrol preview # preview the changes without applying them
$ dnscontrol push # apply changes

Troubleshooting

I failed to deploy gerrit01

Our Gerrit source build is known to have some hiccups sometimes, we are always interested in build logs, feel free to attach information in a new issue so we can make it more reliable.

get-secrets fails

Are you a floral-admin ? If not, please get in touch with one of the superadmins.