Platform Settings
A layered configuration system that eliminates the daily "someone overwrote my connection string" problem — giving every developer, environment, and tenant their own isolated settings without touching a shared file.
The Problem This Solves
Every developer has a different local SQL Server instance name. Every tenant has a different database,
Redis cluster, and Kafka broker. Without a system, all of these end up in appsettings.json
— which gets committed, overwriting everyone else's settings on next pull.
The Platform Settings system gives each concern its own file and its own rule about whether it is committed to git. Developers never need to touch the base config files again.
The Five Layers at a Glance
appsettings.json committed
Machine-neutral base defaults. No specific server names or passwords.
appsettings.{env}.json committed
Environment-specific defaults (Development, Staging, Production). Loaded by ASP.NET automatically.
appsettings.{env}.Local.json gitignored
Your machine overrides. SQL Server name, local Redis, local Kafka. Never committed.
appsettings.Tenant.{code}.json committed
Tenant base config — feature flags, topic names, LLM model selection. All envs.
appsettings.Tenant.{code}.{env}.json deployed
Tenant + environment specific. Real DB, Redis, Kafka, secrets. Last layer wins.
What Drives the Layer Tokens
| Token | Source | Set in |
|---|---|---|
{env} | ASPNETCORE_ENVIRONMENT | launchSettings.json, system env var, or container config |
{code} | TENANT_CODE | launchSettings.json, system env var, or container config |
Pages in This Guide
How It Works
The full loading pipeline, precedence rules, and the code behind it.
Local Setup
Create your Local.json and start the app with your own SQL Server in five minutes.
Environments
Development, Staging, Production — how to set and switch environments.
Tenant Configuration
Isolate DB, Redis, Kafka, and feature flags per customer with a worked example.
Common Scenarios
Redis, Kafka, LLM model, JWT, and Grafana config patterns with full examples.
Team Practices
What to commit, gitignore rules, onboarding checklist, and secrets policy.