Varijable okruženja aplikacije
OpenFactory može pohraniti vrijednosti okruženja u opsegu aplikacije i računa, šifrirati ih u mirovanju i tijekom deploya zapisati ih u kandidat app VM. Rana je pohrana tajni u datotekama, ne upravljani vault.
Opseg i prednost
- Vrijednosti računa ponovno su upotrebljive zadane vrijednosti za svaku aplikaciju tog računa.
- Vrijednosti aplikacije nadjačavaju vrijednosti računa s istim nazivom.
- Upravljane vrijednosti zapisuje konfigurirani producer token i bilježi producenta koji je vlasnik ključa.
- Promijenjena vrijednost povećava
env_version; uspješan deploy bilježi primijenjenu verziju. Razlika znači da je potreban redeploy.
Nazivi moraju biti identifikatori okruženja velikim slovima, ograničeni su na 128
znakova i ne smiju koristiti rezervirani prefiks OPENFACTORY_. Korisničke vrijednosti
ograničene su na 8 KiB, a aplikacija na 100 ključeva.
MCP tijek rada
Operacije popisa uvijek maskiraju vrijednosti. Otkrijte jednu vrijednost samo kad je potrebno:
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"
)Isti obrazac dostupan je kao set_account_env, list_account_env i
reveal_account_env. Operacije postavljanja/brisanja na razini aplikacije vraćaju env_version
i redeploy_hint; postavljanje vrijednosti ne mijenja VM u radu.
REST površina
| Method | Path | Purpose |
|---|---|---|
GET | /api/apps/{app_id}/env | Maskirani popis ključeva aplikacije i stanje verzije |
PUT | /api/apps/{app_id}/env | Transakcijsko postavljanje/brisanje ključeva aplikacije |
POST | /api/apps/{app_id}/env/reveal | Revidirano otkrivanje jednog ključa aplikacije u plaintextu |
GET | /api/account/env | Maskirani popis ključeva računa |
PUT | /api/account/env | Transakcijsko postavljanje/brisanje ključeva računa |
POST | /api/account/env/reveal | Revidirano otkrivanje jednog ključa računa u plaintextu |
PUT | /api/apps/{app_id}/env/managed | Konfigurirani producent objavljuje upravljane ključeve |
DELETE | /api/apps/{app_id}/env/managed/{name} | Producent uklanja upravljani ključ koji posjeduje |
Korisničke površine provode razriješeni kontekst vlasnika. Upravljani endpointi koriste
bearer credential oblika <kid>.<secret> iz datoteke producer tokena koju konfigurira operator;
bez te datoteke producer API vraća unavailable.
Ponašanje pri deployu
Tijekom deploya backend dešifrira vrijednosti računa, preklapa vrijednosti aplikacije, dodaje
runtime polja platforme i zapisuje /etc/openfactory/app.env u VM s načinom 0600.
Proces se pokreće s tom datotekom kao okruženjem. Ako dešifriranje, isporuka datoteke ili pokretanje
ne uspiju, kandidat se ne promovira.
Sigurnosna granica
- Pohranjene vrijednosti koriste Fernet enkripciju. Operator mora osigurati i štititi
OPENFACTORY_ENV_MASTER_KEY; gubitak ili zamjena čini postojeće vrijednosti nedekodabilnima. - Odgovori popisa maskirani su. Eksplicitna otkrivanja i mutacije dodaju JSONL audit event.
- Trenutna pohrana i audit trail lokalne su datoteke. Ne pružaju hardware-backed keys, multi-party approval, tamper-evident logging, automatic rotation ni disaster-recovery guarantee.
- Zapisi aplikacije i deploya još ne pružaju potpunu secret-redaction boundary. Proces koji ispiše okruženje, credential-bearing URL ili tajnu u error može je izložiti u zapisima i test evidence.
Stoga ne koristite ovu preview pohranu za produkcijske vjerodajnice dok vaš deployment nema neovisne access controls, testove sigurnosne kopije i obnove, log-redaction validation, retention rules i dokumentirani postupak key-rotation. Nikad ne stavljajte secrets u recipes, source code, commands, URLs, test descriptions ni assertion expectations.
Pogledajte Uvođenje aplikacija za tijek promocije kandidata.