# Deployment-profile bundles (#755) — the declarative environment sets applied # by `--profile ` (or a consumer manifest's `profile:` default). # # This file expresses EXACTLY the behavior `apply_profile_overrides` used to # hard-code, so a repo that never touches profiles behaves identically: # prod → retain the loopback host-port default, observability ON (unless # --prometheus-source/--grafana-source was passed this run, or the # consumer manifest env, .env.user or ATLAS_ENV_USER_FILE pins # that *_SOURCE), and log-rotation defaults (unless operator-set). # default → retain the loopback host-port default; select nothing else. # # Field semantics (enforced by AtlasStarter.apply_profile_overrides): # host_bind_ip Non-empty → fills a blank value and replaces only a bind # asserted by the prior profile during a profile switch. An # operator's non-empty bind is never touched. # sources {: | auto}. Asserted on every # start of this profile unless that service's source was set # by an explicit CLI flag this run, or is pinned in a consumer # manifest's env, .env.user or ATLAS_ENV_USER_FILE # (CLI > manifest/.env.user > profile). `auto` # delegates to the durable `_SOURCE: auto` resolver # (#753). On a profile SWITCH, a value asserted by the prior # profile is reset to the service default first (sentinel # discipline), so transitions leave no source residue. # env {: }. Applied when the var is unset, empty, # the shipped .env.example default, or (on a switch) the prior # profile's value for the same key — unless .env.user (or # ATLAS_ENV_USER_FILE) or the consumer manifest pins it; any # other operator-set value is kept with a one-line notice # (the LOG_MAX_* discipline). Keys # only the prior profile declared are not reset on a switch. # Use for limits/logging knobs, e.g. WEAVIATE_MEMORY_LIMIT. # # Names: `default` and `prod` are the canonical profiles (matching the # manifest options' `profiles:` tags); `dev` is accepted everywhere as an # alias for `default`. Consumers may OVERRIDE fields per profile via # `profile_overrides:` in atlas.consumer.yml — they may not define new # profile names. version: 1 profiles: default: host_bind_ip: "127.0.0.1:" sources: {} env: {} prod: host_bind_ip: "127.0.0.1:" sources: prometheus: container grafana: container env: LOG_MAX_SIZE: "10m" LOG_MAX_FILE: "3"