5.3 KiB
5.3 KiB
id, title, sidebar_label
| id | title | sidebar_label |
|---|---|---|
| environment-variables | Environment variables | Environment variables |
Everything the control plane reads from the environment, and what happens when it is absent.
Server
| Name | Required | Default | Notes |
|---|---|---|---|
GRPC_HOST |
yes | The host:port agents dial. Boot fails without it. There is deliberately no fallback to the web host: that would hand every agent a port that does not speak gRPC |
|
MONGO_URI |
no | mongodb://localhost:27017 |
The database name is taken from the URI path, falling back to vantage. There is no separate MONGO_DB |
REDIS_ADDR |
no | localhost:6379 |
Where sessions are held. If you run more than one copy of Vantage, they must all point at the same Redis |
REDIS_USERNAME |
no | Redis 6+ ACL user. Leave empty against a legacy requirepass instance, which authenticates with the password alone |
|
REDIS_PASSWORD |
no | Leave empty for an unauthenticated Redis. Both of these exist so an install can use a managed Redis rather than the bundled one | |
KEY_ENCRYPTION_KEY |
yes in practice | 64 hex characters (32 bytes) for AES-256-GCM. Required for private keys, vault secrets, OIDC client secrets and console credentials | |
GITEA_HOST |
yes in practice | gitea.example.com |
Host serving agent releases; used to build the install scripts and download URLs. The default is a placeholder that will not resolve, so set it to gitea.hostxtra.co.uk |
GUACD_ADDR |
no | guacd:4822 |
The browser console daemon |
PROXY_ADVERTISE_HOST |
no | server |
The hostname guacd uses to reach the control plane's console relay. Wrong here and every console session fails at connect with guacd unable to resolve the relay |
PROXY_LISTEN_HOST |
no | 0.0.0.0 |
Interface the ephemeral relay listeners bind. Narrow it only if guacd shares a known interface |
APP_ROOT_LABEL |
no | vantage |
The label Vantage expects in its own hostname, used to match a browser session to the right instance |
VANTAGE_LICENSE |
no | A licence supplied at startup, so an automated install does not have to paste one in | |
VANTAGE_TRIVY_DB_REF |
no | ghcr.io/aquasecurity/trivy-db:2 |
Where the vulnerability database is pulled from. Point it at a mirror for an air-gapped install |
VANTAGE_VULNDB_DISABLED |
no | true switches vulnerability scanning off entirely. Findings already stored are still served, and still shown as stale |
|
TRUSTED_PROXIES |
no | 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 |
Comma-separated CIDRs or addresses of proxies allowed to set X-Forwarded-For. The shipped Docker Compose and Helm chart default to the private RFC1918 ranges, which covers Nginx Proxy Manager on the Docker bridge network and Traefik on a Kubernetes pod CIDR. An operator whose proxy sits on a public address must set this themselves, or every visitor behind it shares one address for rate-limiting purposes. Unset entirely (outside those shipped defaults) trusts none, so the client address is the direct peer |
:::danger KEY_ENCRYPTION_KEY has no recovery path
It encrypts SSH private keys, vault secrets, OIDC client secrets and console
credentials. Lose it and all of them are unreadable. Back it up separately from
the database it protects.
:::
:::info A wrong APP_ROOT_LABEL fails quietly
It does not error. It simply stops matching, and the host/session guard stops
protecting anything.
:::
Not configurable
The HTTP port (8080) and the gRPC port (9090) are fixed in the server. The
HTTP_PORT and GRPC_PORT entries in the shipped Compose file have no effect.
Remap the ports with Docker instead.
Agent
The agent reads no environment variables. Everything is in its config file.