Skip to Content
TestingRakenduse keskkonnamuutujad

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

MethodPathPurpose
GET/api/apps/{app_id}/envMaskitud app võtmete nimekiri ja versiooni olek
PUT/api/apps/{app_id}/envTransaktsiooniline set/delete app võtmetele
POST/api/apps/{app_id}/env/revealAuditeeritud ühe app võtme plaintext reveal
GET/api/account/envMaskitud account võtmete nimekiri
PUT/api/account/envTransaktsiooniline set/delete account võtmetele
POST/api/account/env/revealAuditeeritud ühe account võtme plaintext reveal
PUT/api/apps/{app_id}/env/managedSeadistatud 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.