# Yapılandırma anahtarları

> Proxus-config.toml dosyasındaki her anahtarın varsayılan değeri, anlamı ve ortam değişkeni karşılığı; kullanılmayan anahtarlar da belirtilir.

Kaynak: https://proxus.io/tr/docs/reference/configuration

Merkez sunucu ve tüm Edge Gateway'ler ayarlarını `Proxus-config.toml` dosyasından okur. Bu sayfada, kurulumla gelen
dosyanın bütün bölümleri ve anahtarları listelenir. Ayarları merkez sunucunun ekranlarından değiştirmek için
[Yapılandırma](https://proxus.io/tr/docs/administer/configuration) sayfasına bakın.

## Dosyanın yeri ve okunması

- Doğrudan bir makineye yapılan kurulumda dosya, programla aynı klasördedir. Konteynerde `/app/config/` klasöründe
  bulunur; bu klasör, kurulumla gelen Docker Compose dosyasındaki `config` birimidir. Dosya yoksa ilk açılışta
  varsayılan dosya buraya yazılır.
- Merkez sunucu kendisiyle ilgili anahtarları, Edge Gateway da Edge Gateway'le ilgili anahtarları okur. Hangi anahtarı kimin
  okuduğu **Okuyan** sütununda belirtilir. Merkez sunucu, kendi içinde **SYSTEM** adlı bir Edge Gateway çalıştırır. Bu uç
  cihaz, Edge Gateway anahtarlarını aynı dosyadan okur.
- Ayarlar açılışta okunur. Bir ayarı değiştirdikten sonra merkez sunucuyu ya da Edge Gateway'i yeniden başlatın.

## Ortam değişkenleri

Her anahtar bir ortam değişkeniyle de verilebilir. Ortam değişkeni, dosyadaki değeri geçersiz kılar. Değişken adını
oluşturmak için bölüm adıyla anahtar adını iki alt çizgiyle birleştirin:

| Dosyada | Ortam değişkeni |
| --- | --- |
| `[NATS]` `BrokerUrl` | `NATS__BrokerUrl` |
| `[UNS.Optimizations]` `SummaryIntervalMs` | `UNS__Optimizations__SummaryIntervalMs` |
| `[Security]` `Lockout.Enabled` | `Security__Lockout__Enabled` |
| `[[WEBAPI.Authentication.Jwt]]` `IssuerSigningKey` | `WEBAPI__Authentication__Jwt__0__IssuerSigningKey` |
| `[MCP]` `IPWhitelist = ["10.0.0.0/8"]` | `MCP__IPWhitelist__0=10.0.0.0/8` |
| `[Service]` `UI-Port` | `Service__UI-Port` |

Yalnızca bir ortam değişkeninin dosyada karşılığı yoktur: `PROXUS_CERTIFICATE_STORE_KEY`. Bu değişken,
[Sertifika deposu](https://proxus.io/tr/docs/administer/certificates) içindeki özel anahtarları çözen anahtarı taşır (32 baytlık,
base64 bir değer). Değişken tanımlı değilse merkez sunucu bu anahtarı yapılandırma klasöründeki
`keys/STORE/certificate-store.key` dosyasında saklar. Hangisini kullanıyorsanız onu yapılandırma klasörüyle
birlikte yedekleyin.

Adlarda büyük ve küçük harf ayrımı yapılmaz. Liste öğeleri sıra numarasıyla yazılır (`__0`, `__1`). `UI-Port` gibi
kısa çizgi içeren anahtarlar Docker Compose ya da Kubernetes `environment` bloğunda sorunsuz çalışır, ancak Linux
kabuğunda `export` ile tanımlanamaz.

> **Uyarı:**
Programlar `Key=value` biçiminde bağımsız değişkenlerle de başlatılabilir (örneğin `./Proxus.Server GatewayID=2`).
Bu şekilde verilen değer yapılandırma dosyasına yazılır ve kalıcı olur. Üstelik dosyada o anahtarla başlayan bütün
satırlar, hangi bölümde olursa olsun değişir. Bu yüzden ortam değişkenlerini kullanın. `--Key=value` biçiminin hiçbir
etkisi yoktur.

**Kullanılmıyor** olarak işaretli anahtarlar dosyada yer alır, ancak bu sürümde hiçbir davranışı değiştirmez.

## Culture

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `Name` | `"tr-TR"` | merkez sunucu, Edge Gateway | Varsayılan dil ile sayı ve tarih biçimi. `en-US` gibi bir kültür adı yazılır. Bu kültür `Languages` listesinde yer alıyorsa kullanıcılar merkez sunucuda dili değiştirebilir ([Dil](#dil) bölümüne bakın). |

## Kestrel.EndpointDefaults

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `Protocols` | `"Http1AndHttp2"` | | **Kullanılmıyor.** Her port, desteklediği HTTP sürümlerini kendisi belirler. |

## NATS

Merkez sunucu ile Edge Gateway'ler arasındaki mesajlaşma sistemi. Merkez sunucunun NATS sunucusuna yapılan her bağlantı
TLS ile şifrelenir ve sunucunun kimliği platform CA'sı ile doğrulanır.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `BrokerUrl` | `"nats://localhost:4222"` | merkez sunucu, Edge Gateway | NATS sunucusunun adresi. Kurulumla gelen Docker yapılandırmasında `nats://hub-server:4222` değerini alır. |
| `BrokerUser` | `"acc"` | Edge Gateway | Kimlik bilgileri dosyası tanımlı değilse kullanılan kullanıcı adı. |
| `BrokerPassword` | `"acc"` | Edge Gateway | Kimlik bilgileri dosyası tanımlı değilse kullanılan parola. |
| `CredsFile` | `""` | Edge Gateway | Edge Gateway'in NATS kimlik bilgileri dosyasının yolu. Tanımlıysa kullanıcı adı ve parola yerine bu dosya kullanılır. Merkez sunucudan kurulan Edge Gateway'ler bu dosyayı kurulumla birlikte alır. |
| `CaFile` | `""` | Edge Gateway | NATS sunucusunu doğrulamak için kullanılan CA dosyası. Boş bırakılırsa merkez sunucunun kimlik bilgileri dosyasının yanına yazdığı dosya kullanılır. Yalnızca farklı bir yol gerekiyorsa doldurun. |
| `TlsHostNames` | tanımsız | merkez sunucu | Merkez sunucunun NATS sunucusuna erişmek için kullanılan ek adlar. Virgülle ayrılır, örneğin `"nats.plant.example"`. Sertifika bunlara ek olarak `hub-server` adını, merkez sunucu makinesinin adlarını ve adreslerini, Edge Gateway kurulum komutunun oluşturulduğu tüm adresleri ve `[Service] PublicHostNames` değerlerini de kapsar. |
| `ServerTrustDir` | tanımsız (`"/nats-config/nats"`) | merkez sunucu | NATS sunucusunun kendi sertifikasını aradığı klasör; yol, NATS sunucusunun gördüğü biçimde yazılır. Yalnızca NATS sunucusu güven klasörünü başka bir yere bağlıyorsa değiştirin. |

## Flows

Her Edge Gateway'de çalışan işlem akışı motorunun ayarları. Ayrıntılar için [İşlem akışı düğümleri](https://proxus.io/tr/docs/reference/pipeline-nodes) sayfasına bakın.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `EffectsEnabled` | `false` | Edge Gateway | **Canlı** modda yayınlanan işlem akışlarının cihazlara yazmasına, API çağırmasına ve veri hedeflerine göndermesine izin verir. `false` iken bu dış eylemler reddedilir. |
| `Workers` | `0` | Edge Gateway | İşlem akışlarını çalıştıran iş parçacığı sayısı. `0` değerinde işlemci çekirdeği sayısı kullanılır, ancak en fazla 4 olur. Geçerli aralık 1 ile 4 arasıdır. |
| `QueueCapacity` | `256` | Edge Gateway | Bir iş parçacığının boşalmasını bekleyebilecek en fazla olay sayısı (16 ile 4.096 arası). |
| `EffectQueueCapacity` | `128` | Edge Gateway | Çalıştırılmayı bekleyebilecek en fazla dış eylem sayısı (16 ile 4.096 arası). Kuyruk dolduğunda yeni dış eylemler reddedilir. |
| `CheckpointIntervalSeconds` | `30` | Edge Gateway | İşlem akışı durumunun (pencereler, alarmlar) diske kaydedilme aralığı, saniye cinsinden (5 ile 3.600 arası). |
| `StatusIntervalSeconds` | `5` | Edge Gateway | Edge Gateway'in işlem akışı durumunu merkez sunucuya bildirme aralığı, saniye cinsinden (1 ile 300 arası). |

## Service

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `UI-Port` | `"8080"` | merkez sunucu | Merkez sunucunun HTTP portu. Ekranlar, REST API, Telemetry API ve MCP bu porttan sunulur. |
| `UI-HTTPS-Port` | `"8443"` | merkez sunucu | Merkez sunucunun HTTPS portu. [Sertifika deposu](https://proxus.io/tr/docs/administer/certificates) içindeki varsayılan sertifikayı kullanır. Değer boş bırakılırsa HTTPS kapanır. Yerel erişim için `UI-Port` açık kalır. |
| `RedirectHttpToHttps` | tanımsız (`"false"`) | merkez sunucu | `"true"` değerinde tüm HTTP istekleri HTTPS'ye yönlendirilir ve HSTS açılır. HSTS, tarayıcıların o makinenin bütün portlarında HTTPS kullanmasına yol açtığı için varsayılan olarak kapalıdır. |
| `PublicHttpsPort` | tanımsız | merkez sunucu | HTTPS, makinenin başka bir portundan yayınlanıyorsa dışarıdan erişilen port. |
| `PublicHostNames` | tanımsız | merkez sunucu | Merkez sunucunun ek adları ve adresleri. Virgülle ayrılır, örneğin `"proxus.plant.example, 203.0.113.10"`. Merkez sunucunun HTTPS sertifikası (yeni kurulumlarda ya da **Yenile** işleminden sonra) ve NATS sertifikası, makinenin kendi adları ve adreslerinin yanı sıra bunları da kapsar. |
| `Server-Port` | `"8083"` | Edge Gateway | Edge Gateway'in HTTP portu. Çalışma durumu denetimi ve [geçmiş veri aktarımı](https://proxus.io/tr/docs/develop/historical-import) bu porttan yapılır. |
| `Server-HTTPS-Port` | tanımsız | Edge Gateway | Edge Gateway'in HTTPS üzerinden de erişilebilir olması için tanımlayın. Merkez sunucunun verdiği Edge Gateway sertifikası kullanılır. |
| `Name` | `"Proxus"` | | **Kullanılmıyor.** |
| `UI-Address` | `"localhost"` | | **Kullanılmıyor.** |
| `Server-Address` | `"localhost"` | | **Kullanılmıyor.** |

## UI

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `ForceSkiaRendering` | `true` | merkez sunucu | Pano ve rapor görüntülerini çizen motoru belirler. Yalnızca Windows'ta geçerlidir. |
| `EnableDashboardExportRestrictedMode` | `false` | merkez sunucu | Pano dışa aktarımında kısıtlı modu açar. Bu anahtar dosyada bulunmalıdır. |
| `EnableDashboardCustomPalette` | tanımsız | merkez sunucu | Pano grafiklerinde kullanılacak renkler, örneğin `["#315b50", "#c46b2e"]`. |

## Security

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `Lockout.Enabled` | `true` | merkez sunucu | Başarısız oturum açma denemelerinden sonra kullanıcı hesabını kilitler. |
| `Lockout.MaxFailedAccessAttempts` | `3` | merkez sunucu | Hesap kilitlenmeden önce izin verilen başarısız oturum açma sayısı. |
| `Lockout.DefaultLockoutTimeSpan` | `30` | merkez sunucu | Kilidin süresi, saniye cinsinden. |

## Security.Password

Parola kuralları. Bu kurallar üç durumda denetlenir: kullanıcı oturum açarken yeni parola belirlemek zorunda
kaldığında, kullanıcı kendi parolasını **Parolamı değiştir** ile değiştirdiğinde ve bir yönetici **Parolayı sıfırla**
işlemini kullandığında. Değişiklikten sonra merkez sunucuyu yeniden başlatın.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `MinLength` | `6` | merkez sunucu | En az parola uzunluğu. |
| `MaxLength` | `128` | merkez sunucu | En fazla parola uzunluğu. |
| `RequireUppercase` | `0` | merkez sunucu | Parolada bulunması gereken en az büyük harf sayısı. |
| `RequireLowercase` | `0` | merkez sunucu | Parolada bulunması gereken en az küçük harf sayısı. |
| `RequireDigits` | `0` | merkez sunucu | Parolada bulunması gereken en az rakam sayısı. |
| `RequireSpecialCharacters` | `0` | merkez sunucu | Parolada bulunması gereken, `AllowedSpecialCharacters` içinden en az karakter sayısı. |
| `AllowedSpecialCharacters` | `"!@#$%^&*()_+-=[]{}\|;:,.<>?"` | merkez sunucu | Özel karakter sayılan karakterler. |
| `PreventKeyboardPatterns` | `false` | merkez sunucu | `qwerty` gibi klavye dizilerini içeren parolaları reddeder. |
| `PreventRepeatedCharacters` | `false` | merkez sunucu | Aynı karakteri art arda `MaxRepeatedCharacters` kereden fazla içeren parolaları reddeder. Anahtar dosyadan silinirse bu denetim açık olur. |
| `MaxRepeatedCharacters` | `3` | merkez sunucu | Bir üstteki satıra bakın. |
| `PasswordHistory` | `5` | merkez sunucu | Kullanıcı son N parolasından birini yeniden seçemez; geçerli parola da bu sayıya dahildir. `0` bu denetimi kapatır. |
| `PasswordExpirationDays` | `90` | merkez sunucu | Bu kadar gün geçince kullanıcı bir sonraki oturum açışında yeni parola belirlemek zorunda kalır. `0` değerinde parolaların süresi dolmaz. Sürüm yükseltmesinden sonra mevcut parolaların yaşı, yeni sürümün ilk açılışından itibaren sayılır. |
| `PasswordExpirationWarningDays` | `14` | merkez sunucu | Parolanın süresi dolmadan kaç gün önce oturum açarken uyarı gösterileceği. `0` değerinde uyarı gösterilmez. |
| `PreventCommonPasswords` | `true` | merkez sunucu | En sık kullanılan parolaları ve kullanıcı adını içeren parolaları reddeder. |
| `RequireChangeOnFirstLogin` | `true` | merkez sunucu | **Güvenlik > Kullanıcılar** ekranında oluşturulan yeni kullanıcılarda **Parola değişikliğini zorla** seçeneği işaretli gelir. |
| `TempPasswordExpirationHours` | `24` | merkez sunucu | **Parolayı sıfırla** ile verilen geçici parolanın geçerlilik süresi, saat cinsinden. Kullanıcı bu süre içinde parolasını değiştirmezse geçici parola çalışmaz ve yöneticinin parolayı yeniden sıfırlaması gerekir. `0` değerinde süre sınırı yoktur. |

## Rules.DeviceNaming

Yeni cihazlar için adlandırma kuralı. Ayrıntılar için [Cihaz ekleme](https://proxus.io/tr/docs/connect/devices/add-a-device) sayfasına bakın.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `Enabled` | `false` | merkez sunucu | Cihaz adlarının `Pattern` ile uyumlu olup olmadığını denetler. |
| `Pattern` | `""` | merkez sunucu | Adın tamamının uyması gereken düzenli ifade, örneğin `^[A-Z]{3}_[A-Z0-9_]+$`. |
| `Hint` | `""` | merkez sunucu | Ad kurala uymadığında gösterilen mesaj. |
| `[[Rules.DeviceNaming.Sites]]` `Site`, `Pattern`, `Hint` | tanımsız | merkez sunucu | Belirli bir tesisin cihazları için ayrı bir kural. |

## Data

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `MaxDeviceDataLoad` | `1000` | merkez sunucu | Merkez sunucunun ekranlarında tek seferde yüklenen en fazla cihaz verisi satırı. |
| `DeviceDataTimeRange` | `"1h"` | merkez sunucu | Ekranlarda cihaz verisi için varsayılan zaman aralığı. `30s`, `15m`, `1h`, `7d`, `4w`, `6mo`, `1y` gibi değerler alır. |
| `LogsTimeRange` | `"1d"` | merkez sunucu | Ekranlarda günlükler için varsayılan zaman aralığı. |

## EdgeGateway

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `GatewayID` | `"1"` | Edge Gateway | Edge Gateway'in merkez sunucudaki ID'si. `1`, merkez sunucunun kendi Edge Gateway'i olan **SYSTEM**'e aittir. |
| `GatewayName` | `"SYSTEM"` | Edge Gateway | Edge Gateway'in adı. |
| `EdgeMode` | `"Proxus"` | Edge Gateway | `Proxus` değerinde Edge Gateway bir merkez sunucuya bağlı çalışır; olağan kullanım budur. `Standalone` değerinde merkez sunucu olmadan çalışır ve verisini `[MQTTAPI]` bölümünde tanımlanan MQTT sunucusuna gönderir. |
| `Integration` | `"MQTT_CLIENT"` | Edge Gateway | `Standalone` modunda kullanılan bağlantı türü. |
| `EdgeMetricsTransmissionInterval` | `10` | Edge Gateway | Edge Gateway'in metriklerini merkez sunucuya gönderme aralığı, saniye cinsinden. |

## ClickHouse

Veri noktası değerlerini ve günlükleri saklayan veritabanı.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `ClickHouseHost` | `"clickhouse"` | merkez sunucu, Edge Gateway | Sunucu adı. |
| `ClickHousePort` | `8123` | merkez sunucu, Edge Gateway | HTTP portu. |
| `ClickHouseMySqlPort` | `9004` | merkez sunucu | MySQL protokolü portu. Raporlar bu portu kullanır. |
| `ClickHouseDatabase` | `"proxus"` | merkez sunucu, Edge Gateway | Veritabanı adı. |
| `ClickHouseUsername` | `"admin"` | merkez sunucu, Edge Gateway | Kullanıcı adı. |
| `ClickHousePassword` | `"proxus"` | merkez sunucu, Edge Gateway | Parola. Değiştirirken veritabanının kendi ayarını da aynı değerle güncelleyin. |
| `ClickHouseWriteIntervalSeconds` | `1` | Edge Gateway | Ara bellekte biriken değerlerin veritabanına yazılma aralığı, saniye cinsinden. |
| `ClickHouseLogTTLExpression` | `"toDateTime(Time) + INTERVAL 45 DAY DELETE"` | Edge Gateway | Günlüklerin saklanma süresi. |
| `ClickHouseTTLExpression` | tanımsız | Edge Gateway | Veri noktası değerlerinin saklanma süresi, örneğin `"toDateTime(Time) + INTERVAL 1 YEAR DELETE"`. Tanımlı değilse değerler süresiz saklanır. |

## Reports.ClickHouse ve Reports.PostgreSqlFederation

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `[Reports.ClickHouse]` `Enabled` | `true` | merkez sunucu | Veri noktası değerlerinin tutulduğu veritabanını [raporlarda](https://proxus.io/tr/docs/analyze/reports) veri kaynağı olarak sunar. |
| `[Reports.PostgreSqlFederation]` `Enabled` | `true` | merkez sunucu | [Raporlama federasyonu](https://proxus.io/tr/docs/analyze/reporting-federation) sayfasında anlatılan salt okunur raporlama erişimini kurar. |

## ScheduledDelivery

Ayrıntılar için [Planlı rapor gönderimi](https://proxus.io/tr/docs/analyze/scheduled-delivery) sayfasına bakın.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `ExternalDeliveryEnabled` | `true` | merkez sunucu | Planlı raporların e-postayla gönderilmesine izin verir. `false` iken merkez sunucudan dışarıya hiçbir şey gönderilmez. |
| `AutomaticRetryEnabled` | `false` | merkez sunucu | Başarısız bir gönderimin plana göre otomatik olarak yeniden denenmesini sağlar. |
| `ArtifactRetentionDays` | `0` | merkez sunucu | Oluşturulan dosyalardan bu kadar günden eski olanları siler (0 ile 3.650 arası). `0` değerinde dosyalar silinmez. |
| `ArtifactCleanupIntervalHours` | `24` | merkez sunucu | Eski dosyaların silinme aralığı, saat cinsinden (1 ile 168 arası). |

## Database

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `ConnectionString` | `"Server=postgresql;Port=5442;User ID=proxus;Password=proxus;Database=proxus;..."` | merkez sunucu, Edge Gateway | Yapılandırmanın (cihazlar, kullanıcılar, alarm kuralları) tutulduğu PostgreSQL veritabanı. |
| `TelemetryDB` | `"clickhouse"` | merkez sunucu, Edge Gateway | Veri noktası değerlerinin saklandığı yer. `clickhouse` olarak bırakın. |
| `InsertStrategy` | `"Bulk"` | merkez sunucu | Değerlerin veritabanına yazılma yöntemi. Bu anahtar dosyada bulunmalıdır. |
| `BulkInsertInterval` | `1000` | merkez sunucu | Değerlerin tek bir yazma işleminde toplanma süresi, milisaniye cinsinden. |
| `MaxConcurrentInserts` | `16` | merkez sunucu | Veritabanına aynı anda yazabilecek en fazla işlem sayısı. |
| `EnableDataStoreCache` | `false` | merkez sunucu | Yapılandırma okumalarını bellekte önbelleğe alır. |
| `TablesExcludedFromCache` | `["DeviceRawData", "Log", "Device"]` | merkez sunucu | Hiçbir zaman önbelleğe alınmayan tablolar. |
| `DeviceRawDataRetentionPolicy` | `"0s"` | | `TelemetryDB = "clickhouse"` iken etkisi yoktur. Bunun yerine `ClickHouseTTLExpression` kullanın. |

## Fieldbus

Edge Gateway'in cihazları okuma biçimiyle ilgili ayarlar.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `UseBatchReadForSupportedProtocols` | `true` | Edge Gateway | Protokol destekliyorsa ardışık adresleri tek istekte okur. |
| `UseS7DbFullRead` | `true` | Edge Gateway | Siemens S7 cihazlarında bir veri bloğunun tamamını tek istekte okur. |
| `SleepProbeIntervalMs` | `10000` | Edge Gateway | Yanıt vermeyen cihaz uyku moduna alınır. İlk yeniden deneme bu kadar milisaniye sonra yapılır. |
| `SleepProbeMaxIntervalMs` | `300000` | Edge Gateway | Yeniden denemeler arasındaki süre giderek uzar ve en fazla bu değere ulaşır. |
| `MaxConsecutiveLocalOverloads` | `3` | Edge Gateway | Cihazdan değil, Edge Gateway'in aşırı yüklenmesinden kaynaklanan okuma zaman aşımları bu sayıya kadar yok sayılır. Bu sayı aşılınca zaman aşımları cihazın hanesine yazılır. `0` bu davranışı kapatır. |

## Browse

Cihaz kurulum sihirbazındaki tarama ve keşif ayarları.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `UseEdgeRemoteBrowse` | `true` | merkez sunucu | Taramayı merkez sunucudan değil, cihazın bağlı olduğu Edge Gateway'den yapar. |
| `OpcUaDiscoveryPorts` | `"tcp:4840, tcp:53530, https:53443"` | merkez sunucu | OPC UA sunucuları aranırken denenen portlar. |
| `OpcUaSeedDiscoveryUrls` | `""` | merkez sunucu | Her aramada denenen keşif URL'leri. Virgülle ayrılır. |
| `OpcUaDiscoveryMaxHosts` | `"254"` | merkez sunucu | Taranacak en fazla adres sayısı. |
| `OpcUaDiscoveryProbeTimeoutMs` | `"150"` | merkez sunucu | Her adres için bekleme süresi. |
| `OpcUaDiscoveryProbeParallelism` | `"48"` | merkez sunucu | Aynı anda denenen adres sayısı. |
| `MtConnectDiscoveryPorts` | `"5000, 5001, 5005, 5006, 7000"` | merkez sunucu | MTConnect ajanları aranırken denenen portlar. |
| `MtConnectDiscoveryMaxHosts` | `"254"` | merkez sunucu | Taranacak en fazla adres sayısı. |

## MQTTBroker

Her Edge Gateway'de çalışan MQTT sunucusu. Ayrıntılar için [MQTT ve UNS konuları](https://proxus.io/tr/docs/develop/mqtt) sayfasına bakın.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `Enabled` | `true` | Edge Gateway | MQTT sunucusunu çalıştırır ve UNS konularını yayınlar. |
| `MQTTBrokerPort` | `1883` | Edge Gateway | MQTT sunucusunun TLS kullanmayan portu. |
| `TlsPort` | `8883` | Edge Gateway | MQTT sunucusunun TLS portu. Merkez sunucunun verdiği Edge Gateway sertifikasını kullanır ve sertifika verildikten sonra açılır. `0` TLS'i kapatır. Cihazlar MQTT sunucusunu platform CA'sı ile doğrular. |
| `PlainEnabled` | `true` | Edge Gateway | TLS kullanmayan portu açık tutar. `false` değerinde yalnızca TLS bağlantıları kabul edilir. |
| `AllowAnonymous` | `false` | Edge Gateway | Kullanıcı adı göndermeyen istemcileri kabul eder. |
| `MasterToken` | `""` | Edge Gateway | UNS istemcilerinin kullandığı kullanıcı adı. Boşsa ilk açılışta oluşturulur. |
| `EnableMQTTHooks` | `true` | Edge Gateway | Edge Gateway'in okuduğu değerleri UNS konularında yayınlar. |
| `AllowPortFallback` | tanımsız (`true`) | Edge Gateway | Port kullanımdaysa hata vermek yerine boş bir port kullanır. |
| `BrokerHostAddress` | `"127.0.0.1"` | | **Kullanılmıyor.** |

## UNS ve UNS.Optimizations

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `UNSPayloadFormat` | `"JSON"` | Edge Gateway | `JSON` ya da `SparkplugB`. |
| `UNSGroupId` | `"ProxusGroup"` | Edge Gateway | Sparkplug grup ID'si. |
| `UNSEdgeNodeId` | `"ProxusEdge"` | Edge Gateway | Sparkplug edge node ID'si. |
| `UNSRetainMessages` | `true` | Edge Gateway | Durum konularındaki mesajları MQTT sunucusunda saklanacak (retain) biçimde yayınlar. |
| `UNSVersion` | tanımsız (`"v1"`) | Edge Gateway | Her UNS konusunun ilk düzeyi. |
| `QoS.Telemetry`, `QoS.State`, `QoS.Command` | tanımsız (`0`, `1`, `1`) | Edge Gateway | Mesaj türüne göre MQTT QoS düzeyi. |
| `[UNS.Optimizations]` `TelemetryThinPayload` | `true` | Edge Gateway | Veri noktası mesajlarına `context` nesnesini eklemez. |
| `SummaryIncludeContext` | `true` | Edge Gateway | Cihazın tesisteki yerini `_summary` mesajına ekler. |
| `SummaryIntervalMs` | `5000` | Edge Gateway | Bir cihazın iki özet mesajı arasındaki en kısa süre. `0` değerinde her okumada özet yayınlanır. |
| `LastSeenIntervalMs` | `5000` | Edge Gateway | İki `_lastSeen` mesajı arasındaki en kısa süre. |
| `StatusOnChangeOnly` | `true` | Edge Gateway | `_status` mesajını yalnızca durum değiştiğinde yayınlar. |
| `SummaryOnlyOnChange` | `false` | Edge Gateway | Özet mesajını yalnızca bir değer değiştiğinde yayınlar. |

## MQTTAPI

Yalnızca `EdgeMode = "Standalone"` olan Edge Gateway'ler için geçerlidir. Edge Gateway'in verisini gönderdiği MQTT sunucusunu
tanımlar.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `MQTTServer` | `"your.mqtt.server.address"` | Edge Gateway | MQTT sunucusunun adresi. |
| `MQTTPort` | `1883` | Edge Gateway | MQTT sunucusunun portu. |
| `MQTTUser`, `MQTTPassword` | örnek değerler | Edge Gateway | Kullanıcı adı ve parola. |
| `MQTTVersion` | `"V310"` | Edge Gateway | `V310` ya da `V500`. |
| `MQTTConnectionTimeOut` | `30` | Edge Gateway | Bağlantı zaman aşımı, saniye cinsinden. |
| `MQTTKeepAlivePeriod` | `60` | Edge Gateway | Bağlantıyı canlı tutma (keep-alive) aralığı, saniye cinsinden. |
| `MQTTCleanSession` | `true` | Edge Gateway | |

## WEBAPI

`[[WEBAPI.Authentication.Jwt]]` bölümü, [REST API](https://proxus.io/tr/docs/develop/rest-api) erişim anahtarlarının ayarlarını
içerir. Yalnızca ilk kayıt kullanılır. Bu kaydın ortam değişkenleri `WEBAPI__Authentication__Jwt__0__` ile başlar.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `Issuer` | `"My"` | merkez sunucu | Her erişim anahtarına yazılır ve her istekte denetlenir. |
| `Audience` | `"http://0.0.0.0:8082"` | merkez sunucu | Her erişim anahtarına yazılır ve her istekte denetlenir. |
| `IssuerSigningKey` | `""` | merkez sunucu | Erişim anahtarlarını imzalamak için kullanılan gizli anahtar. Boş bırakın: merkez sunucu ilk açılışta rastgele bir anahtar üretir ve paylaşılan yapılandırma klasöründeki `Keys/UI/jwt-signing.key` dosyasında saklar. 32 karakterden kısa değerler ve önceki sürümlerdeki örnek anahtar kabul edilmez. Bu anahtarı değiştirmek, daha önce verilmiş tüm erişim anahtarlarını geçersiz kılar. |
| `TokenExpireTime` | `"1y"` | merkez sunucu | Bir erişim anahtarının geçerlilik süresi: `30m`, `2h`, `7d`, `1y`. |

## Cluster

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `RedisConnection` | tanımsız | merkez sunucu | Birden fazla merkez sunucu örneğinin ortak kullandığı Redis sunucusu, örneğin `redis:6379`. MCP oturumları burada tutulur. |
| `GrpcInterfaceBinding`, `ClusterProvider` | `"AdvertisedHost"`, `"Consul"` | | **Kullanılmıyor.** Değer okunur ama uygulanmaz. |
| `IdentityLookupStrategy`, `HeartbeatExpiration`, `ActorRequestTimeout`, `ActorActivationTimeout`, `GossipRequestTimeout`, `ActorSpawnVerificationTimeout` | dosyadaki değerler | | **Kullanılmıyor.** |

## UserFunctions

Ayrıntılar için [Functions SDK](https://proxus.io/tr/docs/develop/functions-sdk) sayfasına bakın.

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `ExceptionThresholdPerFunction` | `10` | Edge Gateway | Bir fonksiyon bu sayıda yakalanmamış hata verdiğinde dağıtımdan kaldırılır. `0` değerinde sınır yoktur. |
| `UseAutoTryCatchInjector` | `true` | Edge Gateway | Fonksiyon kodunu hata yakalama bloğuyla sarar. Böylece hatalar günlüğe yazılır ve sayılır. |
| `UseAutoDisposeInjector` | `false` | Edge Gateway | Deneysel. Fonksiyonun artık kullanmadığı nesneleri bellekten serbest bırakır. |
| `LogLevelPolicy` | `["Error:2 1m", "Critical:2 1m"]` | Edge Gateway | Her fonksiyon için, günlük düzeyine ve zaman aralığına göre yazılabilecek en fazla günlük satırı. |

## Logging

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `Loglevel` | `3` | merkez sunucu, Edge Gateway | Yazılacak en düşük günlük düzeyi: `0` Trace, `1` Debug, `2` Information, `3` Warning, `4` Error, `5` Critical. |
| `LogRetentionTime` | `14` | merkez sunucu | Günlüklerin veritabanında saklandığı gün sayısı. |
| `LogToFile` | `true` | merkez sunucu, Edge Gateway | Günlükleri `config` klasöründeki dosyalara da yazar. |
| `IncludeDiagnosticDetails` | `false` | merkez sunucu, Edge Gateway | Günlük kayıtlarına teknik ayrıntılar ekler. |
| `OperationalLogDedupeWindowSeconds` | `60` | merkez sunucu, Edge Gateway | Bu süre içinde tekrarlanan aynı mesaj yeniden yazılmaz, yalnızca sayılır. |
| `LogSqlQueries` | `false` | | **Kullanılmıyor.** |

## Tracing, Metrics ve Otlp

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `[Tracing]` `Enable` | `false` | merkez sunucu, Edge Gateway | İz kayıtlarını OpenTelemetry üzerinden gönderir. |
| `[Metrics]` `Enable` | `false` | merkez sunucu, Edge Gateway | Metrikleri OpenTelemetry üzerinden gönderir. Edge Gateway'de ayrıca Prometheus'un okuyabileceği biçimde sunar. |
| `[Otlp]` `Endpoint` | `"http://otel-collector:4317"` | merkez sunucu, Edge Gateway | OpenTelemetry toplayıcısının adresi. |
| `[Otlp]` `MetricsIntervalMilliseconds` | `10000` | merkez sunucu, Edge Gateway | Metriklerin gönderilme aralığı. |
| `[Otlp]` `SkipWhenEndpointUnresolvable` | `true` | merkez sunucu, Edge Gateway | Toplayıcının adı çözümlenemezse iz kayıtları ve metrikler gönderilmez. |

## Dil

Merkez sunucuda kullanılabilecek diller. Bölüm adı dosyada nasıl geçiyorsa öyle verilmiştir:

```toml
[DevExpress.ExpressApp]
Languages = "en-US;tr-TR"      # kullanıcıların seçebileceği diller
ShowLanguageSwitcher = true    # dil seçiciyi gösterir
```

Merkez sunucunun görünümü bir ayarla değiştirilmez; Proxus'un tek bir teması vardır. Şirketinizin adını ve logosunu
göstermek için [Marka ayarları](https://proxus.io/tr/docs/administer/white-labeling) ekranını kullanın. Önceki bir sürümün dosyaya
yazdığı tema bölümü ilk açılışta kaldırılır. Kaldırmadan önce dosyanın yedeği
(`Proxus-config.toml.pre-proxus-theme.bak`) alınır.

## Runtime

| Anahtar | Varsayılan | Okuyan | Anlamı |
| --- | --- | --- | --- |
| `MinWorkerThreads` | `0` | Edge Gateway | Hazırda bekletilen iş parçacığı sayısı. `0` değerinde çekirdek başına dört, en az 32 iş parçacığı kullanılır. |
| `MinCompletionPortThreads` | `0` | Edge Gateway | Ağ işlemleri için hazırda bekletilen iş parçacığı sayısı. |
| `ThreadPoolLatencyWarningMs` | `500` | Edge Gateway | Edge Gateway bir işe bu kadar milisaniye geç başlarsa günlüğe uyarı yazılır. |
| `ThreadPoolSampleIntervalMs` | `250` | Edge Gateway | Bu gecikmenin ölçülme aralığı. |
| `ThreadPoolStarvationCorrelationWindowMs` | `5000` | Edge Gateway | Bir gecikme uyarısından sonra bu süre içinde oluşan okuma zaman aşımları, cihaza değil aşırı yüklenen Edge Gateway'e bağlanır. |

## MCP ve MCP.ClickHouse

Tüm anahtarlar ve anlamları [MCP sunucusu](https://proxus.io/tr/docs/develop/mcp) sayfasında anlatılır. Oradaki anahtarlardan
ikisi kullanılmıyor: `AlertOnSuspiciousActivity` ve `[MCP.ClickHouse]` `DefaultHours`. `[MCP.ClickHouse]` `MaxHours`
için yalnızca değerin sıfırdan büyük olup olmadığı denetlenir.

## Dosyada bulunmayan ama okunan anahtarlar

Aşağıdaki anahtarlar dosyada yoksa parantez içindeki varsayılan değerle okunur. Değiştirmek için anahtarı ilgili
bölüme ekleyin:
`[MQTTBroker] AllowPortFallback` (true), `[UNS] UNSVersion` ("v1"), `[UNS] QoS.Telemetry` (0), `QoS.State` (1),
`QoS.Command` (1), `[Fieldbus] LogTelegramMetrics` (true), `[Cluster] RedisConnection`, `[MCP] RedisConnection`,
`[HistoricalImport] Enabled` (false) ve `StorageEnabled` (false), `[Service] Server-HTTPS-Port`,
`[ClickHouse] ClickHouseTTLExpression`, `[Flows] StatePath`.

## Sonraki adımlar

- [Yapılandırma](https://proxus.io/tr/docs/administer/configuration): ayarları merkez sunucunun **Yapılandırma** ekranından değiştirme.
- [Ağ portları ve uç noktalar](https://proxus.io/tr/docs/reference/ports): merkez sunucunun ve Edge Gateway'lerin kullandığı portlar.
- [Docker](https://proxus.io/tr/docs/operate/docker): Docker Compose dosyasında ortam değişkenlerini tanımlama.
