21 days ago
Hello Railway team,
Could you clarify the supported contract for environmentApplyChangeSet with baseConfigEtag and waitForCompletion:false when a single service has a RailwayChangeSet v1 combining variable.set entries and a resource.update to a digest-qualified container image?
- Are the affected-service changes coalesced into the returned deploymentId, and does a successful terminal ChangeSetApplyResult associate all successful changes with the immutable source and rendered-variable snapshot used by that deployment?
- Are rendered variables fixed per deployment, so an already-running deployment cannot receive a newly set variable? Does a later variable.delete change set create a deployment whose snapshot excludes that variable?
- Can the deploymentId and its source/configuration snapshot be read while its pre-deploy command is running? Which supported API fields should a client use to establish that association without treating current service configuration as historical deployment configuration?
- What are the terminal per-change and deploymentId semantics for stale-etag rejection or partial failure? The client will send each mutation at most once and will not retry an uncertain mutation.
We reviewed the public API schema, official CLI ChangeSet implementation, staged-changes documentation and pre-deploy documentation. A side-effect-free one-variable preview succeeded; we are not treating its returned deployEffect field as proof of apply behavior. A link to the authoritative contract or a concise statement of these guarantees and limitations would help us implement the integration correctly.
Thank you.
1 Replies
21 days ago
We checked our documentation and it does not cover this yet, so the Railway community is the best place to get a real answer: people who have already worked this out on their own projects and can tell you what actually worked.
So we'd like to open your thread as a community bounty. Railway pays a bounty to the community member who answers it, and threads like this usually get picked up quickly.
Opening it makes this entire thread public, including everything already posted. Nothing becomes public until you decide. Use the buttons below.
- Open to the community - Before you click, take a moment to edit or remove anything you'd rather not share. The thread becomes publicly visible right away.
- Keep it private and close the thread - Nothing becomes public and the thread closes.
Status changed to Awaiting User Response Railway • 21 days ago
21 days ago
This thread has been opened as a public bounty so the community can help solve it. The thread and any further activity are now visible to everyone.
Status changed to Open Railway • 21 days ago