Deprovision eco-mcp-app (deprecated) #41

Closed
opened 2026-07-03 05:33:22 +00:00 by coilysiren · 3 comments
Owner

eco-mcp-app is deprecated (confirmed by Kai). It is currently half-retired: eco-mcp.coilysiren.me returns 503 "no available server" (no healthy pod), but the ingress, DNS, and supporting cloud resources still exist and still serve errors to any visitor. Deprovision it cleanly.

Teardown checklist

  • k8s resources in namespace coilysiren-eco-mcp-app: Deployment, Service, Ingress, ExternalSecrets, then the namespace itself.
  • DNS / ingress host eco-mcp.coilysiren.me.
  • Tailscale federated identity for eco-mcp (it is in the terraform tailscale-merge list).
  • terraform aws-inventory entry (eco-mcp = 300).
  • SSM params used only by eco-mcp (its Eco admin token). Confirm the FRED key is not shared before removing it.
  • GHCR / package image (ghcr.io/.../eco-mcp-app).
  • CI build-and-publish workflow (moot once the repo is archived).
  • Repo already archived on the forge (coilyco-flight-deck/eco-mcp-app) - confirm.

Blocker - coordinate before deleting the code

eco-jobs-tracker git-imports eco-mcp-app for its embedded live server-status card (it "imports directly from sibling eco-mcp-app"). Deleting the eco-mcp code/repo breaks that card. Before retiring the code, either:

  • fold the server-status card into eco-app / the merged site (the DLT epic eco-app#37 does exactly this consolidation), or
  • vendor the card so jobs-tracker keeps rendering it.

The service teardown (k8s / DNS / secrets / image) can proceed independently - just do not delete the repo or the git dep until the card has a new home.

Note on who does this

This is a destructive infra action (deleting k8s + DNS + secrets) and needs host creds this read-only director surface does not have. So it is a dispatched run or a hands-on teardown, not something to run from here.

  • eco-app#37 (DLT epic - the card's new home)
  • eco-ops#25 (once gone, drop eco-mcp from any uptime probe so it stops alerting)
eco-mcp-app is **deprecated** (confirmed by Kai). It is currently half-retired: `eco-mcp.coilysiren.me` returns 503 "no available server" (no healthy pod), but the ingress, DNS, and supporting cloud resources still exist and still serve errors to any visitor. Deprovision it cleanly. ## Teardown checklist - [ ] k8s resources in namespace `coilysiren-eco-mcp-app`: Deployment, Service, Ingress, ExternalSecrets, then the namespace itself. - [ ] DNS / ingress host `eco-mcp.coilysiren.me`. - [ ] Tailscale federated identity for `eco-mcp` (it is in the terraform tailscale-merge list). - [ ] terraform aws-inventory entry (`eco-mcp = 300`). - [ ] SSM params used only by eco-mcp (its Eco admin token). **Confirm the FRED key is not shared** before removing it. - [ ] GHCR / package image (`ghcr.io/.../eco-mcp-app`). - [ ] CI build-and-publish workflow (moot once the repo is archived). - [ ] Repo already archived on the forge (`coilyco-flight-deck/eco-mcp-app`) - confirm. ## Blocker - coordinate before deleting the code **eco-jobs-tracker git-imports eco-mcp-app** for its embedded live server-status card (it "imports directly from sibling eco-mcp-app"). Deleting the eco-mcp code/repo breaks that card. Before retiring the code, either: - fold the server-status card into eco-app / the merged site (the DLT epic eco-app#37 does exactly this consolidation), or - vendor the card so jobs-tracker keeps rendering it. The **service** teardown (k8s / DNS / secrets / image) can proceed independently - just do not delete the repo or the git dep until the card has a new home. ## Note on who does this This is a destructive infra action (deleting k8s + DNS + secrets) and needs host creds this read-only director surface does not have. So it is a dispatched run or a hands-on teardown, not something to run from here. ## Related - eco-app#37 (DLT epic - the card's new home) - eco-ops#25 (once gone, drop eco-mcp from any uptime probe so it stops alerting)
coilysiren changed title from eco-mcp-app is down (503 'no available server') to Deprovision eco-mcp-app (deprecated) 2026-07-03 05:38:44 +00:00
Owner

The read-only before-state is current:

  • The legacy Deployment still exists but is scaled to 0/0.
  • Its Service, public Ingress, and four ExternalSecrets still exist in coilysiren-eco-mcp-app.
  • The dedicated hostname is still claimed by that Ingress.
  • The old Forgejo repository now returns 404 and is absent from repository search, so there is no remaining repository to archive.
  • The former jobs-tracker dependency has been eliminated by the fused eco-app service.

The original code-dependency blocker is gone. The remaining work is a genuinely destructive operator teardown of the namespace resources, DNS and ingress ownership, identities, inventory, packages, and only the SSM parameters proven exclusive to the retired service. Kai still needs to approve that deletion before an operator executes it.

The read-only before-state is current: * The legacy Deployment still exists but is scaled to `0/0`. * Its Service, public Ingress, and four ExternalSecrets still exist in `coilysiren-eco-mcp-app`. * The dedicated hostname is still claimed by that Ingress. * The old Forgejo repository now returns 404 and is absent from repository search, so there is no remaining repository to archive. * The former jobs-tracker dependency has been eliminated by the fused eco-app service. The original code-dependency blocker is gone. The remaining work is a genuinely destructive operator teardown of the namespace resources, DNS and ingress ownership, identities, inventory, packages, and only the SSM parameters proven exclusive to the retired service. Kai still needs to approve that deletion before an operator executes it.
Owner

Kai approved this teardown in the controlling Codex session on 2026-07-25.

The destructive decision wall is cleared. The engineer session remains sealed against live mutation, so an operator now owns execution.

Required operator boundary:

  1. Capture the before-state for the legacy namespace, Deployment, Service, public Ingress, ExternalSecrets, DNS record, federated identity, inventory entry, packages, and candidate SSM parameters.
  2. Prove each secret and supporting resource is exclusive to the retired service before deletion. Do not remove the shared FRED key or any resource with another consumer.
  3. Remove only the retired service's proven-exclusive resources. The last read-only observation showed the Deployment at 0/0 while the Service, public Ingress, namespace, and four ExternalSecrets remained.
  4. Apply the linked eco-ops probe cleanup after the endpoint is gone.
  5. Verify that the namespace and public route are absent, the current eco-app remains healthy, and no shared credential or dependency was removed. Record before-and-after evidence plus any retained rollback artifact here.

The old code dependency has already been removed, and the retired Forgejo repository is absent. No code-repository deletion is required.

Kai approved this teardown in the controlling Codex session on 2026-07-25. The destructive decision wall is cleared. The engineer session remains sealed against live mutation, so an operator now owns execution. Required operator boundary: 1. Capture the before-state for the legacy namespace, Deployment, Service, public Ingress, ExternalSecrets, DNS record, federated identity, inventory entry, packages, and candidate SSM parameters. 2. Prove each secret and supporting resource is exclusive to the retired service before deletion. Do not remove the shared FRED key or any resource with another consumer. 3. Remove only the retired service's proven-exclusive resources. The last read-only observation showed the Deployment at 0/0 while the Service, public Ingress, namespace, and four ExternalSecrets remained. 4. Apply the linked eco-ops probe cleanup after the endpoint is gone. 5. Verify that the namespace and public route are absent, the current eco-app remains healthy, and no shared credential or dependency was removed. Record before-and-after evidence plus any retained rollback artifact here. The old code dependency has already been removed, and the retired Forgejo repository is absent. No code-repository deletion is required.
Owner

Fresh read-only before-state after approval:

  • The legacy namespace still contains one Deployment, one Service, one Ingress, and four ExternalSecrets.
  • The legacy Deployment is desired 0, with no ready or available replicas.
  • The namespace has no pods.
  • The current eco-app Deployment is desired 1, ready 1, and available 1.

The four retained ExternalSecrets include the FRED reference, error-tracking material, registry credentials, and the Eco admin token. Their presence does not prove exclusivity. The operator must trace consumers before removing any ExternalSecret or backing parameter, with special care for FRED and registry credentials.

This establishes the before-state only. No live resource was changed by the engineer.

Fresh read-only before-state after approval: * The legacy namespace still contains one Deployment, one Service, one Ingress, and four ExternalSecrets. * The legacy Deployment is desired 0, with no ready or available replicas. * The namespace has no pods. * The current eco-app Deployment is desired 1, ready 1, and available 1. The four retained ExternalSecrets include the FRED reference, error-tracking material, registry credentials, and the Eco admin token. Their presence does not prove exclusivity. The operator must trace consumers before removing any ExternalSecret or backing parameter, with special care for FRED and registry credentials. This establishes the before-state only. No live resource was changed by the engineer.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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
coilyco-gaming/eco-app#41
No description provided.