Make staging and production deployment hosts independent - #113
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Make staging and production independent deployment targets while retaining today's shared-server layout as explicit configuration. This is a small host-profile interface, not a new hosting/orchestration system.
EDGE_PROFILE:shared,staging, orproduction, with no implicit default.Required before merge
In GitHub Settings > Environments, set
EDGE_PROFILE=sharedin both staging and production. Keep existing SSH secrets and verified host-key variables. A merge triggers the normal staging workflow, which now fails closed if the profile is absent.After merge, when ready for a deliberate infrastructure update, dispatch CD Edge from
main, selectproduction, and leaveallow-profile-changeoff. This adopts the existing shared layout and marks it explicitly. Followdocs/setup/hosting.md; the change does not migrate servers or data.Validation
dotnet restore, format verification, Release build: passed; build has 0 warnings and 0 errors.fmt --diffandvalidatefor all three profiles: passed without formatting warnings, using temporary local containers with no network or published ports.No remote deployment, release, SSH credential/configuration change, DNS change, or host migration was performed. Separate-host live acceptance remains an operator step after an authorized cutover.
Older patch branches retain the existing infrastructure-backport requirement: before deploying a branch cut from an older tag, include the compatible workflows/shared validation action, profile helpers, edge templates, and topology tests in its preparation PR. Prepare Patch does not automatically backport this infrastructure baseline.
AI assistance
This implementation and its regression tests were agent-authored, reviewed, and locally validated. Maintainer review is still required before merge.