{
  "Serilog": {
    "Using": [ "Serilog.Sinks.Console" ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Warning",
        "System": "Warning",
        "Yarp": "Information"
      }
    },
    "WriteTo": [
      {
        "Name": "Console",
        "Args": {
          "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}"
        }
      }
    ],
    "Enrich": [ "FromLogContext" ],
    "Properties": {
      "Application": "TakeoutSaaS.ApiGateway"
    }
  },
  "Gateway": {
    "RateLimiting": {
      "Enabled": true,
      "PermitLimit": 300,
      "WindowSeconds": 60,
      "QueueLimit": 100
    }
  },
  "OpenTelemetry": {
    "Enabled": true,
    "ServiceName": "TakeoutSaaS.ApiGateway",
    "OtlpEndpoint": "http://localhost:4317"
  },
    "ReverseProxy": {
      "Routes": {
        "admin-route": {
          "ClusterId": "admin",
          "Match": { "Path": "/api/admin/{**catch-all}" }
        },
        "mini-route": {
          "ClusterId": "mini",
          "Match": { "Path": "/api/mini/{**catch-all}" }
        },
      "user-route": {
        "ClusterId": "user",
        "Match": { "Path": "/api/user/{**catch-all}" }
      }
    },
    "Clusters": {
      "admin": {
        "Destinations": {
          "primary": { "Address": "http://49.7.179.246:7801/" }
        }
      },
      "mini": {
        "Destinations": {
          "primary": { "Address": "http://49.7.179.246:7701/" }
        }
      },
      "user": {
        "Destinations": {
          "primary": { "Address": "http://49.7.179.246:7901/" }
        }
      }
    }
  },
  "AllowedHosts": "*"
}
