# Gyro Kapsayıcı: ortam değişkenleri ve gizli değerler (parola, API anahtarı)

https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-kapsayici-degiskenler-ve-gizli-degerler

- **Bu rehberde ne öğreneceksiniz**: Uygulamanıza ayar ve parolaları nasıl vereceğinizi, ortam değişkeni ile gizli değer arasındaki farkı, değişikliğin servisi nasıl etkilediğini ve komut satırı/API ile nasıl yönetileceğini.
- **Süre**: 7 dakika
- **Kimin için**: Uygulamasını yapılandıracak geliştiriciler.
- **Gerekenler**: Çalışan bir servis ([İlk uygulamanızı yayınlayın](https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-kapsayici-ilk-uygulama)).

## 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) |

> **Dikkat**
> 
> 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

1. Ortamınızda **Servisler**'e girin ve servisinize tıklayın.
2. **Ortam değişkenleri** bölümündeki **Düzenle**'ye basın.
3. Her satıra `ANAHTAR=DEĞER` yazın. **Listede olmayanlar silinir**; yani liste tam kümeyi temsil eder.
4. **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

1. Servis sayfasında **Gizli değerler** bölümünde **Ekle**'ye basın.
2. **Ad** (ör. `DB_PASSWORD`) ve **Değer** girin, kaydedin. "Gizli değer kaydedildi, servis yeniden başlatılıyor." görürsünüz.
3. Değer şifreli saklanır; panel ve API **yalnız adı** gösterir. Değeri değiştirmek için aynı adla yeniden kaydedin.
4. 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
```

> **Bilgi**
> 
> 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](https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-kapsayici-api-cli-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](https://www.gyrohosting.com/bilgi-bankasi/makale/nesne-depolama-s3-rehberi)'dan okuyun.

## Sıradaki adım

- [Alan adı ve SSL](https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-kapsayici-alan-adi-ssl)
- [Ölçekleme, güncelleme ve geri alma](https://www.gyrohosting.com/bilgi-bankasi/makale/gyro-kapsayici-olcekleme-guncelleme-geri-alma)
