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
| Method | Path | Purpose |
|---|---|---|
GET | /api/apps/{app_id}/env | Maskert app-keyliste og versjonsstatus |
PUT | /api/apps/{app_id}/env | Transaksjonell set/delete for app keys |
POST | /api/apps/{app_id}/env/reveal | Revisjonspliktig plaintext reveal av én app key |
GET | /api/account/env | Maskert account-keyliste |
PUT | /api/account/env | Transaksjonell set/delete for account keys |
POST | /api/account/env/reveal | Revisjonspliktig plaintext reveal av én account key |
PUT | /api/apps/{app_id}/env/managed | Konfigurert 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.