Skip to content

DC-284 DRYing up appsettings#193

Draft
ShaynaCummings wants to merge 2 commits into
mainfrom
chore/dc-284
Draft

DC-284 DRYing up appsettings#193
ShaynaCummings wants to merge 2 commits into
mainfrom
chore/dc-284

Conversation

@ShaynaCummings
Copy link
Copy Markdown
Member

@ShaynaCummings ShaynaCummings commented Apr 21, 2026

🔗 Jira ticket

https://codeforamerica.atlassian.net/browse/DC-284

✍️ Description

Cleaning up and de-duping appsettings.json + example json files for Development, CO, DC envs to clear the way for auto diff checking of config changes

🔗 Links to related PRs

✅ Completion tasks

  • Added relevant tests
  • Meets acceptance criteria in ticket
  • Configuration changes:
    • If new environment variables are added, update in Tofu
    • If new environment secrets are added, update in Tofu and set in AWS Secret Manager
    • If you're adding an appsetting, add it to the requisite example file, and update it in the AWS AppConfig
    • If appsetttings are changed, update in AWS AppConfig

Comment thread src/SEBT.Portal.Api/appsettings.Development.example.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.co.example.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.json Outdated
"DiSessionToken: fallback for when the frontend DI SDK is not integrated. Any value works in sandbox (e.g., 'sandbox-placeholder'). In production, the frontend sends a real token and this fallback is not used.",
"SandboxPhoneOverride: when set, overrides the user's phone number in Socure requests so DocV SMS links go to your real phone. Format: +1XXXXXXXXXX. Leave null or remove in production."
],
"Socure": {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

future - move enabled into feature flag

@@ -94,10 +66,10 @@
},
"Smarty": {
"Enabled": false,
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

future - move this to feature flag

"PermitLimit": 10,
"WindowMinutes": 1.0
},
"WebhookRateLimitSettings": {
Copy link
Copy Markdown
Member Author

@ShaynaCummings ShaynaCummings Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

leave this here

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in the future it would be dependent on socure feature flag

Comment thread src/SEBT.Portal.Api/appsettings.json Outdated
"StateHouseholdId": {
"PreferredHouseholdIdTypes": ["Email"]
},
"AppConfig": {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all of this is configured in tofu. can take out

Comment thread src/SEBT.Portal.Api/appsettings.json Outdated
"Enabled": false,
"AuthId": "",
"AuthToken": "",
"AuthId": "SECRET_STORE_IN_USERSECRETS_OR_AWS_SECRETS_NOT_APP_CONFIG",
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move authid and autoken here to appsettings.development

Comment thread src/SEBT.Portal.Api/appsettings.json Outdated
"TimeoutSeconds": "20"
},
"AddressValidationPolicy": {
"AllowGeneralDelivery": true
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default to false.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

future: think about how we would group this under under subkeys : addressvalidtion -> policy -> SMARTY

"StreetAbbreviations": {},
"MaxStreetAddressLength": 0
},
"FeatureManagement": {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check w devika whether these are sensible defaults

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

after we figure this out we should audit what's set in aws

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ultimately we need to document this

Comment thread src/SEBT.Portal.Api/appsettings.Development.example.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.json Outdated
"Audience": "SEBT.Portal.Web",
"ExpirationMinutes": 60
},
"PluginAssemblyPaths": ["plugins-dc", "plugins-co"],
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

double check whether it needs to have at least one

"ClientSecret": "YOUR_CBMS_CLIENT_SECRET",
"ApiBaseUrl": "https://test-ch2-api.state.co.us/ext-uat-c-cbms-cfa-eapi/api",
"TokenEndpointUrl": "https://test-ch2-api.state.co.us/ext-uat-c-cbms-oauth-app/token",
"Return404ForGetAccountDetails": false
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check whether this was removed

Comment thread src/SEBT.Portal.Api/appsettings.Development.example.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.json Outdated
"StateHouseholdId": {
"PreferredHouseholdIdTypes": ["Phone"]
},
"DevelopmentPhoneOverride": {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

originally for CO dev. might be able to remove

Comment on lines 25 to 26
"DCConnector": {
"ConnectionString": "Server=localhost,1434;Database=DcSource;User Id=sa;Password=YOUR_PASSWORD;TrustServerCertificate=True;"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move to DC only

"ClientId": "YOUR_OIDC_STEP_UP_CLIENT_ID",
"RedirectUri": null
}
"Socure": {
Copy link
Copy Markdown
Member Author

@ShaynaCummings ShaynaCummings Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check if it should only live in DC - nick to verify

"EmailPattern": "sebt.dc+{0}@codeforamerica.org",
"State": "dc"
},
"AddressValidationPolicy": {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

leave in?

"AuthId": "SECRET_STORE_IN_USERSECRETS_OR_AWS_SECRETS_NOT_APP_CONFIG",
"AuthToken": "SECRET_STORE_IN_USERSECRETS_OR_AWS_SECRETS_NOT_APP_CONFIG"
},
"_socure_comment": [
Copy link
Copy Markdown
Member Author

@ShaynaCummings ShaynaCummings Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

future - look into jsonc or figure out if comments are legal

"CoLoadedStreamlineCases": "IAL1plus",
"NonCoLoadedStreamlineCases": "IAL1plus"
},
"IdProofingRequirements": {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will be addressed by James's upcoming PR

"IdProofingValidity": {
"ValidityDays": 1826
},
"DevelopmentPhoneOverride": {
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can probably remove

Comment thread src/SEBT.Portal.Api/appsettings.co.example.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.co.example.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.co.example.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.co.example.json
Comment thread src/SEBT.Portal.Api/appsettings.co.example.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.co.example.json Outdated
Comment thread src/SEBT.Portal.Api/appsettings.co.example.json
Comment thread src/SEBT.Portal.Api/appsettings.co.example.json
@ShaynaCummings ShaynaCummings changed the title WIP DRYing up appsettings DC-284 DRYing up appsettings Apr 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants