Skip to content

feat(admin): provide unified backend config endpoint for SDK clients #1102

Description

@Issac-Newton

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

  1. Single source of truth: SDK clients fetch config from admin rather than relying on local env vars or hardcoded defaults
  2. Temporary credentials: sensitive fields (registry passwords, STS tokens) use short-lived tokens, not long-lived secrets
  3. Extensible: the response structure should accommodate new config sections without breaking existing clients
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions