Okoljske spremenljivke aplikacije
OpenFactory lahko shrani vrednosti okolja v obsegu aplikacije in računa, jih šifrira v mirovanju in jih ob uvajanju zapiše v kandidatno app VM. To je zgodnja shramba skrivnosti v datotekah, ne upravljani trezor.
Obseg in prednost
- Vrednosti računa so ponovno uporabne privzete vrednosti za vsako aplikacijo tega računa.
- Vrednosti aplikacije preglasijo vrednosti računa z enakim imenom.
- Upravljane vrednosti zapiše konfiguriran producer token in zabeleži producenta, ki je lastnik ključa.
- Spremenjena vrednost poveča
env_version; uspešno uvajanje zabeleži uporabljeno različico. Razlika pomeni, da je potrebno ponovno uvajanje.
Imena morajo biti identifikatorji okolja z velikimi črkami, so omejena na 128
znakov in ne smejo uporabljati rezerviranega predpona OPENFACTORY_. Uporabniške vrednosti so
omejene na 8 KiB in aplikacija na 100 ključev.
Potek MCP
Operacije seznama vedno maskirajo vrednosti. Razkrijte eno vrednost le, ko je to 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"
)Enak vzorec je na voljo kot set_account_env, list_account_env in
reveal_account_env. Operacije nastavitve/brisanja na ravni aplikacije vrnejo env_version
in redeploy_hint; nastavitev vrednosti ne spremeni tekoče VM.
REST vmesnik
| Method | Path | Purpose |
|---|---|---|
GET | /api/apps/{app_id}/env | Maskiran seznam ključev aplikacije in stanje različice |
PUT | /api/apps/{app_id}/env | Transakcijsko nastavljanje/brisanje ključev aplikacije |
POST | /api/apps/{app_id}/env/reveal | Revidirano razkritje enega ključa aplikacije v plaintextu |
GET | /api/account/env | Maskiran seznam ključev računa |
PUT | /api/account/env | Transakcijsko nastavljanje/brisanje ključev računa |
POST | /api/account/env/reveal | Revidirano razkritje enega ključa računa v plaintextu |
PUT | /api/apps/{app_id}/env/managed | Konfiguriran producent objavi upravljane ključe |
DELETE | /api/apps/{app_id}/env/managed/{name} | Producent odstrani upravljani ključ, ki ga ima v lasti |
Uporabniške površine uveljavljajo razrešen kontekst lastnika. Upravljane končne točke uporabljajo
bearer credential oblike <kid>.<secret> iz datoteke producer tokena, ki jo konfigurira operater;
brez te datoteke producer API vrne unavailable.
Obnašanje ob uvajanju
Med uvajanjem backend dešifrira vrednosti računa, prekrije vrednosti aplikacije, doda
runtime polja platforme in zapiše /etc/openfactory/app.env v VM z načinom 0600.
Proces se zažene s to datoteko kot okoljem. Če dešifriranje, dostava datoteke ali zagon
spodletijo, kandidat ni promoviran.
Varnostna meja
- Shranjene vrednosti uporabljajo šifriranje Fernet. Operater mora zagotoviti in varovati
OPENFACTORY_ENV_MASTER_KEY; izguba ali zamenjava onemogoči dešifriranje obstoječih vrednosti. - Odgovori seznama so maskirani. Eksplicitna razkritja in mutacije dodajo JSONL audit event.
- Trenutno shrambo in audit trail predstavljata lokalne datoteke. Ne zagotavljata hardware-backed keys, multi-party approval, tamper-evident logging, automatic rotation ali disaster-recovery guarantee.
- Dnevniki aplikacije in uvajanja še ne zagotavljajo popolne secret-redaction boundary. Proces, ki izpiše okolje, credential-bearing URL ali skrivnost v error, jo lahko razkrije v dnevnikih in test evidence.
Zato te predogledne shrambe ne uporabljajte za produkcijske poverilnice, dokler vaše uvajanje nima neodvisnih access controls, testov varnostne kopije in obnovitve, log-redaction validation, retention rules in dokumentiranega postopka key-rotation. Nikoli ne postavljajte secrets v recipes, source code, commands, URLs, test descriptions ali assertion expectations.
Glej Uvajanje aplikacij za potek promocije kandidata.