Skip to Content
TestingMiljøvariabler for app

Miljøvariabler for app

OpenFactory kan lagre miljøverdier på app- og kontonivå, kryptere dem at rest og rendre dem i en candidate app-VM under deploy. Dette er et tidlig file-backed secret store, ikke en administrert vault.

Omfang og forrang

  • Kontoverdier er gjenbrukbare defaults for hver app som eies av kontoen.
  • App-verdier overskriver kontoverdier med samme navn.
  • Managed values skrives av et konfigurert producer token og registrerer produsenten som eier nøkkelen.
  • En endret verdi øker env_version; en vellykket deploy registrerer den anvendte versjonen. En forskjell betyr at redeploy kreves.

Navn må være uppercase environment identifiers, er begrenset til 128 tegn og kan ikke bruke det reserverte prefikset OPENFACTORY_. User values er begrenset til 8 KiB, og en app er begrenset til 100 keys.

MCP-workflow

List operations maskerer alltid verdier. Avslør én verdi bare når det er nødvendig:

set_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", set={"API_BASE_URL": "https://api.example.internal"} ) list_app_env(app_id="550e8400-e29b-41d4-a716-446655440000") reveal_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", name="API_BASE_URL" )

Samme mønster finnes som set_account_env, list_account_env og reveal_account_env. Set/delete på app-nivå returnerer env_version og redeploy_hint; å sette en verdi muterer ikke en kjørende VM.

REST-flate

MethodPathPurpose
GET/api/apps/{app_id}/envMaskert app-keyliste og versjonsstatus
PUT/api/apps/{app_id}/envTransaksjonell set/delete for app keys
POST/api/apps/{app_id}/env/revealRevisjonspliktig plaintext reveal av én app key
GET/api/account/envMaskert account-keyliste
PUT/api/account/envTransaksjonell set/delete for account keys
POST/api/account/env/revealRevisjonspliktig plaintext reveal av én account key
PUT/api/apps/{app_id}/env/managedKonfigurert producer publiserer managed keys
DELETE/api/apps/{app_id}/env/managed/{name}Producer fjerner en managed key den eier

Brukerflater håndhever den løste eierkonteksten. Managed endpoints bruker <kid>.<secret> bearer credential fra operator-konfigurert producer-token-fil; uten den filen returnerer producer-API unavailable.

Deploy-atferd

Under deploy dekrypterer backend kontoverdier, legger app-verdier over, legger til plattformens runtime fields og skriver /etc/openfactory/app.env i VM med mode 0600. Prosessen startes med den filen som miljø. Hvis dekryptering, fillevering eller oppstart feiler, promoveres ikke candidaten.

Sikkerhetsgrense

  • Lagrede verdier bruker Fernet-kryptering. Operatøren må levere og beskytte OPENFACTORY_ENV_MASTER_KEY; tap eller utskifting gjør eksisterende verdier ukrypterbare.
  • List responses er maskert. Eksplisitte reveals og mutasjoner legger til en JSONL audit event.
  • Nåværende storage og audit trail er lokale filer. De gir ikke hardware-backed keys, multi-party approval, tamper-evident logging, automatic rotation eller disaster-recovery guarantee.
  • Applikasjons- og deploylogger gir ennå ikke en full secret-redaction boundary. En prosess som skriver ut miljøet sitt, en credential-bearing URL eller et secret i en error kan avsløre det i logger og test evidence.

Bruk derfor ikke denne preview store for production credentials før deployment har uavhengige access controls, backup- og restoretester, log-redaction validation, retention rules og en dokumentert key-rotation procedure. Plasser aldri secrets i recipes, source code, commands, URLs, test descriptions eller assertion expectations.

Se App deployment for candidate promotion flow.