{
  "Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": { "Microsoft.AspNetCore": "Warning" }
    },
    "WriteTo": [
      { "Name": "Console" },
      { "Name": "File", "Args": { "path": "logs/mxgateway-.log", "rollingInterval": "Day" } }
    ]
  },
  "AllowedHosts": "*",
  "Secrets": {
    "MasterKey": { "Source": "Environment", "EnvVarName": "ZB_SECRETS_MASTER_KEY" },
    "RunMigrationsOnStartup": true,
    "ResolveCacheTtl": "00:00:30"
  },
  "MxGateway": {
    "Authentication": {
      "Mode": "ApiKey",
      "PepperSecretName": "MxGateway:ApiKeyPepper",
      "RunMigrationsOnStartup": true
    },
    "Ldap": {
      "Enabled": true,
      "Server": "localhost",
      "Port": 3893,
      "Transport": "None",
      "AllowInsecure": true,
      "SearchBase": "dc=zb,dc=local",
      "ServiceAccountDn": "cn=serviceaccount,dc=zb,dc=local",
      "ServiceAccountPassword": "${secret:ldap/mxgateway/bind}",
      "UserNameAttribute": "cn",
      "DisplayNameAttribute": "cn",
      "GroupAttribute": "memberOf"
    },
    "Worker": {
      "ExecutablePath": "src\\ZB.MOM.WW.MxGateway.Worker\\bin\\x86\\Release\\ZB.MOM.WW.MxGateway.Worker.exe",
      "RequiredArchitecture": "X86",
      "StartupTimeoutSeconds": 30,
      "ShutdownTimeoutSeconds": 10,
      "HeartbeatIntervalSeconds": 5,
      "HeartbeatGraceSeconds": 15,
      "MaxMessageBytes": 16842752
    },
    "Sessions": {
      "DefaultCommandTimeoutSeconds": 30,
      "MaxSessions": 64,
      "MaxPendingCommandsPerSession": 128,
      "DefaultLeaseSeconds": 1800,
      "LeaseSweepIntervalSeconds": 30,
      "DetachGraceSeconds": 30,
      "AllowMultipleEventSubscribers": false,
      "MaxEventSubscribersPerSession": 8
    },
    "Events": {
      "QueueCapacity": 10000,
      "BackpressurePolicy": "FailFast",
      "ReplayBufferCapacity": 1024,
      "ReplayRetentionSeconds": 300
    },
    "Dashboard": {
      "Enabled": true,
      "AllowAnonymousLocalhost": true,
      "SnapshotIntervalMilliseconds": 1000,
      "RecentFaultLimit": 100,
      "RecentSessionLimit": 200,
      "ShowTagValues": false,
      "GroupToRole": {
        "GwAdmin": "Administrator",
        "GwReader": "Viewer"
      }
    },
    "Protocol": {
      "WorkerProtocolVersion": 1,
      "MaxGrpcMessageBytes": 16777216
    },
    "Galaxy": {
      "ConnectionString": "Server=localhost;Database=ZB;Integrated Security=True;TrustServerCertificate=True;Encrypt=False;",
      "CommandTimeoutSeconds": 60,
      "DashboardRefreshIntervalSeconds": 30,
      "PersistSnapshot": true
    },
    "Alarms": {
      "Enabled": true,
      "SubscriptionExpression": "\\\\DESKTOP-6JL3KKO\\Galaxy!DEV",
      "DefaultArea": "",
      "ReconcileIntervalSeconds": 30,
      "PollIntervalMilliseconds": 500,
      "MaxAlarmsPerFetch": 1024
    }
  }
}
