Apply terraform + salt highstate to go live #5

Open
opened 2026-06-19 02:13:48 +00:00 by ldraney · 3 comments
Owner

Type

Feature

Lineage

Blocked by: DNS PR fix (pal-e-platform #457), service registration merge (pal-e-services #128), deployments overlay update (#12), Rails 8 scaffold (#10), and Drake page (#11).

Repo

ldraney/pal-e-platform, ldraney/pal-e-services

User Story

As a visitor, I can reach myvibes.world and see the Drake vibe page live.

Context

After DNS and service registration PRs merge, tofu apply on pal-e-services (creates Harbor project, namespace, ArgoCD app, Funnel ingress) and pal-e-platform (creates DNS A record), then salt highstate on edge VPS to update Caddy config. The Rails 8 app, Drake page, and corrected deployments overlay (port 3000) must all be in place before this is meaningful.

File Targets

  • ldraney/pal-e-services: terraform/services.tf (tofu apply creates Harbor project, namespace, ArgoCD app, Funnel)
  • ldraney/pal-e-platform: terraform/dns.tf (tofu apply creates DNS A record)
  • ldraney/pal-e-platform: salt/pillar/caddy.sls (salt highstate updates Caddy reverse proxy on edge VPS)

Feature Flag

No

Test Expectations

  • dig myvibes.world resolves to Hetzner edge IP
  • curl -I https://myvibes.world returns 200 proxied from k3s
  • Drake page loads at myvibes.world/drake

Acceptance Criteria

  • tofu apply on pal-e-services succeeds (Harbor project, namespace, ArgoCD app, Funnel)
  • tofu apply on pal-e-platform succeeds (DNS A record)
  • salt highstate updates Caddy on edge VPS
  • dig myvibes.world resolves correctly
  • curl -I https://myvibes.world returns 200
  • myvibes.world/drake loads the Drake vibe page in a browser

Constraints

All blockers (#10, #11, #12, pal-e-platform #457, pal-e-services #128) must be resolved first. This is a manual ops task — no PR, just tofu apply + salt highstate.

Checklist

  • All blocker tickets resolved
  • tofu plan reviewed for both repos
  • tofu apply executed on pal-e-services
  • tofu apply executed on pal-e-platform
  • salt highstate applied to edge VPS
  • DNS verified with dig
  • Site reachable via curl and browser
  • my-vibes-world project
  • Blocked by: #10, #11, #12, pal-e-platform #457, pal-e-services #128
### Type Feature ### Lineage Blocked by: DNS PR fix (pal-e-platform #457), service registration merge (pal-e-services #128), deployments overlay update (#12), Rails 8 scaffold (#10), and Drake page (#11). ### Repo `ldraney/pal-e-platform`, `ldraney/pal-e-services` ### User Story As a visitor, I can reach myvibes.world and see the Drake vibe page live. ### Context After DNS and service registration PRs merge, tofu apply on pal-e-services (creates Harbor project, namespace, ArgoCD app, Funnel ingress) and pal-e-platform (creates DNS A record), then salt highstate on edge VPS to update Caddy config. The Rails 8 app, Drake page, and corrected deployments overlay (port 3000) must all be in place before this is meaningful. ### File Targets - `ldraney/pal-e-services`: `terraform/services.tf` (tofu apply creates Harbor project, namespace, ArgoCD app, Funnel) - `ldraney/pal-e-platform`: `terraform/dns.tf` (tofu apply creates DNS A record) - `ldraney/pal-e-platform`: `salt/pillar/caddy.sls` (salt highstate updates Caddy reverse proxy on edge VPS) ### Feature Flag No ### Test Expectations - `dig myvibes.world` resolves to Hetzner edge IP - `curl -I https://myvibes.world` returns 200 proxied from k3s - Drake page loads at myvibes.world/drake ### Acceptance Criteria - [ ] tofu apply on pal-e-services succeeds (Harbor project, namespace, ArgoCD app, Funnel) - [ ] tofu apply on pal-e-platform succeeds (DNS A record) - [ ] salt highstate updates Caddy on edge VPS - [ ] `dig myvibes.world` resolves correctly - [ ] `curl -I https://myvibes.world` returns 200 - [ ] myvibes.world/drake loads the Drake vibe page in a browser ### Constraints All blockers (#10, #11, #12, pal-e-platform #457, pal-e-services #128) must be resolved first. This is a manual ops task — no PR, just tofu apply + salt highstate. ### Checklist - [ ] All blocker tickets resolved - [ ] tofu plan reviewed for both repos - [ ] tofu apply executed on pal-e-services - [ ] tofu apply executed on pal-e-platform - [ ] salt highstate applied to edge VPS - [ ] DNS verified with dig - [ ] Site reachable via curl and browser ### Related - `my-vibes-world` project - Blocked by: #10, #11, #12, pal-e-platform #457, pal-e-services #128
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-1510-2026-06-18
File targets are vague ("terraform state") — need specific paths (services.tf, dns.tf, caddy.sls). Missing arch note for edge-proxy component.

  • [BODY] Replace vague file targets with specific paths: pal-e-services/terraform/services.tf, pal-e-platform/terraform/dns.tf, pal-e-platform/salt/pillar/caddy.sls
  • [BODY] Add Checklist section or note this is a manual ops task with no PR
  • [BODY] Add explicit issue reference for deployments overlay: my-vibes-world#12
  • [SCOPE] Create architecture note arch-edge-proxy for the Caddy edge proxy component
## Scope Review: NEEDS_REFINEMENT Review note: `review-1510-2026-06-18` File targets are vague ("terraform state") — need specific paths (services.tf, dns.tf, caddy.sls). Missing arch note for edge-proxy component. - **[BODY]** Replace vague file targets with specific paths: `pal-e-services/terraform/services.tf`, `pal-e-platform/terraform/dns.tf`, `pal-e-platform/salt/pillar/caddy.sls` - **[BODY]** Add Checklist section or note this is a manual ops task with no PR - **[BODY]** Add explicit issue reference for deployments overlay: my-vibes-world#12 - **[SCOPE]** Create architecture note `arch-edge-proxy` for the Caddy edge proxy component
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-1510-2026-06-18

Template is complete, all 3 file targets verified against live repos, all 5 blockers documented and tracked on the board. Story label traces to project page.

One issue found:

  • [SCOPE] Architecture note arch-edge-proxy does not exist in pal-e-docs. Create it to document the Hetzner edge VPS / Caddy / Tailscale Funnel / GoDaddy DNS pattern shared by palinks.app, landscaping-assistant.app, and myvibes.world.
## Scope Review: NEEDS_REFINEMENT Review note: `review-1510-2026-06-18` Template is complete, all 3 file targets verified against live repos, all 5 blockers documented and tracked on the board. Story label traces to project page. **One issue found:** - `[SCOPE]` Architecture note `arch-edge-proxy` does not exist in pal-e-docs. Create it to document the Hetzner edge VPS / Caddy / Tailscale Funnel / GoDaddy DNS pattern shared by palinks.app, landscaping-assistant.app, and myvibes.world.
Author
Owner

Scope Review: READY

Review note: review-1510-2026-06-18

Re-review after prior NEEDS_REFINEMENT. The sole blocker -- missing arch-edge-proxy architecture note -- has been resolved. Note now exists in pal-e-docs (active, documents Hetzner VPS + Caddy + Tailscale Funnel + GoDaddy DNS + Salt config mgmt).

All checks pass: template complete, traceability triangle verified (story note + arch note + Forgejo issue), file targets confirmed, dependencies documented, blast radius low, no decomposition needed.

## Scope Review: READY Review note: `review-1510-2026-06-18` Re-review after prior NEEDS_REFINEMENT. The sole blocker -- missing `arch-edge-proxy` architecture note -- has been resolved. Note now exists in pal-e-docs (active, documents Hetzner VPS + Caddy + Tailscale Funnel + GoDaddy DNS + Salt config mgmt). All checks pass: template complete, traceability triangle verified (story note + arch note + Forgejo issue), file targets confirmed, dependencies documented, blast radius low, no decomposition needed.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/my-vibes-world#5
No description provided.