Skip to Content
TestingVarijable okruženja aplikacije

Varijable okruženja aplikacije

OpenFactory može pohraniti vrijednosti okruženja u opsegu aplikacije i računa, šifrirati ih u mirovanju i tijekom deploya zapisati ih u kandidat app VM. Rana je pohrana tajni u datotekama, ne upravljani vault.

Opseg i prednost

  • Vrijednosti računa ponovno su upotrebljive zadane vrijednosti za svaku aplikaciju tog računa.
  • Vrijednosti aplikacije nadjačavaju vrijednosti računa s istim nazivom.
  • Upravljane vrijednosti zapisuje konfigurirani producer token i bilježi producenta koji je vlasnik ključa.
  • Promijenjena vrijednost povećava env_version; uspješan deploy bilježi primijenjenu verziju. Razlika znači da je potreban redeploy.

Nazivi moraju biti identifikatori okruženja velikim slovima, ograničeni su na 128 znakova i ne smiju koristiti rezervirani prefiks OPENFACTORY_. Korisničke vrijednosti ograničene su na 8 KiB, a aplikacija na 100 ključeva.

MCP tijek rada

Operacije popisa uvijek maskiraju vrijednosti. Otkrijte jednu vrijednost samo kad je 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" )

Isti obrazac dostupan je kao set_account_env, list_account_env i reveal_account_env. Operacije postavljanja/brisanja na razini aplikacije vraćaju env_version i redeploy_hint; postavljanje vrijednosti ne mijenja VM u radu.

REST površina

MethodPathPurpose
GET/api/apps/{app_id}/envMaskirani popis ključeva aplikacije i stanje verzije
PUT/api/apps/{app_id}/envTransakcijsko postavljanje/brisanje ključeva aplikacije
POST/api/apps/{app_id}/env/revealRevidirano otkrivanje jednog ključa aplikacije u plaintextu
GET/api/account/envMaskirani popis ključeva računa
PUT/api/account/envTransakcijsko postavljanje/brisanje ključeva računa
POST/api/account/env/revealRevidirano otkrivanje jednog ključa računa u plaintextu
PUT/api/apps/{app_id}/env/managedKonfigurirani producent objavljuje upravljane ključeve
DELETE/api/apps/{app_id}/env/managed/{name}Producent uklanja upravljani ključ koji posjeduje

Korisničke površine provode razriješeni kontekst vlasnika. Upravljani endpointi koriste bearer credential oblika <kid>.<secret> iz datoteke producer tokena koju konfigurira operator; bez te datoteke producer API vraća unavailable.

Ponašanje pri deployu

Tijekom deploya backend dešifrira vrijednosti računa, preklapa vrijednosti aplikacije, dodaje runtime polja platforme i zapisuje /etc/openfactory/app.env u VM s načinom 0600. Proces se pokreće s tom datotekom kao okruženjem. Ako dešifriranje, isporuka datoteke ili pokretanje ne uspiju, kandidat se ne promovira.

Sigurnosna granica

  • Pohranjene vrijednosti koriste Fernet enkripciju. Operator mora osigurati i štititi OPENFACTORY_ENV_MASTER_KEY; gubitak ili zamjena čini postojeće vrijednosti nedekodabilnima.
  • Odgovori popisa maskirani su. Eksplicitna otkrivanja i mutacije dodaju JSONL audit event.
  • Trenutna pohrana i audit trail lokalne su datoteke. Ne pružaju hardware-backed keys, multi-party approval, tamper-evident logging, automatic rotation ni disaster-recovery guarantee.
  • Zapisi aplikacije i deploya još ne pružaju potpunu secret-redaction boundary. Proces koji ispiše okruženje, credential-bearing URL ili tajnu u error može je izložiti u zapisima i test evidence.

Stoga ne koristite ovu preview pohranu za produkcijske vjerodajnice dok vaš deployment nema neovisne access controls, testove sigurnosne kopije i obnove, log-redaction validation, retention rules i dokumentirani postupak key-rotation. Nikad ne stavljajte secrets u recipes, source code, commands, URLs, test descriptions ni assertion expectations.

Pogledajte Uvođenje aplikacija za tijek promocije kandidata.