[Enhancement]: Introduce `dab configure`
JerryNixon opened this issue · comments
Today, it's a bit of a trick to know which verb to use in order to add, update, or modify non-entity information in the configuration file. This new verb configure
is intended to set all data outside of entity information - entity information is handled by the add / update / delete
verbs and is already (mostly) comprehensive.
Configuration File Property Path | CLI Flag | Data Type | Nullable |
---|---|---|---|
data-source. database-type |
--data-source.database-type | String: MSSQL , PostgreSQL , CosmosDB , MySQL |
❌ |
data-source. connection-string |
--data-source.connection-string | String | ❌ |
data-source. options.database |
--data-source.options.database | String | ✅ |
data-source. options.container |
--data-source.options.container | String | ✅ |
data-source. options.schema |
--data-source.options.schema | String | ✅ |
data-source. options.set-session-context |
--data-source.options.set-session-context | Boolean: true , false (default: false ) |
✅ |
data-source-files | --data-source-files | Array of strings | ✅ |
runtime. rest.path |
--runtime.rest.path | String (default: /api ) |
❌ |
runtime. rest.enabled |
--runtime.rest.enabled | Boolean: true , false (default: true ) |
❌ |
runtime. rest.request-body-strict |
--runtime.rest.request-body-strict | Boolean: true , false (default: true ) |
✅ |
runtime. graphql.allow-introspection |
--runtime.graphql.allow-introspection | Boolean: true , false (default: true ) |
✅ |
runtime. graphql.path |
--runtime.graphql.path | String (default: /graphql ) |
❌ |
runtime. graphql.enabled |
--runtime.graphql.enabled | Boolean: true , false (default: true ) |
❌ |
runtime. graphql.multiple-mutations.create.enabled |
--runtime.graphql.multiple-mutations.create.enabled | Boolean: true , false (default: true ) |
✅ |
runtime. host.mode |
--runtime.host.mode | String: Development , Production |
❌ |
runtime. host.cors.origins |
--runtime.host.cors.origins | Array of strings | ✅ |
runtime. host.cors.allow-credentials |
--runtime.host.cors.allow-credentials | Boolean: true , false (default: false ) |
✅ |
runtime. host.authentication.provider |
--runtime.host.authentication.provider | String: StaticWebApps , AppService , AzureAD , Jwt |
✅ |
runtime. host.authentication.jwt.audience |
--runtime.host.authentication.jwt.audience | Array of strings | ✅ |
runtime. host.authentication.jwt.issuer |
--runtime.host.authentication.jwt.issuer | String | ✅ |
runtime. cache.enabled |
--runtime.cache.enabled | Boolean: true , false (default: false ) |
✅ |
runtime. cache.ttl-seconds |
--runtime.cache.ttl-seconds | Integer (default: 3600 ) |
✅ |
runtime. telemetry.application-insights.connection-string |
--runtime.telemetry.application-insights.connection-string | String | ✅ |
runtime. telemetry.application-insights.enabled |
--runtime.telemetry.application-insights.enabled | Boolean: true , false (default: false ) |
✅ |
runtime. host.log-level |
--runtime.host.log-level | String: Debug , Information , Warning , Error , Fatal (default: Information ) |
✅ |
Some of these values will be set in dab init
and there is no plan to change this. The purpose of dab configure
is to ensure the CLI is comprehensive and to allow individual modifications through the CLI.