Configuration

Kanject services follow a layered config model: appsettings.json holds defaults, appsettings.<Env>.json overrides per environment, and AWS Systems Manager Parameter Store holds secrets — pulled at cold-start.

json
{
  "AppSettings": {
    "DatabaseNamespace": "prod",
    "AwsRegion": "eu-west-1",
    "EnableHighAvailabilityCache": true
  },
  "CognitoIdentityProviderSettings": {
    "Region": "eu-west-1",
    "UserPoolId": "{{from-parameter-store}}",
    "ClientId":   "{{from-parameter-store}}",
    "ApplicationIdentitySchema": "AppIdentity",
    "UserPartitionKey": "user#"
  },
  "EventHubClientConfiguration": {
    "EventHubSchemaName": "app-events",
    "ServerlessEventLogSchemaName": "app-event-logs",
    "EnableSetup": false,
    "SyncEventTopics": true
  }
}

Parameter Store integration

builder.AddAwsSystemManagerParameterStore() pulls every key under the configured path and merges it over your appsettings. You never commit a secret to git.