Gyro Kapsayıcı: ortam değişkenleri ve gizli değerler (parola, API anahtarı)
1. Değişken mi, gizli değer mi?
| Ortam değişkeni | Gizli değer | |
|---|---|---|
| Ne için? | Ayarlar: MODE=prod, LOG_LEVEL=info |
Parola, API anahtarı, token |
| Panelde görünür mü? | Evet, değerleriyle | Hayır: yalnız ad görünür, değer bir daha gösterilmez |
| Saklama | Servis sürümünün parçası | Şifreli saklanır |
| Uygulamaya | Ortam değişkeni olarak verilir | Ortam değişkeni olarak verilir |
| Sürüm geçmişinde | Var (geri almada geri gelir) | Yok (geri almada korunur, değişmez) |
Parola ve anahtarları ortam değişkenine değil, gizli değere yazın. Değişkenler sürüm geçmişinde ve API yanıtlarında görünür.
Kurallar: Değişken adı harf, rakam ve _'den oluşur. GYRO_ ile başlayan ve platformun ayırdığı önekli adlar kullanılamaz; kullanırsanız panel "Değişken adı/değeri geçersiz" der.
2. Ortam değişkenlerini düzenleme
- Ortamınızda Servisler'e girin ve servisinize tıklayın.
- Ortam değişkenleri bölümündeki Düzenle'ye basın.
- Her satıra
ANAHTAR=DEĞERyazın. Listede olmayanlar silinir; yani liste tam kümeyi temsil eder. - Kaydet'e basın. "Değişkenler kaydedildi, servis yeniden başlatılıyor." mesajı görünür.
Değişken değişikliği yeni bir sürüm oluşturur ve servis kesintisiz biçimde sırayla yeniden başlatılır. Geri alırsanız değişkenler eski değerlerine döner.
# Var olanlara ekle/güncelle
gyro container env set 12345 api --data '{"set":{"MODE":"prod","LOG_LEVEL":"info"}}'
# Bir değişkeni kaldır
gyro container env set 12345 api --unset LOG_LEVEL
# Tüm kümeyi bu liste ile değiştir
gyro container env set 12345 api --replace 1 --data '{"set":{"MODE":"prod"}}'
3. Gizli değer ekleme ve silme
- Servis sayfasında Gizli değerler bölümünde Ekle'ye basın.
- Ad (ör.
DB_PASSWORD) ve Değer girin, kaydedin. "Gizli değer kaydedildi, servis yeniden başlatılıyor." görürsünüz. - Değer şifreli saklanır; panel ve API yalnız adı gösterir. Değeri değiştirmek için aynı adla yeniden kaydedin.
- Silmek için adın yanındaki sil düğmesini kullanın ("{ad} silinsin mi? Servis yeniden başlar").
# Değeri komut geçmişine yazmamak için stdin kullanın
echo '{"set":{"DB_PASSWORD":"çok-gizli"}}' | gyro container secret set 12345 api --data @-
gyro container secret delete 12345 api --keys DB_PASSWORD
Gizli değer eklemek ya da silmek servisin yeniden başlamasına neden olur; kopyalar sırayla yenilendiği için kesinti olmaz. Gizli değerler sürüm oluşturmaz, geri almada olduğu gibi kalır.
4. Uygulamanızda kullanma
Her iki tür de uygulamanıza ortam değişkeni olarak gelir:
import os
db_password = os.environ["DB_PASSWORD"] # gizli değer
mode = os.environ.get("MODE", "dev") # değişken
5. Sık sorulan sorular
Gizli değeri unuttum, nasıl görürüm?
Göremezsiniz; değer bir daha gösterilmez. Kaynağınızdan ya da parola yöneticinizden alıp yeniden kaydedin.
Aynı ad hem değişken hem gizli değer olabilir mi?
Aynı ada hem değişken hem gizli değer vermeyin; hangisinin geçerli olacağı belirsiz kalır. Parola gibi değerler için yalnız gizli değeri kullanın.
Terraform'da gizli değerler nasıl yönetilir?
secrets alanı yalnız yazılır; Terraform durumu değeri geri okumaz (API, CLI ve Terraform).
Dosya (sertifika, JSON anahtar) verebilir miyim?
Dosya bağlanamaz. İçeriği (ör. base64) bir gizli değere koyup uygulamanızda dosyaya yazın ya da Nesne Depolama'dan okuyun.
Sıradaki adım
Geri bildiriminiz için teşekkürler!