- C# 100%
|
All checks were successful
Build and publish NuGet package / build-and-publish (push) Successful in 4s
|
||
|---|---|---|
| .forgejo/workflows | ||
| LibreSettings | ||
| TestSettings | ||
| .gitignore | ||
| CLAUDE.md | ||
| LibreSettings.sln | ||
| README.md | ||
Introductie
Libre settings manager.
Lees configuratiesettings uit appsettings.json. Een waarde die tussen accolades
staat ({...}) is geen letterlijke waarde maar de naam van een secret; die wordt
opgehaald uit een omgevingsvariabele. Zo komen wachtwoorden en API-keys niet in de
broncode of in appsettings.json terecht.
Standaard setting
"ParseHubSettings": {
"ApiUrl": "apiurl"
}
GetSetting("ParseHubSettings", "ApiUrl") geeft "apiurl".
Secret via omgevingsvariabele
"DatabaseSettings": {
"ConnectionString": "{libresettings-test}"
}
GetSetting("DatabaseSettings", "ConnectionString") zoekt de omgevingsvariabele op.
Eerst exact (libresettings-test), daarna genormaliseerd naar hoofdletters met
underscores (LIBRESETTINGS_TEST). Wordt geen van beide gevonden, dan volgt een
EnvironmentException.
Direct een secret ophalen kan met GetSecret("libresettings-test").
Secrets aanleveren
De omgevingsvariabelen worden door de hostomgeving geïnjecteerd, bijvoorbeeld:
- Docker:
-e libresettings-test=...of eenenv_file - Kubernetes:
Secretgemount als omgevingsvariabele - systemd:
EnvironmentFile= - CI/CD: secret variables van de pipeline
Let op: gebruik de genormaliseerde naam (hoofdletters/underscores) als je shell geen koppeltekens in variabelenamen toestaat.