posit-dev / posit-dev/ptd

Full ensure after config strip

Open
#243 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

After stripping control room fields from ptd.yaml, run a full ptd ensure of all steps to converge the entire workload to its severed state. This is simpler than cherry-picking individual steps and catches any hidden control room dependencies.

Context

The actual control room coupling points in code are:

Connection Ensure step What changes
Mimir password sync to control room persistent updateControlRoomMimirPassword is skipped
Alloy metrics remote_write to control room Mimir helm Alloy config regenerated without control_room block

Confirmed non-issues: Loki logs are local-only (no control room shipping). Team Operator Helm values have no control room references. OIDC providers are self-contained per cluster. Cross-account IAM trust is not Pulumi-managed — handled via a customer-facing runbook.

Running all steps rather than just the affected ones is the safer approach and avoids maintaining a list of "affected steps" that could drift.

Note: lib/eject/control_room.go currently lists phantom couplings (Loki, Team Operator, OIDC) that don't exist in the codebase. This file should be updated to match reality as part of this work.

Requirements

  • Run full ptd ensure <target> (all steps) after config strip
  • --dry-run support: in dry-run mode, run ptd ensure <target> --dry-run to preview what Pulumi would change across all steps, without applying

Dependencies

  • Requires #239 (Go steps must tolerate nil control room)
  • Requires #240 (Alloy must generate valid config without control room)

Acceptance Criteria

  • Full ensure completes cleanly with empty control room config
  • All steps tolerate the absence of control room fields
  • Dry-run mode shows a preview of Pulumi changes without applying

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

Start by reviewing lib/eject/control_room.go and the ptd ensure entry point, then confirm dependencies #239 and #240 are complete. Run ptd ensure and ptd ensure --dry-run against an empty control room configuration. Done means full ensure converges cleanly, dry-run previews Pulumi changes without applying, and phantom couplings are removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, helm
Domain
cli, devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.