Skip to Content
TestingProgramos aplinkos kintamieji

Programos aplinkos kintamieji

OpenFactory gali saugoti app ir account scope aplinkos reikšmes, užšifruoti jas saugojimo metu ir įrašyti į kandidato app VM diegimo metu. Tai ankstyva failais pagrįsta slaptų duomenų saugykla, ne valdomas vault.

Aprėptis ir prioritetas

  • Account reikšmės yra pakartotinai naudojami numatytieji kiekvienai to account app.
  • App reikšmės perrašo to paties pavadinimo account reikšmes.
  • Valdomos reikšmės rašomos sukonfigūruotu producer token ir registruoja producer, kuriam priklauso raktas.
  • Pakeista reikšmė padidina env_version; sėkmingas deploy užregistruoja pritaikytą versiją. Skirtumas reiškia, kad reikia redeploy.

Pavadinimai turi būti didžiosiomis raidėmis aplinkos identifikatoriai, ribojami iki 128 simbolių ir negali naudoti rezervuoto OPENFACTORY_ prefikso. Vartotojo reikšmės ribojamos iki 8 KiB, o app ribojama iki 100 raktų.

MCP darbo eiga

List operacijos visada maskuoja reikšmes. Atidengkite vieną reikšmę tik kai reikia:

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" )

Tas pats modelis prieinamas kaip set_account_env, list_account_env ir reveal_account_env. App lygio set/delete operacijos grąžina env_version ir redeploy_hint; reikšmės nustatymas nepakeičia veikiančios VM.

REST sąsaja

MethodPathPurpose
GET/api/apps/{app_id}/envMaskuotas app raktų sąrašas ir versijos būsena
PUT/api/apps/{app_id}/envTransakcinis set/delete app raktams
POST/api/apps/{app_id}/env/revealAudituotas vieno app rakto plaintext reveal
GET/api/account/envMaskuotas account raktų sąrašas
PUT/api/account/envTransakcinis set/delete account raktams
POST/api/account/env/revealAudituotas vieno account rakto plaintext reveal
PUT/api/apps/{app_id}/env/managedSukonfigūruotas producer publikuoja valdomus raktus
DELETE/api/apps/{app_id}/env/managed/{name}Producer pašalina valdomą raktą, kuriam priklauso

Vartotojo sąsajos taiko nustatytą savininko kontekstą. Valdomi endpoint naudoja <kid>.<secret> bearer credential iš operatoriaus sukonfigūruoto producer-token failo; be to failo producer API grąžina unavailable.

Deploy elgsena

Diegimo metu backend iššifruoja account reikšmes, uždeda app reikšmes, prideda platformos runtime laukus ir VM įrašo /etc/openfactory/app.env su režimu 0600. Procesas paleidžiamas su tuo failu kaip aplinka. Jei iššifravimas, failo pristatymas ar paleidimas nepavyksta, kandidatas nepromuojamas.

Saugumo riba

  • Saugomos reikšmės naudoja Fernet šifravimą. Operatorius turi pateikti ir saugoti OPENFACTORY_ENV_MASTER_KEY; praradus ar pakeitus jį esamos reikšmės tampa neįskaitomos.
  • List atsakymai maskuojami. Aiškūs reveal ir mutacijos prideda JSONL audito įvykį.
  • Dabartinė saugykla ir audito trail yra vietiniai failai. Jie neteikia aparatūra paremtų raktų, kelių šalių patvirtinimo, tamper-evident logging, automatinės rotacijos ar disaster-recovery garantijos.
  • Programos ir deploy žurnalai dar neteikia pilnos secret-redaction ribos. Procesas, kuris spausdina savo aplinką, credential URL ar slaptažodį klaidoje, gali jį atskleisti žurnaluose ir test evidence.

Dėl to nenaudokite šios peržiūros saugyklos gamybos credential, kol jūsų deployment neturi nepriklausomų prieigos kontrolių, backup ir restore testų, log-redaction validacijos, retention taisyklių ir dokumentuotos key-rotation procedūros. Niekada nedėkite slaptų duomenų į recipes, source code, commands, URLs, test aprašymus ar assertion expectations.

Žr. Programos diegimas, kad sužinotumėte kandidato promotion eigą.