Background
SDK clients (e.g. rl-rock Python SDK) currently need to know various backend configuration values — image registry URL, builder image, OSS endpoints, etc. Some of these were previously hardcoded as environment variable defaults on the client side, which is fragile and requires redeployment when config changes.
Proposal
Add a general-purpose admin API endpoint that returns all configurable backend settings that SDK clients may need. This should be a single endpoint that aggregates configuration from the admin's YAML config, covering:
- Image registry: registry URL, namespace, temporary ACR credentials (via
GetAuthorizationToken)
- Image builder: builder image, startup timeout, auto-clear settings
- OSS/storage: endpoints, buckets, transfer prefixes (already partially covered by
/get_token)
- Other backend config: any future configurable values the SDK needs at runtime
Design Goals
- Single source of truth: SDK clients fetch config from admin rather than relying on local env vars or hardcoded defaults
- Temporary credentials: sensitive fields (registry passwords, STS tokens) use short-lived tokens, not long-lived secrets
- Extensible: the response structure should accommodate new config sections without breaking existing clients
- Backward compatible: existing env var overrides on the client side should still take precedence when set
Initial Scope
Start with image registry + builder config (PR #1101 implements this as GET /image_config), then progressively consolidate other backend configs into a unified endpoint or namespace.
Related
Background
SDK clients (e.g.
rl-rockPython SDK) currently need to know various backend configuration values — image registry URL, builder image, OSS endpoints, etc. Some of these were previously hardcoded as environment variable defaults on the client side, which is fragile and requires redeployment when config changes.Proposal
Add a general-purpose admin API endpoint that returns all configurable backend settings that SDK clients may need. This should be a single endpoint that aggregates configuration from the admin's YAML config, covering:
GetAuthorizationToken)/get_token)Design Goals
Initial Scope
Start with image registry + builder config (PR #1101 implements this as
GET /image_config), then progressively consolidate other backend configs into a unified endpoint or namespace.Related