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
| Method | Path | Purpose |
|---|---|---|
GET | /api/apps/{app_id}/env | Maskuotas app raktų sąrašas ir versijos būsena |
PUT | /api/apps/{app_id}/env | Transakcinis set/delete app raktams |
POST | /api/apps/{app_id}/env/reveal | Audituotas vieno app rakto plaintext reveal |
GET | /api/account/env | Maskuotas account raktų sąrašas |
PUT | /api/account/env | Transakcinis set/delete account raktams |
POST | /api/account/env/reveal | Audituotas vieno account rakto plaintext reveal |
PUT | /api/apps/{app_id}/env/managed | Sukonfigū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ą.