refactor(config): introduce canonical gateway configuration - #2814
Draft
jhjaggars wants to merge 2 commits into
Draft
refactor(config): introduce canonical gateway configuration#2814jhjaggars wants to merge 2 commits into
jhjaggars wants to merge 2 commits into
Conversation
Signed-off-by: Jesse Jaggars <jjaggars@redhat.com>
Signed-off-by: Jesse Jaggars <jjaggars@redhat.com>
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
Introduce canonical gateway configuration names and ownership while preserving every currently accepted input, default, and effective runtime behavior. This is the compatibility/expansion half of the two-PR migration for #2792; alias removal and intentional behavior changes remain deferred to one coordinated follow-up.
Related Issue
Part of #2792
Changes
sandbox_namespacetosandbox_label, preserving the serde alias, gateway inheritance behavior, and persistedopenshell.sandbox_namespacecontainer label.sandbox_ssh_socket_pathtossh_socket_path, preserving the serde alias and standalone CLI/environment surface.openshell_endpoint/--openshell-endpointtogrpc_endpoint/--grpc-endpoint, preserving serde and hidden clap aliases.compute_driver = "<name>"TOML while accepting legacycompute_drivers = [...]with its existing empty/single/multiple runtime semantics. Existing Rust, CLI, environment, and API representations remain unchanged.namespace,service_account_name, andenable_user_namespacesownership into[openshell.drivers.kubernetes]. Gateway-level fields remain accepted as lower-precedence compatibility inputs.gateway_jwt.ttl_secs = 0from canonical serialization and expose effective optional-duration semantics internally while continuing to accept explicit zero and preserve runtime behavior.Compatibility guarantees
Deferred follow-up
The coordinated breaking/additive follow-up will remove compatibility aliases, enforce strict schema semantics, replace remaining sentinel values, reconcile shared image-pull and callback/TLS modeling, resolve VM UID semantics, and add proxy/AppArmor/SPIFFE parity. This PR does not close #2792.
Testing
mise run pre-commitmise run testmise run ci(39 tasks)podman_gateway_start(1 passed), using canonicalcompute_driverE2E environment notes:
provider_refresh_handlescredential probe failed; an isolated retry reproduced the infrastructure failure.dockeris a Podman compatibility shim and no Docker daemon is reachable.mke2fs/mkfs.ext4is unavailable.Checklist