feat: configure externally managed machine endpoints - #460
Merged
Conversation
Greptile SummaryThe PR adds externally managed endpoint URLs to
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| crates/alien-core/src/stack_settings.rs | Adds optional externally managed endpoint URLs with camelCase serialization and verifies exact URL round-tripping. |
| crates/alien-deploy-cli/src/commands/up.rs | Adds coverage proving the generated manager SDK conversion retains nested public endpoint URLs. |
| crates/alien-operator/src/config.rs | Updates exhaustive test-only StackSettings literals for the new optional field. |
| client-sdks/manager/openapi.json | Exposes publicEndpoints as an optional nested string map in the manager API schema. |
| client-sdks/manager/rust/openapi-3.0.json | Updates the Rust SDK generator input with the compatible nullable nested-map property. |
Sequence Diagram
sequenceDiagram
participant Config as Deployment config
participant Core as alien_core::StackSettings
participant SDK as Manager SDK StackSettings
participant Manager as alien-manager
Config->>Core: Deserialize publicEndpoints
Core->>SDK: JSON conversion preserving nested URLs
SDK->>Manager: Send StackSettings
Reviews (3): Last reviewed commit: "fix: preserve adopted public endpoints t..." | Re-trigger Greptile
alongubkin
force-pushed
the
alon/alien-555-machine-public-endpoints
branch
from
August 21, 2026 00:04
252cbd7 to
1506cc1
Compare
alongubkin
changed the base branch from
main
to
alon/alien-559-regenerate-worker-runtime-typescript-client-for-locked-ts
August 21, 2026 00:04
Base automatically changed from
alon/alien-559-regenerate-worker-runtime-typescript-client-for-locked-ts
to
main
August 21, 2026 01:39
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.
Background
Adopted Machines deployments can already have stable customer-owned DNS names and certificates. Treating those deployments as if Alien owns their public hostname produces a second, incorrect URL and can make the control plane manage infrastructure it does not own.
Changes
StackSettings.publicEndpointsusing the existing nested resource/endpoint URL mapStackSettingsconstructors so all Rust test targets continue to compilePlatform PR #431 consumes this field only for Machines deployments, validates complete endpoint ownership against the enabled stack before DNS writes, and excludes those resources from managed DNS/certificate planning.
Linear: ALIEN-553
Validation
cargo test -p alien-core machine_public_endpoints_round_trip_without_rewriting_urls --features openapicargo test -p alien-operator --no-runcargo test -p alien-deploy-cli sdk_stack_settings_preserves_public_endpoints --libpnpm run generate:manager-rust-sdkpnpm -C packages/core generatepnpm -C packages/core build