Skip to content

feat: add IaC partial ownership commands - #1226

Merged
brody192 merged 1 commit into
masterfrom
brody/iac-partial-ownership
Sep 21, 2026
Merged

brody192 merged 1 commit into
masterfrom
brody/iac-partial-ownership

Conversation

@brody192

Copy link
Copy Markdown
Collaborator

Named IaC ownership can outlive its authoring file and block moving resources between partials or returning to whole-project management. Add railway config partials list, release, and transfer to manage that ownership without deleting resources, changing their configuration, or redeploying them.

Release and transfer support selected addresses or an entire source partial, preview every affected address, and send that exact selection with the existing Environment.configEtag. Reuse linked-environment resolution, token authentication, partial-name validation, confirmations, and JSON behavior. --dry-run and --base-config-etag support separate CI review and execution without introducing another saved-plan format. Update command help and the IaC guide with configuration and re-planning guidance.

Validation:

  • cargo test --locked: 1,692 passed, six ignored, including seven ownership unit tests and ten CLI integration tests covering terminal confirmation/cancellation, human/JSON output, scoped project tokens, selection errors, stale snapshots, old-backend errors, file preservation, and invalidation of saved config plans.
  • cargo fmt --all -- --check, cargo clippy --locked --all-targets --all-features, native cargo build --release --locked, and git diff --check passed. Clippy reports existing warnings. The Windows cross-build is left to CI.

Uses the ownership mutations added in https://github.com/railwayapp/mono/pull/40200. Backend rollout is tracked separately; unsupported servers return an API error without falling back to a resource apply. Companion documentation: railwayapp/docs#1365 (draft pending CLI release and backend availability).

@brody192 brody192 added the release/minor Author minor release label Sep 21, 2026
@brody192
brody192 merged commit a2eee12 into master Sep 21, 2026
9 checks passed
@brody192
brody192 deleted the brody/iac-partial-ownership branch September 21, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release/minor Author minor release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant