Torjus Håkestad 6f7aee3444
Some checks failed
Run nix flake check / flake-check (pull_request) Failing after 1m20s
Run nix flake check / flake-check (push) Failing after 1m54s
bootstrap: implement automated VM bootstrap mechanism for Phase 3
Add systemd service that automatically bootstraps freshly deployed VMs
with their host-specific NixOS configuration from the flake repository.

Changes:
- hosts/template2/bootstrap.nix: New systemd oneshot service that:
  - Runs after cloud-init completes (ensures hostname is set)
  - Reads hostname from hostnamectl (set by cloud-init from Terraform)
  - Checks network connectivity via HTTPS (curl)
  - Runs nixos-rebuild boot with flake URL
  - Reboots on success, fails gracefully with clear errors on failure

- hosts/template2/configuration.nix: Configure cloud-init datasource
  - Changed from NoCloud to ConfigDrive (used by Proxmox)
  - Allows cloud-init to receive config from Proxmox

- hosts/template2/default.nix: Import bootstrap.nix module

- terraform/vms.tf: Add cloud-init disk to VMs
  - Configure disks.ide.ide2.cloudinit block
  - Removed invalid cloudinit_cdrom_storage parameter
  - Enables Proxmox to inject cloud-init configuration

- TODO.md: Mark Phase 3 as completed

This eliminates the manual nixos-rebuild step from the deployment workflow.
VMs now automatically pull and apply their configuration on first boot.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-01 10:38:35 +01:00
2024-12-05 18:35:06 +01:00
2026-01-18 03:58:55 +01:00
2025-12-06 11:37:11 +01:00
2025-04-01 22:23:59 +02:00
2026-01-18 03:58:55 +01:00
2026-01-29 00:01:06 +00:00
2024-10-07 23:40:28 +02:00
2025-01-26 00:55:15 +01:00

nixos-servers

Nixos configs for my homelab servers.

Configurations in use

  • ha1
  • ns1
  • ns2
  • template1
Description
No description provided
Readme 2.2 MiB
Languages
Nix 56.7%
Python 22.8%
HCL 12.6%
Smarty 4%
Shell 3.2%
Other 0.7%