migrate-ns2-opentofu #33
35
docs/plans/bootstrap-cache.md
Normal file
35
docs/plans/bootstrap-cache.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# Plan: Configure Template2 to Use Nix Cache
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
|
||||||
|
New VMs bootstrapped from template2 don't use our local nix cache (nix-cache.home.2rjus.net) during the initial `nixos-rebuild boot`. This means the first build downloads everything from cache.nixos.org, which is slower and uses more bandwidth.
|
||||||
|
|
||||||
|
## Solution
|
||||||
|
|
||||||
|
Update the template2 base image to include the nix cache configuration, so new VMs immediately benefit from cached builds during bootstrap.
|
||||||
|
|
||||||
|
## Implementation
|
||||||
|
|
||||||
|
1. Add nix cache configuration to `hosts/template2/configuration.nix`:
|
||||||
|
```nix
|
||||||
|
nix.settings = {
|
||||||
|
substituters = [ "https://nix-cache.home.2rjus.net" "https://cache.nixos.org" ];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"nix-cache.home.2rjus.net:..." # Add the cache's public key
|
||||||
|
"cache.nixos.org-1:..."
|
||||||
|
];
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Rebuild and redeploy the Proxmox template:
|
||||||
|
```bash
|
||||||
|
nix develop -c ansible-playbook -i playbooks/inventory.ini playbooks/build-and-deploy-template.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Update `default_template_name` in `terraform/variables.tf` if the template name changed
|
||||||
|
|
||||||
|
## Benefits
|
||||||
|
|
||||||
|
- Faster VM bootstrap times
|
||||||
|
- Reduced bandwidth to external cache
|
||||||
|
- Most derivations will already be cached from other hosts
|
||||||
Reference in New Issue
Block a user