Rakenduse keskkonnamuutujad
OpenFactory saab salvestada app ja account scope keskkonnaväärtusi, krüptida need puhkeolekus ja kirjutada need kandidaadi app VM-i deploy ajal. See on varajane failipõhine salajaste andmete hoidla, mitte hallatav vault.
Ulatus ja eelisjärjekord
- Account väärtused on korduvkasutatavad vaikimisi väärtused iga selle account app jaoks.
- App väärtused kirjutavad sama nimega account väärtused üle.
- Hallatavad väärtused kirjutab seadistatud producer token ja registreerib produceri, kellele võti kuulub.
- Muudetud väärtus suurendab
env_version; edukas deploy salvestab rakendatud versiooni. Erinevus tähendab, et on vaja redeploy.
Nimed peavad olema suurtähelised keskkonna identifikaatorid, neid piiratakse 128
märgiga ja ei tohi kasutada reserveeritud OPENFACTORY_ eesliidet. Kasutaja väärtused
on piiratud 8 KiB-ga ja app on piiratud 100 võtmega.
MCP töövoog
List operatsioonid maskivad väärtusi alati. Avalda üks väärtus ainult vajadusel:
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"
)Sama muster on saadaval kui set_account_env, list_account_env ja
reveal_account_env. App taseme set/delete operatsioonid tagastavad env_version
ja redeploy_hint; väärtuse seadmine ei muuda töötavat VM-i.
REST pind
| Method | Path | Purpose |
|---|---|---|
GET | /api/apps/{app_id}/env | Maskitud app võtmete nimekiri ja versiooni olek |
PUT | /api/apps/{app_id}/env | Transaktsiooniline set/delete app võtmetele |
POST | /api/apps/{app_id}/env/reveal | Auditeeritud ühe app võtme plaintext reveal |
GET | /api/account/env | Maskitud account võtmete nimekiri |
PUT | /api/account/env | Transaktsiooniline set/delete account võtmetele |
POST | /api/account/env/reveal | Auditeeritud ühe account võtme plaintext reveal |
PUT | /api/apps/{app_id}/env/managed | Seadistatud producer avaldab hallatavad võtmed |
DELETE | /api/apps/{app_id}/env/managed/{name} | Producer eemaldab hallatava võtme, millele ta omab |
Kasutajapinnad rakendavad lahendatud omaniku konteksti. Hallatavad endpoint kasutavad
<kid>.<secret> bearer credential operatori seadistatud producer-token
failist; ilma selle failita tagastab producer API unavailable.
Deploy käitumine
Deploy ajal backend dekrüpteerib account väärtused, katab app väärtustega, lisab
platvormi runtime väljad ja kirjutab VM-i /etc/openfactory/app.env
režiimiga 0600. Protsess käivitatakse selle failiga keskkonnana.
Kui dekrüpteerimine, faili kohaletoimetamine või käivitamine ebaõnnestub, kandidaati ei promoted.
Turvapiir
- Salvestatud väärtused kasutavad Fernet krüptimist. Operaator peab tagama ja kaitsma
OPENFACTORY_ENV_MASTER_KEY; selle kaotamine või asendamine muudab olemasolevad väärtused loetamatuteks. - List vastused on maskitud. Selged reveal ja mutatsioonid lisavad JSONL auditisündmuse.
- Praegune hoidla ja auditi trail on kohalikud failid. Need ei paku riistvaraga toetatud võtmeid, mitme osapoole kinnitust, tamper-evident logging, automaatset rotatsiooni ega disaster-recovery garantiid.
- Rakenduse ja deploy logid ei paku veel täielikku secret-redaction piiri. Protsess, mis prindib oma keskkonna, credential URL-i või salajase veateates, võib selle paljastada logides ja test evidence.
Sellepärast ära kasuta seda eelvaate hoidlat production credential jaoks enne, kui sinu deploymentul on sõltumatud juurdepääsukontrollid, backup ja restore testid, log-redaction valideerimine, retention reeglid ja dokumenteeritud key-rotation protseduur. Ära kunagi pane salajasi andmeid recipes, source code, commands, URLs, test kirjeldustesse ega assertion expectations.
Vaata Rakenduse deploy kandidaadi promotion voogu.