plausible + other fixes
This commit is contained in:
@@ -90,7 +90,6 @@ in
|
|||||||
"keycloak"
|
"keycloak"
|
||||||
"linkwarden"
|
"linkwarden"
|
||||||
"oauth2-proxy"
|
"oauth2-proxy"
|
||||||
"plausible"
|
|
||||||
"vaultwarden"
|
"vaultwarden"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,9 +9,8 @@
|
|||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../config/base.nix
|
../../config/base.nix
|
||||||
];
|
];
|
||||||
my = {
|
my = import ./toggles.nix // {
|
||||||
secureHost = true;
|
secureHost = true;
|
||||||
enableProxy = true;
|
|
||||||
users.nixremote = {
|
users.nixremote = {
|
||||||
enable = true;
|
enable = true;
|
||||||
authorizedKeys = inputs.self.lib.getSshKeys [
|
authorizedKeys = inputs.self.lib.getSshKeys [
|
||||||
|
|||||||
10
hosts/vps/toggles.nix
Normal file
10
hosts/vps/toggles.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
enableProxy = true;
|
||||||
|
servers = {
|
||||||
|
postgres.enable = true;
|
||||||
|
plausible = {
|
||||||
|
enable = true;
|
||||||
|
enableProxy = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -37,6 +37,7 @@ let
|
|||||||
"mealie"
|
"mealie"
|
||||||
"nextcloud"
|
"nextcloud"
|
||||||
"paperless"
|
"paperless"
|
||||||
|
"plausible"
|
||||||
"shiori"
|
"shiori"
|
||||||
"sonarqube"
|
"sonarqube"
|
||||||
"vaultwarden"
|
"vaultwarden"
|
||||||
|
|||||||
@@ -25,8 +25,9 @@
|
|||||||
- Update VPS public IP to `45.33.0.228` in SSH configuration
|
- Update VPS public IP to `45.33.0.228` in SSH configuration
|
||||||
- Update host server VPN client to target the new VPS
|
- Update host server VPN client to target the new VPS
|
||||||
|
|
||||||
4. Provide and review legacy proxy config:
|
4. Provide and review legacy proxy config snapshot:
|
||||||
- Supply caddy files for subdomain comparison
|
- Supply caddy files for subdomain comparison
|
||||||
|
- Treat caddy as migration input only; nginx is the only proxy target for NixOS runtime
|
||||||
|
|
||||||
## Caddy vs Nix Subdomain Comparison (from provided caddy/ directory)
|
## Caddy vs Nix Subdomain Comparison (from provided caddy/ directory)
|
||||||
|
|
||||||
@@ -64,3 +65,39 @@
|
|||||||
- Validate historical data is present
|
- Validate historical data is present
|
||||||
|
|
||||||
6. Run verification steps for each task (per spec FR-012).
|
6. Run verification steps for each task (per spec FR-012).
|
||||||
|
|
||||||
|
## Clarification Candidates From History Review
|
||||||
|
|
||||||
|
- `opentracker` was installed and enabled (`systemctl enable --now opentracker`) with firewall rules for TCP/UDP `6969`; confirm if tracker service is still required on NixOS.
|
||||||
|
- `ip6tables` was enabled on Fedora (`systemctl enable ip6tables`); confirm if equivalent IPv6 policy is required on VPS.
|
||||||
|
- `net.ipv4.conf.wg0.rp_filter=0` was set during forwarding troubleshooting; confirm if this sysctl needs to be persisted on VPS.
|
||||||
|
- Fedora-specific SELinux SSH port handling (`semanage ssh_port_t`) appears in history; confirm it can remain excluded on NixOS.
|
||||||
|
|
||||||
|
## Verification Steps
|
||||||
|
|
||||||
|
- **T001**: `test -f ./iptables && test -f ./secrets/ssh/ed25519_deploy.pub && test -f ./secrets/ssh/ed25519_lidarr-reports.pub && test -f ./secrets/wireguard.yaml`
|
||||||
|
- **T002**: verify this section exists in `/home/jawz/Development/NixOS/specs/004-vps-migration/quickstart.md`
|
||||||
|
- **T003**: `rg -n "mainServer|enableProxy" hosts/server/toggles.nix modules/modules.nix`
|
||||||
|
- **T004**: `rg -n "wireguard|wg0|services.wireguard" modules/services/wireguard.nix hosts/vps/configuration.nix`
|
||||||
|
- **T005**: `rg -n "vps|45.33.0.228|programs.ssh" config/jawz.nix modules/modules.nix`
|
||||||
|
- **T006**: `rg -n "/etc/caddy/Caddyfile.d" sudo_hist jawz_hist`
|
||||||
|
- **T007**: `rg -n 'mainServer = "vps"' hosts/server/toggles.nix modules/modules.nix`
|
||||||
|
- **T008**: `rg -n "enableProxy = true" hosts/vps/toggles.nix hosts/vps/configuration.nix hosts/server/toggles.nix`
|
||||||
|
- **T009**: ensure Caddy vs Nix comparison section remains in this file
|
||||||
|
- **T010**: `rg -n "iqQCY4iAWO-ca/pem|certPath|proxyReversePrivate" modules/network/nginx.nix modules/servers`
|
||||||
|
- **T011**: `rg -n "iptables.rules|iptables-restore|networking.firewall.enable = false" hosts/vps/configuration.nix`
|
||||||
|
- **T012**: `rg -n "services.wireguard.enable = true" hosts/vps/configuration.nix`
|
||||||
|
- **T013**: confirm `wireguard/private` exists in `secrets/wireguard.yaml`
|
||||||
|
- **T014**: `rg -n "10.77.0.1/24|10.8.0.1/24|10.9.0.1/24|AllowedIPs|allowedIPs" modules/services/wireguard.nix`
|
||||||
|
- **T015**: `rg -n "users\\.deploy|users\\.lidarr-reports|ed25519_deploy|ed25519_lidarr-reports" hosts/vps/configuration.nix`
|
||||||
|
- **T016**: `rg -n "workstation|server|deacero|galaxy" hosts/vps/configuration.nix`
|
||||||
|
- **T017**: `rg -n "ports = \\[ 3456 \\]|PermitRootLogin = \"no\"" hosts/vps/configuration.nix`
|
||||||
|
- **T018**: `rg -n "sudo-rs\\.extraRules|nixos-rebuild|nixremote" hosts/vps/configuration.nix`
|
||||||
|
- **T019**: `rg -n "nixworkstation" hosts/vps/configuration.nix`
|
||||||
|
- **T020**: `rg -n "45\\.33\\.0\\.228" modules/modules.nix config/jawz.nix`
|
||||||
|
- **T021**: `rg -n "endpoint = .*my\\.ips\\.vps" hosts/server/configuration.nix`
|
||||||
|
- **T022**: verify "Clarification Candidates From History Review" section exists in this file
|
||||||
|
- **T023**: intentionally skipped by operator for this implementation pass
|
||||||
|
- **T024**: verify each task from T001-T026 has a corresponding verification line in this section
|
||||||
|
- **T025**: `rg -n "caddy|Caddy" README.org docs || true` and confirm no active-proxy references remain outside legacy migration notes
|
||||||
|
- **T026**: `rg -n "T0[0-2][0-9]" /home/jawz/Development/NixOS/specs/004-vps-migration/tasks.md` and confirm each task mentions at least one concrete path
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Deliver MVP as User Story 1 (primary host reverse proxy + keep services on host
|
|||||||
- [x] T003 [P] Review mainServer and enableProxy options in hosts/server/toggles.nix and modules/modules.nix
|
- [x] T003 [P] Review mainServer and enableProxy options in hosts/server/toggles.nix and modules/modules.nix
|
||||||
- [x] T004 [P] Review wireguard module in modules/services/wireguard.nix and VPS host config in hosts/vps/configuration.nix
|
- [x] T004 [P] Review wireguard module in modules/services/wireguard.nix and VPS host config in hosts/vps/configuration.nix
|
||||||
- [x] T005 [P] Review SSH host/IP settings in config/jawz.nix and modules/modules.nix for vps IP updates
|
- [x] T005 [P] Review SSH host/IP settings in config/jawz.nix and modules/modules.nix for vps IP updates
|
||||||
- [x] T006 [P] Review caddy file list references in jawz_hist and sudo_hist to prepare subdomain comparison inputs
|
- [x] T006 [P] Review caddy file list references in ./jawz_hist and ./sudo_hist to prepare subdomain comparison inputs
|
||||||
|
|
||||||
## Phase 3: User Story 1 (P1) - Primary VPS reverse proxy
|
## Phase 3: User Story 1 (P1) - Primary VPS reverse proxy
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ Deliver MVP as User Story 1 (primary host reverse proxy + keep services on host
|
|||||||
- [x] T014 [US3] Update wireguard peer configuration in modules/services/wireguard.nix using sops secrets refs for public/private keys (no plaintext)
|
- [x] T014 [US3] Update wireguard peer configuration in modules/services/wireguard.nix using sops secrets refs for public/private keys (no plaintext)
|
||||||
- [x] T015 [US3] Add service users and groups deploy and lidarr-reports with authorized_keys in hosts/vps/configuration.nix using secrets/ssh/ed25519_deploy.pub and secrets/ssh/ed25519_lidarr-reports.pub
|
- [x] T015 [US3] Add service users and groups deploy and lidarr-reports with authorized_keys in hosts/vps/configuration.nix using secrets/ssh/ed25519_deploy.pub and secrets/ssh/ed25519_lidarr-reports.pub
|
||||||
- [x] T016 [US3] Add admin SSH authorized_keys for workstation, server, deacero, galaxy in hosts/vps/configuration.nix
|
- [x] T016 [US3] Add admin SSH authorized_keys for workstation, server, deacero, galaxy in hosts/vps/configuration.nix
|
||||||
- [x] T017 [US3] Configure sshd port and auth settings in config/base.nix to match: Port 3456, PermitRootLogin no, PasswordAuthentication no, AuthorizedKeysFile .ssh/authorized_keys
|
- [x] T017 [US3] Configure sshd port and auth settings in hosts/vps/configuration.nix to match: Port 3456, PermitRootLogin no, PasswordAuthentication no
|
||||||
- [x] T018 [US3] Harden remote rebuild access by switching to a non-root SSH user for rebuilds (nixremote) and requiring sudo for nixos-rebuild in hosts/vps/configuration.nix and modules/users/nixremote.nix
|
- [x] T018 [US3] Harden remote rebuild access by switching to a non-root SSH user for rebuilds (nixremote) and requiring sudo for nixos-rebuild in hosts/vps/configuration.nix and modules/users/nixremote.nix
|
||||||
- [x] T019 [US3] Restrict SSH access for remote rebuilds by limiting allowed users/keys for nixremote (update inputs.self.lib.getSshKeys list in hosts/vps/configuration.nix)
|
- [x] T019 [US3] Restrict SSH access for remote rebuilds by limiting allowed users/keys for nixremote (update inputs.self.lib.getSshKeys list in hosts/vps/configuration.nix)
|
||||||
- [x] T020 [US3] Update VPS IP to 45.33.0.228 in modules/modules.nix and config/jawz.nix SSH host entry
|
- [x] T020 [US3] Update VPS IP to 45.33.0.228 in modules/modules.nix and config/jawz.nix SSH host entry
|
||||||
@@ -63,14 +63,14 @@ Deliver MVP as User Story 1 (primary host reverse proxy + keep services on host
|
|||||||
|
|
||||||
**Independent test criteria**: Clarification list exists and each task has a verification step.
|
**Independent test criteria**: Clarification list exists and each task has a verification step.
|
||||||
|
|
||||||
- [ ] T022 [US4] Review sudo_hist and jawz_hist for missing configuration; record clarification list in specs/004-vps-migration/quickstart.md
|
- [x] T022 [US4] Review sudo_hist and jawz_hist for missing configuration; record clarification list in specs/004-vps-migration/quickstart.md
|
||||||
- [ ] T023 [US4] Document analytics data migration steps (export, import, validate) in specs/004-vps-migration/quickstart.md
|
- [ ] T023 [US4] Document analytics data migration steps (export, import, validate) in specs/004-vps-migration/quickstart.md
|
||||||
- [ ] T024 [US4] Add verification steps for each task in specs/004-vps-migration/quickstart.md
|
- [x] T024 [US4] Add verification steps for each task in specs/004-vps-migration/quickstart.md
|
||||||
|
|
||||||
## Phase 7: Polish & Cross-Cutting Concerns
|
## Phase 7: Polish & Cross-Cutting Concerns
|
||||||
|
|
||||||
- [ ] T025 [P] Update any references to old VPS proxy logic (caddy) to ensure nginx is the only proxy in documentation (README.org or docs/ if applicable)
|
- [x] T025 [P] Update references to old VPS proxy logic (caddy) to ensure nginx is the only runtime proxy in README.org and docs/*.md
|
||||||
- [ ] T026 [P] Validate that all tasks have explicit file paths and update task descriptions accordingly
|
- [x] T026 [P] Validate all task descriptions include explicit file paths in specs/004-vps-migration/tasks.md and update mismatches
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user