Uygulama Ortamı Değişkenleri
OpenFactory, uygulama kapsamlı ve hesap kapsamlı ortam değerlerini depolayabilir, bunları beklemedeyken şifreleyin ve dağıtım sırasında bunları bir aday uygulama sanal makinesine dönüştürün. Bu, yönetilen bir kasa değil, eski bir dosya destekli gizli depodur.
Kapsam ve öncelik
- Hesap değerleri, söz konusu hesaba ait olan her uygulama için yeniden kullanılabilir varsayılanlardır.
- Uygulama değerleri, aynı ada sahip hesap değerlerini geçersiz kılar.
- Yönetilen değerler, yapılandırılmış bir üretici belirteci tarafından yazılır ve anahtarın sahibi olan yapımcı.
- Değiştirilen değer
env_versionartar; Başarılı bir dağıtım şunları kaydeder: uygulanan versiyon Bir fark, yeniden konuşlandırmanın gerekli olduğu anlamına gelir.
Adlar büyük harfli ortam tanımlayıcıları olmalıdır; 128 ile sınırlıdır
karakterleri kullanamaz ve ayrılmış OPENFACTORY_ önekini kullanamaz. Kullanıcı değerleri
8 KiB ile sınırlıdır ve bir uygulama 100 anahtarla sınırlıdır.
MCP iş akışı
Listeleme işlemleri her zaman değerleri maskeler. Yalnızca gerektiğinde bir değeri gösterin:
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"
)Aynı desen set_account_env, list_account_env ve
reveal_account_env. Uygulama düzeyinde ayarlama/silme işlemleri env_version sonucunu döndürür
ve bir redeploy_hint; bir değerin ayarlanması çalışan bir VM’yi değiştirmez.
REST yüzeyi
| Yöntem | Yol | Amaç |
|---|---|---|
GET | /api/apps/{app_id}/env | Maskelenmiş uygulama anahtarı listesi ve sürüm durumu |
PUT | /api/apps/{app_id}/env | Uygulama anahtarları için işlemsel ayarlama/silme |
POST | /api/apps/{app_id}/env/reveal | Bir uygulama anahtarının denetlenmiş düz metinle ortaya çıkması |
GET | /api/account/env | Maskelenmiş hesap anahtarı listesi |
PUT | /api/account/env | Hesap anahtarları için işlemsel ayarlama/silme |
POST | /api/account/env/reveal | Bir hesap anahtarının denetlenmiş düz metinle ortaya çıkması |
PUT | /api/apps/{app_id}/env/managed | Yapılandırılmış yapımcı yönetilen anahtarları yayınlıyor |
DELETE | /api/apps/{app_id}/env/managed/{name} | Yapımcı, sahip olduğu yönetilen anahtarı kaldırır |
Kullanıcı yüzeyleri çözümlenen sahip bağlamını zorunlu kılar. Yönetilen uç noktalar şunları kullanır:
<kid>.<secret> operatör tarafından yapılandırılmış üretici belirtecinden alınan taşıyıcı kimlik bilgisi
dosya; bu dosya olmadan yapımcı API’si kullanılamaz duruma gelir.
Davranışı dağıt
Dağıtım sırasında arka uç, hesap değerlerinin şifresini çözer, uygulama değerlerini üst üste koyar, ekler
platformun çalışma zamanı alanlarına gider ve VM’de /etc/openfactory/app.env yazar
0600 modunda. Süreç, bu dosyanın ortamı olmasıyla başlatılır.
Şifre çözme, dosya teslimi veya başlatma işlemi başarısız olursa aday terfi ettirilmez.
Güvenlik sınırı
- Saklanan değerler Fernet şifrelemesini kullanır. Operatör tedarik etmeli ve korumalıdır
OPENFACTORY_ENV_MASTER_KEY; onu kaybetmek veya değiştirmek mevcut değerleri değiştirir şifresi çözülemez. - Liste yanıtları maskelenir. Açık ortaya çıkarmalar ve mutasyonlar bir JSONL ekler denetim olayı.
- Mevcut depolama ve denetim takibi yerel dosyalardır. sağlamazlar donanım destekli anahtarlar, çok taraflı onay, kurcalanmaya karşı korumalı günlük kaydı, otomatik rotasyon veya olağanüstü durum kurtarma garantisi.
- Uygulama ve dağıtım günlükleri henüz tam bir gizli düzenleme sağlamamaktadır sınır. Kimlik bilgisi taşıyan bir URL olan ortamını yazdıran bir süreç, veya bir hatadaki sır, onu günlüklerde ve test kanıtlarında açığa çıkarabilir.
Bu nedenle, üretim kimlik bilgileri için bu önizleme deposunu şu ana kadar kullanmayın: dağıtımınızda bağımsız erişim kontrolleri, yedekleme ve geri yükleme testleri bulunur, günlük düzenleme doğrulaması, saklama kuralları ve belgelenmiş anahtar rotasyonu prosedür. Tariflere, kaynak kodlara, komutlara, URL’lere, testlere asla sır koymayın açıklamalar veya iddia beklentileri.
Aday tanıtım akışı için Uygulama dağıtımı’a bakın.