summaryrefslogtreecommitdiff
path: root/docs/PHASE_EXECUTION_PLAN.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/PHASE_EXECUTION_PLAN.md')
-rw-r--r--docs/PHASE_EXECUTION_PLAN.md37
1 files changed, 20 insertions, 17 deletions
diff --git a/docs/PHASE_EXECUTION_PLAN.md b/docs/PHASE_EXECUTION_PLAN.md
index 4774f94..fcc5cef 100644
--- a/docs/PHASE_EXECUTION_PLAN.md
+++ b/docs/PHASE_EXECUTION_PLAN.md
@@ -11,7 +11,7 @@ This document defines the three-phase modernization plan for the CrashOverBurn w
- Minimal website (static HTML)
**Target State:**
-- Modernized Nix flake deployment
+- Enhanced nixinate deployment with validation
- Self-hosted Git hosting (cgit + gitolite)
- Full website deployment at nixtaml.tech
- Two documented Git repositories
@@ -22,12 +22,12 @@ This document defines the three-phase modernization plan for the CrashOverBurn w
### Objectives
-1. **Replace nixinate with pure flake deployment**
- - Remove nixinate dependency from inputs
- - Add deployment helpers per common-infra-strategies.md
- - Enable `nixos-rebuild --flake .#<host>` workflow
+1. **ENHANCE nixinate deployment** (NOT replace!)
+ - Retain nixinate - it is the bleeding edge of correct deployment
+ - Add additional validation steps
+ - Add deployment helper apps
-2. **Validate flake builds**
+2. **Validate flake builds before deployment**
- `nix flake check`
- `nix build .#nixosConfigurations.crash-over-burn-1.config.system.build.toplevel`
@@ -35,15 +35,17 @@ This document defines the three-phase modernization plan for the CrashOverBurn w
### Tasks
-- [ ] Remove `nixinate` from flake.nix inputs
-- [ ] Add `deploy-crash-over-burn-1` app to flake/apps
+- [ ] **KEEP nixinate** - DO NOT REMOVE
+- [ ] Verify nixinate configuration in flake.nix (_module.args)
- [ ] Test `nix flake check` passes
-- [ ] Test build produces valid system derivation
+- [ ] Test build produces valid system derivation: `nix build .#nixosConfigurations.crash-over-burn-1.config.system.build.toplevel`
+- [ ] Add validation app to flake/apps (pre-deploy check)
- [ ] Document deployment workflow in docs/deployment.md
-- [ ] Create deploy script in docs/scripts/deploy.sh
+- [ ] Document nixinate usage and configuration
### Dependencies
+- nixinate (existing - KEEP)
- nixpkgs (existing)
- secrix (existing)
@@ -51,7 +53,7 @@ This document defines the three-phase modernization plan for the CrashOverBurn w
- `nix flake check` passes without errors
- `nix build .#nixosConfigurations.crash-over-burn-1.config.system.build.toplevel` succeeds
-- Deployment via `nixos-rebuild --flake .#crash-over-burn-1 --target-host user@host` works
+- Deployment via nixinate (nix run .#crash-over-burn-1) works
---
@@ -61,7 +63,7 @@ This document defines the three-phase modernization plan for the CrashOverBurn w
1. **Verify cgit + gitolite deployment**
- Test cgit web interface at code.crashoverburn.com
- - Test git push over SSH to git@cgit.,crashoverburn.com
+ - Test git push over SSH to git@code.crashoverburn.com
- Verify gitolite serves repositories
2. **Create nixtaml repository**
@@ -160,10 +162,10 @@ This document defines the three-phase modernization plan for the CrashOverBurn w
```
Phase 1 ──────────────► Phase 2 ──────────────► Phase 3
(Deploy Modernization)│ (Git Hosting) │ (Website)
-• Remove nixinate │• Verify cgit │• DNS for nixtaml.tech
-• Add deploy helpers │• Create nixtaml │• Configure nginx
-• Test flake build │• Create nixtaml-site │• ACME cert
-• Document deploy │ │• Deploy hook
+• Enhance nixinate │• Verify cgit │• DNS for nixtaml.tech
+• Validate builds │• Create nixtaml │• Configure nginx
+• Document deploy │• Create nixtaml-site │• ACME cert
+ │ │• Deploy hook
```
---
@@ -173,4 +175,5 @@ Phase 1 ──────────────► Phase 2 ──────
- Secrets are encrypted via age (files in `secrets/`)
- Deployment target: 193.16.42.36 (SSH on port 1108)
- Deployment user: commander
-- State persisted in `/persist/` (per service configs) \ No newline at end of file
+- State persisted in `/persist/` (per service configs)
+- **nixinate is the correct deployment tool - never replace it** \ No newline at end of file