product:params
Shows every parameter the active product’s features declare in [tool.splent.config_schema], the value it resolves to and the layer that decides it. It reads the files and builds no app.
Example
splent product:params
uvlhub_splent [dev] 62 parameter(s) of 12 feature(s)
environment: docker/.env
KEY VALUE LAYER BIND
──────────────────────────────────────────────────────────────────────────────────────────────────────
captcha
CAPTCHA_PROTECTED_FORMS ["signup"] product derivation
auth
AUTH_LOGIN_MAX_ATTEMPTS 10 default deploy
AUTH_PASSWORD_CONFIRM true product derivation
media
MEDIA_PUBLIC_GALLERY false product runtime
MEDIA_MAX_UPLOAD_SIZE 20M product deploy
orcid
ORCID_CLIENT_SECRET **** environment deploy
A runtime parameter may be changed in the settings panel, which is not read here.
Secret values are masked, use --show-secrets to reveal them.
splent product:params --feature media
splent product:params --prod
Options
| Option | Description |
|---|---|
--dev, --prod |
The environment: its features (the base list and features_<env>) and its environment file. Without either, SPLENT_ENV, else dev |
--feature NAME |
Only the parameters of this feature, by its short name |
--show-secrets |
Print secret values in plain text |
Layers
The value is resolved as the framework resolves it at boot (Configuration), weakest first.
| Layer | Where |
|---|---|
default |
The feature’s: its [tool.splent.config], or the default of its schema |
product |
The product’s [tool.splent.config] |
environment |
The environment the product’s container gets: docker/.env in development, deploy/.env in production |
The environment of a development product carries every default and every value the product decides, because product:env --merge writes them there. A value there equal to the product’s, or to the default when the product decides nothing, is the product’s or the default, as the boot reads it. Any other value is the deployment’s decision and wins. For a derivation parameter it is listed under Drift too.
Two layers are not read: the product’s config.py, which runs only in the app, and, for a runtime parameter, the settings panel, whose values are in the database. product:config boots the app and shows the first; the panel shows the second.
What it says under the table
| Line | Meaning |
|---|---|
Drift, the environment overrides what the product decides |
derivation parameters whose value comes from the environment |
✗ KEY (feature): the product's value stops the boot: ... |
A value the schema refuses. The environment’s value of a runtime parameter is ignored instead, as the boot ignores it |
✗ KEY (feature): required, and neither the product nor the environment sets it |
A required parameter without a value |
Without a [tool.splent.config_schema], so not listed |
Selected features that declare no schema. Their keys are not parameters |
The command exits 0 whatever it finds. product:validate is the check that fails.
Secrets
A parameter of type secret is masked, and so is a string whose name says it is one (..._TOKEN, ..._PASSWORD), in case its schema does not mark it. A number, a bool or a list never is, whatever its name.
Parameters in the model
A parameter declared with uvl = true has nodes in the SPL’s feature model (see In the feature model). The value this command shows is the one that selects them, in product:validate, product:missing, product:auto-require and product:configure.