posit-dev / posit-dev/ptd

Pre-severance checks

Open
#244 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
7
Forks
2
Avg merge
1d 15h
Merged PRs (30d)
3

Description

Parent: #208

Summary

Before severing, run pre-flight checks to verify the workload and control room are in a good state. Catch obvious problems before any changes are made.

Requirements

  • Verify workload target exists and is not itself a control room (note: Azure targets always return ControlRoom() == false)
  • Verify control room is currently configured (non-empty control_room_* fields — nothing to sever if already empty)
  • Verify all Pulumi stacks are in a clean state (no pending operations, no locked stacks)
  • Verify workload is healthy: cluster reachable (EKS for AWS, AKS for Azure), pods in Running state, sites responding
  • Optional: verify control room is reachable (can we actually delete the Mimir secret?). Control room is always AWS regardless of workload cloud provider.
  • Report any blockers before proceeding — clear error messages for each check that fails

Acceptance Criteria

  • Pre-flight catches obvious problems (locked stacks, unreachable cluster, already-ejected workload) before any changes are made
  • Works for both AWS workloads (EKS) and Azure workloads (AKS)
  • Each failing check reports a clear, actionable message
  • All checks pass before the orchestrator proceeds to severance

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the severance orchestrator entry point first, then trace how it accesses workload targets, control-room configuration, and Pulumi stacks. Done means AWS and Azure workloads are checked for valid targets, configuration, clean stacks, and health before changes begin, with actionable blockers reported for every failed check.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, azure, go, kubernetes
Domain
cloud, devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.