Ana içeriğe geç

Ortam Değişkenleri Yönetimi

bilgi

Ortam Değişkenleri kavramı hakkında detaylı bilgi için Environment Variable temel kavramlar sayfasına bakabilirsiniz.

Bu sayfa, Ortam Değişkenleri'nin nasıl oluşturulacağı, düzenleneceği ve kullanılacağına dair pratik bilgileri içerir. Ortam Değişkenleri, Apinizer API Management Platform'unda farklı ortamlarda (Development, Test, Production) farklı değerler kullanılması gereken yapılandırma bilgilerini merkezi olarak yönetmenizi sağlayan bir özelliktir. Bu özellik sayesinde aynı API Proxy yapılandırması farklı ortamlarda farklı backend adresleri, veritabanı bağlantı bilgileri, API anahtarları gibi değerleri dinamik olarak kullanabilir.

Çalışma Mantığı

1. Tanımlama Aşaması

Ortam değişkenleri proje seviyesinde tanımlanır ve iki tipte olabilir:

  • Global (Tüm Ortamlar): Tüm ortamlarda aynı değeri kullanır
  • Environment-Specific (Ortam Özelinde): Her ortam için farklı değerler tanımlanabilir

2. Kullanım Aşaması

Ortam değişkenleri, yapılandırma alanlarında ${variableName} formatında kullanılır:

  • Örnek 1: Backend adresi için ${BACKEND_URL}
  • Örnek 2: Veritabanı bağlantı string'i için jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}
  • Örnek 3: API anahtarı için ${API_KEY}

3. Runtime Çözümleme

API Proxy çalışırken (runtime):

  1. Yapılandırmadaki ${variableName} formatındaki ifadeler tespit edilir
  2. İlgili ortamın (Environment) değişken değeri alınır
  3. Değer otomatik olarak decrypt edilir — tüm değerler şifreli saklandığı için bu adım Secret işaretli olmayan değerler için de çalışır
  4. Değişken adı gerçek değerle değiştirilir
  5. İşlem gerçek değerle devam eder

Örnek Senaryo:

  • Development Ortamı: BACKEND_URL = dev-api.example.com
  • Production Ortamı: BACKEND_URL = api.example.com
  • Yapılandırmada: ${BACKEND_URL}
  • Runtime'da Development'ta: dev-api.example.com
  • Runtime'da Production'da: api.example.com

Ortam Değişkeni Oluşturma (Create)

Ortam değişkeni oluşturma adımlarını içeren görsel aşağıda verilmiştir:

Ortam Değişkeni Oluşturma

Ortam değişkeni oluşturma konfigürasyonları adım adım aşağıdaki tabloda anlatılmıştır:

Adımİşlev
Adım 1: Yeni Ortam Değişkeni EklemeOrtam Değişkenleri sayfasına gidin
Sağ üst köşedeki "Oluştur" (Create) butonuna tıklayın
Ortam Değişkeni düzenleme penceresi açılır
Adım 2: Temel Bilgileri GirmeKey Name (Değişken Adı):
Zorunlu alan
Proje içinde benzersiz olmalıdır
İsim kontrolü otomatik yapılır
Geçerli isim: Yeşil onay işareti
Mevcut isim: Kırmızı uyarı işareti

Açıklama (Description):
İsteğe bağlı alan
Değişkenin ne için kullanıldığını açıklar
Adım 3: Tip SeçimiEnvironment-Specific (Ortam Özelinde):
Her ortam için farklı değer tanımlanabilir
Yeni kayıt oluştururken seçilir
Kayıt oluşturulduktan sonra değiştirilemez

Global (Tüm Ortamlar):
Tüm ortamlarda aynı değer kullanılır
Yeni kayıt oluştururken seçilir
Kayıt oluşturulduktan sonra değiştirilemez

:::info

Tip seçimi sadece yeni kayıt oluştururken yapılabilir. Mevcut kayıtların tipi değiştirilemez.

::: | | Adım 4: Değer Tanımlama | Environment-Specific Değişkenler İçin:
Ortam Ekleme: "Ortam Ekle" butonuna tıklayarak yeni ortam ekleyin
Ortam Seçimi: Her değer için bir ortam seçin
Mevcut ortamlar listeden seçilir
"Custom..." seçeneği ile özel ortam adı girilebilir
Değer Girme: Her ortam için değer girin
Secret Ayarlama: Değerin bir daha okunmasını istemiyorsanız "Secret" checkbox'ını işaretleyin
Tüm değerler, Secret işaretlensin ya da işaretlenmesin, veritabanında şifreli saklanır
Secret olmayan değerler ekranda maskeli gösterilir; göz ikonuyla açılıp kopyalanabilir
Secret değerler kaydedildikten sonra hiçbir zaman görüntülenemez
Güncelleme sırasında değer değiştirilmemişse mevcut değer korunur

Global Değişkenler İçin:
Global Değer: Tek bir değer girin (tüm ortamlar için geçerli)
Secret Ayarlama: Değerin bir daha okunmasını istemiyorsanız "Secret" checkbox'ını işaretleyin | | Adım 5: Kaydetme ve Deployment | Form Kontrolü: Tüm zorunlu alanlar doldurulmalı ve isim geçerli olmalı
"Kaydet ve Deploy" butonuna tıklayın
Onay Dialog'u:
Değişken adını tekrar girmeniz istenir (güvenlik için)
Etkilenecek bileşenler listelenir:
API Proxy Routing ayarları
Policy Configuration ayarları
Connector ayarları
Diğer yapılandırma ayarları
Deployment Sonucu:
Tüm çalışan ortamlara (Environments) otomatik olarak deploy edilir
Deployment sonuçları gösterilir |

Yeni Ortam Değişkeni Ekleme
  1. Ortam Değişkenleri sayfasına gidin
  2. Sağ üst köşedeki "Oluştur" (Create) butonuna tıklayın
  3. Ortam Değişkeni düzenleme penceresi açılır
Temel Bilgileri Girme

Key Name (Değişken Adı):

  • Zorunlu alan
  • Proje içinde benzersiz olmalıdır
  • İsim kontrolü otomatik yapılır
  • Geçerli isim: Yeşil onay işareti
  • Mevcut isim: Kırmızı uyarı işareti

Açıklama (Description):

  • İsteğe bağlı alan
  • Değişkenin ne için kullanıldığını açıklar
Tip Seçimi

Environment-Specific (Ortam Özelinde):

  • Her ortam için farklı değer tanımlanabilir
  • Yeni kayıt oluştururken seçilir
  • Kayıt oluşturulduktan sonra değiştirilemez

Global (Tüm Ortamlar):

  • Tüm ortamlarda aynı değer kullanılır
  • Yeni kayıt oluştururken seçilir
  • Kayıt oluşturulduktan sonra değiştirilemez
bilgi

Tip seçimi sadece yeni kayıt oluştururken yapılabilir. Mevcut kayıtların tipi değiştirilemez.

Değer Tanımlama

Environment-Specific Değişkenler İçin:

  1. Ortam Ekleme: "Ortam Ekle" butonuna tıklayarak yeni ortam ekleyin
  2. Ortam Seçimi: Her değer için bir ortam seçin
    • Mevcut ortamlar listeden seçilir
    • "Custom..." seçeneği ile özel ortam adı girilebilir
  3. Değer Girme: Her ortam için değer girin
  4. Secret Ayarlama: Değerin bir daha okunmasını istemiyorsanız "Secret" checkbox'ını işaretleyin
    • Tüm değerler, Secret işaretlensin ya da işaretlenmesin, veritabanında şifreli saklanır
    • Secret olmayan değerler ekranda maskeli gösterilir; göz ikonuyla açılıp kopyalanabilir
    • Secret değerler kaydedildikten sonra hiçbir zaman görüntülenemez: ekranda gösterilmez, API'den dönmez ve dışa aktarma paketine düz metin olarak girmez
    • Güncelleme sırasında değer değiştirilmemişse mevcut değer korunur

Global Değişkenler İçin:

  1. Global Değer: Tek bir değer girin (tüm ortamlar için geçerli)
  2. Secret Ayarlama: Değerin bir daha okunmasını istemiyorsanız "Secret" checkbox'ını işaretleyin
Kaydetme ve Deployment
  1. Form Kontrolü: Tüm zorunlu alanlar doldurulmalı ve isim geçerli olmalı
  2. "Kaydet ve Deploy" butonuna tıklayın
  3. Onay Dialog'u:
    • Değişken adını tekrar girmeniz istenir (güvenlik için)
    • Etkilenecek bileşenler listelenir:
      • API Proxy Routing ayarları
      • Policy Configuration ayarları
      • Connector ayarları
      • Diğer yapılandırma ayarları
  4. Deployment Sonucu:
    • Tüm çalışan ortamlara (Environments) otomatik olarak deploy edilir
    • Deployment sonuçları gösterilir
bilgi

Ortam değişkeni değerlerinin tamamı veritabanında şifreli saklanır — bir değeri korumak için Secret işaretlemeniz gerekmez. Secret işaretlemeyi yalnızca değerin hiç kimse tarafından geri okunmaması gerektiğinde kullanın:

  • Secret olmayan değer: ekranda maskeli görünür, göz ikonuyla açılır ve kopyalanabilir; okuma API'lerinde ve dışa aktarma paketinde düz metin olarak yer alır.
  • Secret değer: kaydedildikten sonra bir daha görüntülenemez; ekranda gösterilmez, API yanıtlarında null döner ve dışa aktarma paketine düz metin olarak girmez.

Secret işaretli bir değer geri okunamadığı için, değeri değiştirmek isterseniz yenisini yazmanız gerekir.

Ortam Değişkeni Düzenleme (Edit)

Düzenleme Modal'ının Açılması

Düzenleme modal'ı aşağıdaki yollarla açılabilir:

YöntemAçıklama
Liste'den TıklamaOrtam değişkeni adına tıklanır
Menü'den SeçimSatır sonundaki menüden "Edit" seçilir

Düzenleme Modal'ındaki Farklılıklar

ÖzellikYeni KayıtDüzenleme
Modal Başlığı"Add Environment Variable""Edit Environment Variable"
Type SeçimiAktif (değiştirilebilir)Pasif (değiştirilemez)
Secret Olmayan DeğerlerMaskeli girilir, göz ikonuyla açılabilirMaskeli görünür, göz ikonuyla açılıp kopyalanabilir
Secret DeğerlerMaskeli girilir, göz ikonuyla açılabilirSalt-okunur maske (************); göz ve kopyala yoktur
Secret CheckboxAktifKaydedilmiş secret'lar için pasif

Ortam Değişkenleri Kullanımı

Ortam değişkenleri, Apinizer API Manager platformunda çeşitli yapılandırma alanlarında kullanılabilir. Bu bölümde ortam değişkenlerinin nasıl kullanılacağı, hangi yapılandırmalarda kullanılabileceği ve pratik örnekler detaylı olarak açıklanmaktadır.

Kullanım Formatı

Ortam değişkenleri, yapılandırma alanlarında özel bir format kullanılarak referans edilir.

Format Yapısı

FormatAçıklamaÖrnek
${variableName}Temel kullanım formatı${BACKEND_URL}
text${variableName}Metin ile birleştirmehttps://${API_HOST}
${variableName}textMetin ile birleştirme${API_PORT}/api
text${variable1}text${variable2}Birden fazla değişkenjdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}

Format Kuralları

KuralAçıklama
Başlangıç Karakteri${ ile başlamalıdır
Bitiş Karakteri} ile bitmelidir
Değişken AdıOrtada değişken adı yer alır (boşluk olmadan)
Büyük/Küçük HarfDeğişken adı büyük/küçük harf duyarlıdır
Özel KarakterlerDeğişken adında nokta (.), alt çizgi (_) kullanılabilir

Kullanım Yerleri

Ortam değişkenleri Apinizer platformunda çeşitli yapılandırma alanlarında kullanılabilir. Ancak Environment Variable Seçim Dialog'u sadece belirli alanlarda mevcuttur.

1. API Proxy - Routing (Yönlendirme)

Kullanım Alanı: Upstream Routing adresleri

ÖzellikAçıklama
KonumAPI Proxy > Upstream/Routing Tab > Define Address(es)
AlanBackend API adresi input alanı
KullanımBackend API adreslerinde ortam bazlı yönlendirme
ErişimAdres input alanının sağındaki liste ikonu butonuna tıklanarak

Kullanım Senaryosu: Farklı ortamlarda farklı backend adresleri kullanmak için

2. Database Connection (Veritabanı Bağlantısı)

Kullanım Alanı: Veritabanı bağlantı yapılandırması

ÖzellikAçıklama
KonumAdministration > Connection Management > Connection Pool Def DB
AlanlarJDBC URL, Username, Password
KullanımVeritabanı bağlantı bilgilerinde ortam bazlı yönetim
Dialog ErişimiHer alanın sağındaki liste ikonu butonuna tıklanarak
Secret KullanımıPassword alanı mutlaka secret olarak işaretlenmelidir

Kullanım Senaryosu: Farklı ortamlarda farklı veritabanı bağlantı bilgileri kullanmak için

3. LDAP Connection (LDAP Bağlantısı)

Kullanım Alanı: LDAP bağlantı yapılandırması

ÖzellikAçıklama
KonumAdministration > Connection Management > Connection Pool Def LDAP
AlanlarLDAP URL, Bind DN, Bind Password
KullanımLDAP bağlantı bilgilerinde ortam bazlı yönetim
Dialog ErişimiHer alanın sağındaki liste ikonu butonuna tıklanarak
Secret KullanımıBind Password mutlaka secret olarak işaretlenmelidir

Kullanım Senaryosu: Farklı ortamlarda farklı LDAP bağlantı bilgileri kullanmak için

4. AI Gateway — Buton ile Panoya Kopyalama (MCP Gateway, A2A Gateway, LLM Sağlayıcılar, Vector Veritabanları)

Kullanım Alanı: AI Gateway modülündeki satır içi MCP sunucusu / A2A ajanı kimlik doğrulama ayarları ile LLM/VectorDB bağlantı bilgileri

ÖzellikAçıklama
KonumMCP Gateway — bir MCP Gateway'inin MCP Routing sekmesi ya da MCP Çağrısı (LLM) / MCP Araç Çağırma politikasının satır içi sunucu alanları (Uç Nokta, Bearer Token veya OAuth2 istemci kimlik bilgileri) · A2A Gateway — bir A2A Gateway'inin A2A Routing sekmesi ya da A2A Çağrısı (LLM) / A2A Ajan Çağırma politikasının satır içi ajan alanları (Uç Nokta, Bearer Token veya OAuth2 istemci kimlik bilgileri) · AI Gateway > LLM Sağlayıcılar (Uç Nokta URL, API Anahtarı, API Gizli Anahtarı, Organizasyon ID) · AI Gateway > RAG > Vector Veritabanları tab'ı (Varsayılan Koleksiyon Adı)
AlanlarYukarıdaki ekranlardaki ilgili metin girişleri
KullanımKimlik doğrulama bilgisi ve LLM/VectorDB bağlantı bilgisinde ortam bazlı yönetim
Dialog ErişimiVar — sayfa üstündeki araç çubuğunda kod ikonlu "Değişken" butonuna tıklandığında "Ortam Değişkeni Seç" penceresi açılır; listeden bir değişkene tıklandığında değeri (${değişkenAdı} biçiminde) panoya kopyalanır ve ilgili alana elle yapıştırılır (alan bazında otomatik doldurma yoktur, buton sayfa geneli tek bir giriş noktasıdır)
Secret KullanımıAPI Anahtarı, API Gizli Anahtarı, Bearer Token ve OAuth2 istemci sırrı gibi hassas alanlar secret olarak saklanır; alana bir ortam değişkeni ifadesi girildiğinde (yapıştırma veya elle yazma) şifreleme atlanır ve değer çalışma zamanında ortam değişkeninden çözümlenir

Kullanım Senaryosu: Aynı AI Gateway yapılandırmasını farklı ortamlarda farklı LLM sağlayıcı anahtarları veya farklı MCP/A2A sunucu kimlik bilgileriyle çalıştırmak için

5. AI Gateway — Manuel Giriş (AI RAG Injection Politikası)

Kullanım Alanı: AI RAG Injection politikasının bağlantı/şablon alanları

ÖzellikAçıklama
KonumAI RAG Injection politikası (Koleksiyon Adı, Enjeksiyon Şablonu, Embedding Model)
AlanlarYukarıdaki politikadaki ilgili metin girişleri
KullanımRAG bağlantı bilgisinde ortam bazlı yönetim
Dialog ErişimiYok — bu alanlarda Environment Variable Seçim Dialog'u sunulmaz; değişken adını ${DEĞİŞKEN_ADI} biçiminde doğrudan alana yazmanız gerekir
Secret KullanımıBu politikanın alanları secret olarak işaretli değildir; ortam değişkeni ifadesi yazıldığında değer çalışma zamanında ortam değişkeninden çözümlenir

Kullanım Senaryosu: Aynı AI Gateway yapılandırmasını farklı ortamlarda farklı RAG koleksiyon adlarıyla çalıştırmak için

bilgi

AI Prompt Koruyucu (Prompt Guard) politikasındaki regex/desen alanları, güvenlik nedeniyle ortam değişkeni çözümlemesini desteklemez; bu alanlara yazılan değer olduğu gibi kullanılır.

Kullanım Senaryoları ve Örnekler

Problem: Farklı ortamlarda farklı backend API adresleri kullanılıyor.

Çözüm:

  1. Ortam Değişkeni Oluşturma:
Key Name: BACKEND_API_URL
Type: Environment-Specific
Development: https://dev-api.example.com
Test: https://test-api.example.com
Production: https://api.example.com
  1. Routing'de Kullanım:
Address: ${BACKEND_API_URL}
  1. Sonuç:
  • Development ortamında istekler https://dev-api.example.com adresine gider
  • Test ortamında istekler https://test-api.example.com adresine gider
  • Production ortamında istekler https://api.example.com adresine gider

İlgili Sayfalar