Skip to content

feat: unified configuration schema with hierarchical global defaults #511

Description

@zeroasterisk

Problem

Settings are fragmented across too many layers: host-side .env files, git-committed config/settings.yaml, container-level hub.env variables, and stateful database rows in hub.db. This creates several pain points:

This affects all deployment targets (GCE, Kubernetes, workstation, NAS) — not just any particular environment.

Proposal

(a) Unified Configuration Schema

Consolidate all configuration into a single, comprehensive schema-validated YAML file (e.g., settings.yaml). Provide a fully documented master template (settings.yaml.example) detailing every key (global credentials, API keys, network settings, telemetry configurations) so users never have to guess or search design docs.

(b) Hierarchical Global Defaults

Introduce a global_defaults block in the unified settings configuration:

server:
  global_defaults:
    auth:
      selected_type: vertex-ai
      service_account_key_path: /secrets/credentials/credentials.json
    gcp:
      project_id: my-project
      region: us-east5

Any project or agent provisioned without explicit auth values should automatically inherit these defaults, eliminating redundant setup.

Related Issues

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:hubHub server: handlers, store, brokers, configtype:featureNew feature or enhancement

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions