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
Problem
Settings are fragmented across too many layers: host-side
.envfiles, git-committedconfig/settings.yaml, container-levelhub.envvariables, and stateful database rows inhub.db. This creates several pain points:hub.db) because there is no clean file-based config or CLI flag to set it globally.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_defaultsblock in the unified settings configuration:Any project or agent provisioned without explicit auth values should automatically inherit these defaults, eliminating redundant setup.
Related Issues
gce-start-hub.sh --fulloverwritessettings.yamldefault_harness_confignot respected after init