{
  "ConnectionStrings": {
    "ApplicationDatabase": "Data Source=application-dev.db",
    "ApplicationSqlServer": "Server=(localdb)\\MSSQLLocalDB;Database=Application;Trusted_Connection=True;TrustServerCertificate=True"
  },
  "Serilog": {
    "MinimumLevel": {
      "Default": "Debug",
      "Override": {
        "Microsoft": "Warning",
        "Microsoft.AspNetCore": "Warning",
        "System": "Warning"
      }
    },
    "WriteTo": [
      {
        "Name": "Debug",
        "Args": {
          "minimumLevel": "Debug",
          "outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Level:u3}] [{SourceContext}] {Message:lj}{NewLine}{Exception}"
        }
      },
      {
        "Name": "Console"
      },
      {
        "Name": "File",
        "Args": {
          "minimumLevel": "Debug",
          "path": "Logs/template-web-.log",
          "rollingInterval": "Day",
          "retainedFileCountLimit": 5,
          "fileSizeLimitBytes": 10485760,
          "rollOnFileSizeLimit": true,
          "shared": true,
          "flushToDiskInterval": "00:00:01"
        }
      }
    ]
  },
  "ProjectTemplate": {
    "ForwardedHeaders": {
      "Enabled": false,
      "KnownProxies": [],
      "KnownNetworks": [],
      "AllowedHosts": []
    },
    "SecurityHeaders": {
      "Enabled": true,
      "EnableContentSecurityPolicy": false,
      "EnablePermissionsPolicy": true,
      "EnableCrossOriginHeaders": true
    },
    "RateLimiting": {
      "Enabled": true,
      "UseGlobalLimiter": true,
      "GlobalFixedWindow": {
        "PermitLimit": 120,
        "WindowSeconds": 60,
        "QueueLimit": 0
      }
    },
    "RequestLogging": {
      "Enabled": true,
      "IncludeQueryString": true,
      "IncludeUserName": true,
      "IncludeRemoteIpAddress": true
    },
    "OpenTelemetry": {
      "Enabled": true,
      "ServiceName": "ProjectTemplate.Web.Development",
      "EnableTracing": true,
      "EnableMetrics": true,
      "Otlp": {
        "Enabled": false,
        "Endpoint": "",
        "Protocol": "Grpc"
      }
    },
    "Authentication": {
      "Providers": {
        "OpenIdConnect": {
          "Enabled": false,
          "Authority": "",
          "ClientId": "",
          "ClientSecret": ""
        },
        "Microsoft": {
          "Enabled": false,
          "ClientId": "",
          "ClientSecret": ""
        },
        "Google": {
          "Enabled": false,
          "ClientId": "",
          "ClientSecret": ""
        },
        "GitHub": {
          "Enabled": false,
          "ClientId": "",
          "ClientSecret": ""
        }
      }
    },
    "DataAccess": {
      "Provider": "Sqlite",
      "ConnectionStringName": "ApplicationDatabase"
    }
  }
}
