fix: split report global keys into raw and computed across plugins
The `<plugin>-global-<property>` keys in `:report` output returned the resolved value with the built-in default substituted in, so external tooling could not distinguish a property that had been set globally to the default from one that had never been set. The bare keys for caddy, haproxy, and traefik global-only properties had the same shape. The `global-<property>` keys now hold the raw stored value and are empty when nothing has been set, and a new `computed-<property>` key holds the effective value used at runtime, falling back through the per-app value (where one exists), the global value, and the built-in default. The bare global-only keys for the three proxy plugins are removed in favor of the raw/computed pair. Closes #8631.
This commit is contained in:
@@ -101,18 +101,20 @@ dokku app-json:report
|
||||
```
|
||||
=====> node-js-app app-json information
|
||||
App-json computed appjson path: app2.json
|
||||
App-json global appjson path: app.json
|
||||
App-json global appjson path:
|
||||
App-json appjson path: app2.json
|
||||
=====> python-sample app-json information
|
||||
App-json computed appjson path: app.json
|
||||
App-json global appjson path: app.json
|
||||
App-json global appjson path:
|
||||
App-json appjson path:
|
||||
=====> ruby-sample app-json information
|
||||
App-json computed appjson path: app.json
|
||||
App-json global appjson path: app.json
|
||||
App-json global appjson path:
|
||||
App-json appjson path:
|
||||
```
|
||||
|
||||
The `appjson-path` and `global-appjson-path` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-appjson-path` key holds the effective value used at deploy time, falling back to the global value (where one has been set) and then to the built-in default of `app.json`.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -122,7 +124,7 @@ dokku app-json:report node-js-app
|
||||
```
|
||||
=====> node-js-app app-json information
|
||||
App-json computed appjson path: app2.json
|
||||
App-json global appjson path: app.json
|
||||
App-json global appjson path:
|
||||
App-json appjson path: app2.json
|
||||
```
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
- The `docker-local` scheduler now sends `SIGTERM` to old containers immediately after a successful deploy, rather than waiting `wait-to-retire` seconds before signaling. This matches Heroku's graceful-shutdown contract and lets applications begin draining in-flight work as soon as proxy traffic switches. The `wait-to-retire` grace period and `stop-timeout-seconds` hard-stop continue to apply as before. See the [zero downtime deploys documentation](/docs/deployment/zero-downtime-deploys.md#wait-to-retire) for more details.
|
||||
- The `docker-local` scheduler no longer queues an image for retirement when another running container of the same app still uses it. This fixes the case where a `ps:rebuild` against an image-based deploy (`git:from-image`) produced an identical-SHA image and the `dokku-retire` cron timer would log `Image ... has running containers, skipping rm` on every run. Stuck entries from prior versions are pruned automatically on the next `ps:retire` run.
|
||||
- All `:report` subcommands now accept the `--global` flag, which scopes the report to globally-configured properties. The flag composes with `--format json`, so a JSON report of global properties can be obtained via, for example, `dokku scheduler:report --global --format json`. Previously, combining `--global` with `--format json` was rejected with an "info flag" error, and `--global` on its own was treated as an unknown flag.
|
||||
- Every `:report` key of the form `<plugin>-global-<property>` now returns the raw stored global value (empty when the property has never been set) instead of the resolved value with the built-in default substituted in. A new `<plugin>-computed-<property>` key has been added wherever a default existed and returns the effective value (per-app value, falling back to the global value, then to the built-in default). This affects `caddy`, `haproxy`, `traefik`, `app-json`, `builder-dockerfile`, `builder-herokuish`, `builder-lambda`, `builder-nixpacks`, `builder-pack`, `builder-railpack`, `checks`, `git`, `logs`, `network`, `proxy`, and `scheduler`. External tooling that read `<plugin>-global-<property>` and depended on the default value should switch to `<plugin>-computed-<property>`. The bare `<plugin>-<property>` keys for caddy/haproxy/traefik global-only properties (`caddy-image`, `haproxy-log-level`, `traefik-api-enabled`, etc.) have also been replaced by the `global-` and `computed-` pair.
|
||||
- The `scheduler-k3s` plugin now manages env config and the dokku-generated image pull Secret as their own helm releases with stable names (`config-{app}` and `pull-secret-{app}`) rather than bundling them into the app helm chart with a per-deploy timestamp suffix (`env-{app}.{ts}` / `ims-{app}.{ts}`). This fixes two bugs: a helm rollback of the app chart no longer deletes Secrets that older ReplicaSets still reference, and the Deployment's `imagePullSecrets` list no longer accumulates references to nonexistent Secrets across deploys. The next deploy of an app switches the Deployment's `envFrom` and `imagePullSecrets` references to the stable names and prunes any leaked entries; existing live Deployments do not need to be patched manually. App rename now also uninstalls the old `tls-{app}`, `config-{app}`, and `pull-secret-{app}` releases under the previous app name; the new name's releases are recreated on the next deploy or certs sync.
|
||||
- The storage plugin now treats persistent volumes as named, scheduler-aware first-class resources via `storage:create`, `storage:mount`, `storage:set`, and `storage:destroy`. The legacy `storage:mount <app> <host>:<container>` colon form continues to work on docker-local apps but is deprecated; on k3s apps it is rejected. Existing colon-form mounts are migrated automatically the first time the new storage plugin runs (during the install trigger) - they appear as `legacy-<hash>` entries in `storage:list-entries`. The migration is idempotent and tied to a per-app flag file at `$DOKKU_LIB_ROOT/config/storage/.migrated/<app>`; deleting that file forces a re-scan on the next install. The `storage:ensure-directory` command keeps working but now emits a deprecation warning - prefer `storage:create <name> [<path>]` (the path defaults to the same `$DOKKU_LIB_ROOT/data/storage/<name>` location). Storage entry names must now be DNS-1123 labels of 45 characters or less so they can be used verbatim as Helm release and Kubernetes resource names; underscores and uppercase characters that the older `ensure-directory` validator accepted are rejected for new names. The migration synthesizer always uses lowercase hex hashes so existing data is never locked out.
|
||||
|
||||
|
||||
@@ -98,18 +98,20 @@ dokku builder-pack:report
|
||||
```
|
||||
=====> node-js-app builder-pack information
|
||||
Builder pack computed projecttoml path: project2.toml
|
||||
Builder pack global projecttoml path: project.toml
|
||||
Builder pack global projecttoml path:
|
||||
Builder pack projecttoml path: project2.toml
|
||||
=====> python-sample builder-pack information
|
||||
Builder pack computed projecttoml path: project.toml
|
||||
Builder pack global projecttoml path: project.toml
|
||||
Builder pack global projecttoml path:
|
||||
Builder pack projecttoml path:
|
||||
=====> ruby-sample builder-pack information
|
||||
Builder pack computed projecttoml path: project.toml
|
||||
Builder pack global projecttoml path: project.json
|
||||
Builder pack global projecttoml path:
|
||||
Builder pack projecttoml path:
|
||||
```
|
||||
|
||||
The `projecttoml-path` and `global-projecttoml-path` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-projecttoml-path` key holds the effective value used at build time, falling back to the global value (where one has been set) and then to the built-in default of `project.toml`.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -119,7 +121,7 @@ dokku builder-pack:report node-js-app
|
||||
```
|
||||
=====> node-js-app builder-pack information
|
||||
Builder pack computed projecttoml path: project2.toml
|
||||
Builder pack global projecttoml path: project.toml
|
||||
Builder pack global projecttoml path:
|
||||
Builder pack projecttoml path: project2.toml
|
||||
```
|
||||
|
||||
|
||||
@@ -82,18 +82,20 @@ dokku builder-dockerfile:report
|
||||
```
|
||||
=====> node-js-app builder-dockerfile information
|
||||
Builder dockerfile computed dockerfile path: Dockerfile2
|
||||
Builder dockerfile global dockerfile path: Dockerfile
|
||||
Builder dockerfile global dockerfile path:
|
||||
Builder dockerfile dockerfile path: Dockerfile2
|
||||
=====> python-sample builder-dockerfile information
|
||||
Builder dockerfile computed dockerfile path: Dockerfile
|
||||
Builder dockerfile global dockerfile path: Dockerfile
|
||||
Builder dockerfile global dockerfile path:
|
||||
Builder dockerfile dockerfile path:
|
||||
=====> ruby-sample builder-dockerfile information
|
||||
Builder dockerfile computed dockerfile path: Dockerfile
|
||||
Builder dockerfile global dockerfile path: Dockerfile
|
||||
Builder dockerfile global dockerfile path:
|
||||
Builder dockerfile dockerfile path:
|
||||
```
|
||||
|
||||
The `dockerfile-path` and `global-dockerfile-path` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-dockerfile-path` key holds the effective value used at deploy time, falling back to the global value (where one has been set) and then to the built-in default of `Dockerfile`.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -103,7 +105,7 @@ dokku builder-dockerfile:report node-js-app
|
||||
```
|
||||
=====> node-js-app builder-dockerfile information
|
||||
Builder dockerfile computed dockerfile path: Dockerfile2
|
||||
Builder dockerfile global dockerfile path: Dockerfile
|
||||
Builder dockerfile global dockerfile path:
|
||||
Builder dockerfile dockerfile path: Dockerfile2
|
||||
```
|
||||
|
||||
|
||||
@@ -117,18 +117,20 @@ dokku builder-herokuish:report
|
||||
```
|
||||
=====> node-js-app builder-herokuish information
|
||||
Builder herokuish computed allowed: false
|
||||
Builder herokuish global allowed: true
|
||||
Builder herokuish global allowed:
|
||||
Builder herokuish allowed: false
|
||||
=====> python-sample builder-herokuish information
|
||||
Builder herokuish computed allowed: true
|
||||
Builder herokuish global allowed: true
|
||||
Builder herokuish global allowed:
|
||||
Builder herokuish allowed:
|
||||
=====> ruby-sample builder-herokuish information
|
||||
Builder herokuish computed allowed: true
|
||||
Builder herokuish global allowed: true
|
||||
Builder herokuish global allowed:
|
||||
Builder herokuish allowed:
|
||||
```
|
||||
|
||||
The `allowed` and `global-allowed` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-allowed` key holds the effective value used at build time, falling back to the global value (where one has been set) and then to the built-in default (`true` on amd64, `false` otherwise).
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -138,7 +140,7 @@ dokku builder-herokuish:report node-js-app
|
||||
```
|
||||
=====> node-js-app builder-herokuish information
|
||||
Builder herokuish computed allowed: false
|
||||
Builder herokuish global allowed: true
|
||||
Builder herokuish global allowed:
|
||||
Builder herokuish allowed: false
|
||||
```
|
||||
|
||||
|
||||
@@ -84,18 +84,20 @@ dokku builder-lambda:report
|
||||
```
|
||||
=====> node-js-app builder-lambda information
|
||||
Builder lambda computed lambdayml path: lambda2.yml
|
||||
Builder lambda global lambdayml path: lambda.yml
|
||||
Builder lambda global lambdayml path:
|
||||
Builder lambda lambdayml path: lambda2.yml
|
||||
=====> python-sample builder-lambda information
|
||||
Builder lambda computed lambdayml path: lambda.yml
|
||||
Builder lambda global lambdayml path: lambda.yml
|
||||
Builder lambda global lambdayml path:
|
||||
Builder lambda lambdayml path:
|
||||
=====> ruby-sample builder-lambda information
|
||||
Builder lambda computed lambdayml path: lambda.yml
|
||||
Builder lambda global lambdayml path: lambda.yml
|
||||
Builder lambda global lambdayml path:
|
||||
Builder lambda lambdayml path:
|
||||
```
|
||||
|
||||
The `lambdayml-path` and `global-lambdayml-path` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-lambdayml-path` key holds the effective value used at build time, falling back to the global value (where one has been set) and then to the built-in default of `lambda.yml`.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -105,7 +107,7 @@ dokku builder-lambda:report node-js-app
|
||||
```
|
||||
=====> node-js-app builder-lambda information
|
||||
Builder lambda computed lambdayml path: lambda2.yml
|
||||
Builder lambda global lambdayml path: lambda.yml
|
||||
Builder lambda global lambdayml path:
|
||||
Builder lambda lambdayml path: lambda2.yml
|
||||
```
|
||||
|
||||
|
||||
@@ -97,18 +97,20 @@ dokku builder-nixpacks:report
|
||||
```
|
||||
=====> node-js-app builder-nixpacks information
|
||||
Builder-nixpacks computed nixpackstoml path: nixpacks2.toml
|
||||
Builder-nixpacks global nixpackstoml path: nixpacks.toml
|
||||
Builder-nixpacks global nixpackstoml path:
|
||||
Builder-nixpacks nixpackstoml path: nixpacks2.toml
|
||||
=====> python-sample builder-nixpacks information
|
||||
Builder-nixpacks computed nixpackstoml path: nixpacks.toml
|
||||
Builder-nixpacks global nixpackstoml path: nixpacks.toml
|
||||
Builder-nixpacks global nixpackstoml path:
|
||||
Builder-nixpacks nixpackstoml path:
|
||||
=====> ruby-sample builder-nixpacks information
|
||||
Builder-nixpacks computed nixpackstoml path: nixpacks.toml
|
||||
Builder-nixpacks global nixpackstoml path: nixpacks.toml
|
||||
Builder-nixpacks global nixpackstoml path:
|
||||
Builder-nixpacks nixpackstoml path:
|
||||
```
|
||||
|
||||
The `nixpackstoml-path` and `global-nixpackstoml-path` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-nixpackstoml-path` key holds the effective value used at build time, falling back to the global value (where one has been set) and then to the built-in default of `nixpacks.toml`.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -118,7 +120,7 @@ dokku builder-nixpacks:report node-js-app
|
||||
```
|
||||
=====> node-js-app builder-nixpacks information
|
||||
Builder-nixpacks computed nixpackstoml path: nixpacks2.toml
|
||||
Builder-nixpacks global nixpackstoml path: nixpacks.toml
|
||||
Builder-nixpacks global nixpackstoml path:
|
||||
Builder-nixpacks nixpackstoml path: nixpacks2.toml
|
||||
```
|
||||
|
||||
|
||||
@@ -106,18 +106,20 @@ dokku builder-railpack:report
|
||||
```
|
||||
=====> node-js-app builder-railpack information
|
||||
Builder-railpack computed railpackjson path: railpack2.json
|
||||
Builder-railpack global railpackjson path: railpack.json
|
||||
Builder-railpack global railpackjson path:
|
||||
Builder-railpack railpackjson path: railpack2.json
|
||||
=====> python-sample builder-railpack information
|
||||
Builder-railpack computed railpackjson path: railpack.json
|
||||
Builder-railpack global railpackjson path: railpack.json
|
||||
Builder-railpack global railpackjson path:
|
||||
Builder-railpack railpackjson path:
|
||||
=====> ruby-sample builder-railpack information
|
||||
Builder-railpack computed railpackjson path: railpack.json
|
||||
Builder-railpack global railpackjson path: railpack.json
|
||||
Builder-railpack global railpackjson path:
|
||||
Builder-railpack railpackjson path:
|
||||
```
|
||||
|
||||
The `railpackjson-path` and `global-railpackjson-path` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-railpackjson-path` key holds the effective value used at build time, falling back to the global value (where one has been set) and then to the built-in default of `railpack.json`.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -127,7 +129,7 @@ dokku builder-railpack:report node-js-app
|
||||
```
|
||||
=====> node-js-app builder-railpack information
|
||||
Builder-railpack computed railpackjson path: railpack2.json
|
||||
Builder-railpack global railpackjson path: railpack.json
|
||||
Builder-railpack global railpackjson path:
|
||||
Builder-railpack railpackjson path: railpack2.json
|
||||
```
|
||||
|
||||
|
||||
@@ -281,12 +281,15 @@ dokku git:report
|
||||
|
||||
```
|
||||
=====> node-js-app git information
|
||||
Git computed archive max files: 10000
|
||||
Git computed archive max size: 1073741824
|
||||
Git computed deploy branch: master
|
||||
Git computed keep git dir: false
|
||||
Git deploy branch:
|
||||
Git global archive max files: 10000
|
||||
Git global archive max size: 1073741824
|
||||
Git global deploy branch: master
|
||||
Git global archive max files:
|
||||
Git global archive max size:
|
||||
Git global deploy branch:
|
||||
Git global keep git dir:
|
||||
Git keep git dir:
|
||||
Git rev env var: GIT_REV
|
||||
Git sha: a1b2c3d
|
||||
@@ -294,7 +297,7 @@ dokku git:report
|
||||
Git last updated at: 1700000000
|
||||
```
|
||||
|
||||
The `deploy-branch` and `keep-git-dir` keys hold the raw per-app value and are empty when nothing has been set on the app. The `computed-deploy-branch` and `computed-keep-git-dir` keys hold the effective value used at deploy time, falling back to the corresponding global value (where one exists) and then to the built-in default.
|
||||
The bare per-app keys (`deploy-branch`, `keep-git-dir`) and the `global-<prop>` keys hold the raw per-app or global value respectively, and are empty when nothing has been set. The `computed-<prop>` keys hold the effective value used at deploy time, falling back to the global value (where one has been set) and then to the built-in default.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
|
||||
@@ -80,14 +80,16 @@ dokku scheduler:report
|
||||
Scheduler selected: herokuish
|
||||
=====> python-sample scheduler information
|
||||
Scheduler computed selected: dockerfile
|
||||
Scheduler global selected: herokuish
|
||||
Scheduler global selected:
|
||||
Scheduler selected: dockerfile
|
||||
=====> ruby-sample scheduler information
|
||||
Scheduler computed selected: herokuish
|
||||
Scheduler global selected: herokuish
|
||||
Scheduler computed selected: docker-local
|
||||
Scheduler global selected:
|
||||
Scheduler selected:
|
||||
```
|
||||
|
||||
The `selected` and `global-selected` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-selected` key holds the effective value used at deploy time, falling back to the global value (where one has been set) and then to the built-in default of `docker-local`.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -96,6 +98,8 @@ dokku scheduler:report node-js-app
|
||||
|
||||
```
|
||||
=====> node-js-app scheduler information
|
||||
Scheduler computed selected: herokuish
|
||||
Scheduler global selected:
|
||||
Scheduler selected: herokuish
|
||||
```
|
||||
|
||||
|
||||
@@ -95,22 +95,24 @@ dokku checks:report
|
||||
Checks disabled list: none
|
||||
Checks skipped list: none
|
||||
Checks computed wait to retire: 60
|
||||
Checks global wait to retire: 60
|
||||
Checks global wait to retire:
|
||||
Checks wait to retire:
|
||||
=====> python-app checks information
|
||||
Checks disabled list: none
|
||||
Checks skipped list: none
|
||||
Checks computed wait to retire: 60
|
||||
Checks global wait to retire: 60
|
||||
Checks global wait to retire:
|
||||
Checks wait to retire:
|
||||
=====> ruby-app checks information
|
||||
Checks disabled list: _all_
|
||||
Checks skipped list: none
|
||||
Checks computed wait to retire: 60
|
||||
Checks global wait to retire: 60
|
||||
Checks global wait to retire:
|
||||
Checks wait to retire:
|
||||
```
|
||||
|
||||
The `wait-to-retire` and `global-wait-to-retire` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-wait-to-retire` key holds the effective value used at deploy time, falling back to the global value (where one has been set) and then to the built-in default of `60`.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -120,10 +122,10 @@ dokku checks:report node-js-app
|
||||
```
|
||||
=====> node-js-app checks information
|
||||
Checks disabled list: none
|
||||
Checks skipped list: none
|
||||
Checks skipped list: none
|
||||
Checks computed wait to retire: 60
|
||||
Checks global wait to retire: 60
|
||||
Checks wait to retire:
|
||||
Checks global wait to retire:
|
||||
Checks wait to retire:
|
||||
```
|
||||
|
||||
You can pass flags which will output only the value of the specific information you want. For example:
|
||||
|
||||
@@ -428,7 +428,7 @@ dokku network:report
|
||||
=====> node-js-app network information
|
||||
Network attach post create:
|
||||
Network attach post deploy:
|
||||
Network bind all interfaces: false
|
||||
Network bind all interfaces:
|
||||
Network computed attach post create:
|
||||
Network computed attach post deploy:
|
||||
Network computed bind all interfaces:false
|
||||
@@ -436,7 +436,7 @@ dokku network:report
|
||||
Network computed tld:
|
||||
Network global attach post create:
|
||||
Network global attach post deploy:
|
||||
Network global bind all interfaces:false
|
||||
Network global bind all interfaces:
|
||||
Network global initial network:
|
||||
Network global tld:
|
||||
Network initial network:
|
||||
@@ -445,7 +445,7 @@ dokku network:report
|
||||
=====> python-sample network information
|
||||
Network attach post create:
|
||||
Network attach post deploy:
|
||||
Network bind all interfaces: false
|
||||
Network bind all interfaces:
|
||||
Network computed attach post create:
|
||||
Network computed attach post deploy:
|
||||
Network computed bind all interfaces:false
|
||||
@@ -453,7 +453,7 @@ dokku network:report
|
||||
Network computed tld:
|
||||
Network global attach post create:
|
||||
Network global attach post deploy:
|
||||
Network global bind all interfaces:false
|
||||
Network global bind all interfaces:
|
||||
Network global initial network:
|
||||
Network global tld:
|
||||
Network initial network:
|
||||
@@ -462,7 +462,7 @@ dokku network:report
|
||||
=====> ruby-sample network information
|
||||
Network attach post create:
|
||||
Network attach post deploy:
|
||||
Network bind all interfaces: false
|
||||
Network bind all interfaces:
|
||||
Network computed attach post create:
|
||||
Network computed attach post deploy:
|
||||
Network computed bind all interfaces:false
|
||||
@@ -470,7 +470,7 @@ dokku network:report
|
||||
Network computed tld:
|
||||
Network global attach post create:
|
||||
Network global attach post deploy:
|
||||
Network global bind all interfaces:false
|
||||
Network global bind all interfaces:
|
||||
Network global initial network:
|
||||
Network global tld:
|
||||
Network initial network:
|
||||
@@ -478,6 +478,8 @@ dokku network:report
|
||||
Network web listeners:
|
||||
```
|
||||
|
||||
The per-app and `global-` keys for each property hold the raw values and are empty when nothing has been set. The `computed-` keys hold the effective value, falling back to the global value (where one has been set) and then to the built-in default (`false` for `bind-all-interfaces`, empty otherwise).
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -488,7 +490,7 @@ dokku network:report node-js-app
|
||||
=====> node-js-app network information
|
||||
Network attach post create:
|
||||
Network attach post deploy:
|
||||
Network bind all interfaces: false
|
||||
Network bind all interfaces:
|
||||
Network computed attach post create:
|
||||
Network computed attach post deploy:
|
||||
Network computed bind all interfaces:false
|
||||
@@ -496,7 +498,7 @@ dokku network:report node-js-app
|
||||
Network computed tld:
|
||||
Network global attach post create:
|
||||
Network global attach post deploy:
|
||||
Network global bind all interfaces:false
|
||||
Network global bind all interfaces:
|
||||
Network global initial network:
|
||||
Network global tld:
|
||||
Network initial network:
|
||||
|
||||
@@ -220,35 +220,22 @@ dokku caddy:report
|
||||
|
||||
```
|
||||
=====> node-js-app caddy information
|
||||
Caddy computed tls internal: false
|
||||
Caddy global tls internal: false
|
||||
Caddy image: lucaslorentz/caddy-docker-proxy:2.7
|
||||
Caddy letsencrypt email:
|
||||
Caddy letsencrypt server:
|
||||
Caddy log level: ERROR
|
||||
Caddy polling interval: 5s
|
||||
Caddy tls internal:
|
||||
=====> python-app caddy information
|
||||
Caddy computed tls internal: false
|
||||
Caddy global tls internal: false
|
||||
Caddy image: lucaslorentz/caddy-docker-proxy:2.7
|
||||
Caddy letsencrypt email:
|
||||
Caddy letsencrypt server:
|
||||
Caddy log level: ERROR
|
||||
Caddy polling interval: 5s
|
||||
Caddy tls internal:
|
||||
=====> ruby-app caddy information
|
||||
Caddy computed tls internal: false
|
||||
Caddy global tls internal: false
|
||||
Caddy image: lucaslorentz/caddy-docker-proxy:2.7
|
||||
Caddy letsencrypt email:
|
||||
Caddy letsencrypt server:
|
||||
Caddy log level: ERROR
|
||||
Caddy polling interval: 5s
|
||||
Caddy computed image: lucaslorentz/caddy-docker-proxy:2.7
|
||||
Caddy computed letsencrypt email:
|
||||
Caddy computed letsencrypt server: https://acme-v02.api.letsencrypt.org/directory
|
||||
Caddy computed log level: ERROR
|
||||
Caddy computed polling interval: 5s
|
||||
Caddy computed tls internal: false
|
||||
Caddy global image:
|
||||
Caddy global letsencrypt email:
|
||||
Caddy global letsencrypt server:
|
||||
Caddy global log level:
|
||||
Caddy global polling interval:
|
||||
Caddy global tls internal:
|
||||
Caddy tls internal:
|
||||
```
|
||||
|
||||
The `tls-internal` key holds the raw per-app value and is empty when nothing has been set on the app. The `computed-tls-internal` key holds the effective value used at deploy time, falling back to the global value and then to the built-in default of `false`. The `global-tls-internal` key holds the global value.
|
||||
The `global-<prop>` keys hold the raw global value and are empty when nothing has been set globally. The `computed-<prop>` keys hold the effective value used at deploy time, falling back to the global value (where one has been set) and then to the built-in default. The bare `tls-internal` key holds the raw per-app value.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
@@ -258,18 +245,23 @@ dokku caddy:report node-js-app
|
||||
|
||||
```
|
||||
=====> node-js-app caddy information
|
||||
Caddy computed tls internal: false
|
||||
Caddy global tls internal: false
|
||||
Caddy image: lucaslorentz/caddy-docker-proxy:2.7
|
||||
Caddy letsencrypt email:
|
||||
Caddy letsencrypt server:
|
||||
Caddy log level: ERROR
|
||||
Caddy polling interval: 5s
|
||||
Caddy computed image: lucaslorentz/caddy-docker-proxy:2.7
|
||||
Caddy computed letsencrypt email:
|
||||
Caddy computed letsencrypt server: https://acme-v02.api.letsencrypt.org/directory
|
||||
Caddy computed log level: ERROR
|
||||
Caddy computed polling interval: 5s
|
||||
Caddy computed tls internal: false
|
||||
Caddy global image:
|
||||
Caddy global letsencrypt email:
|
||||
Caddy global letsencrypt server:
|
||||
Caddy global log level:
|
||||
Caddy global polling interval:
|
||||
Caddy global tls internal:
|
||||
Caddy tls internal:
|
||||
```
|
||||
|
||||
You can pass flags which will output only the value of the specific information you want. For example:
|
||||
|
||||
```shell
|
||||
dokku caddy:report node-js-app --caddy-image
|
||||
dokku caddy:report node-js-app --caddy-computed-image
|
||||
```
|
||||
|
||||
@@ -205,13 +205,20 @@ dokku haproxy:report
|
||||
|
||||
```
|
||||
=====> node-js-app haproxy information
|
||||
Haproxy image: byjg/easy-haproxy:4.0.0
|
||||
=====> python-app haproxy information
|
||||
Haproxy image: byjg/easy-haproxy:4.0.0
|
||||
=====> ruby-app haproxy information
|
||||
Haproxy image: byjg/easy-haproxy:4.0.0
|
||||
Haproxy computed image: byjg/easy-haproxy:4.0.0
|
||||
Haproxy computed letsencrypt email:
|
||||
Haproxy computed letsencrypt server: https://acme-v02.api.letsencrypt.org/directory
|
||||
Haproxy computed log level: ERROR
|
||||
Haproxy computed refresh conf: 10
|
||||
Haproxy global image:
|
||||
Haproxy global letsencrypt email:
|
||||
Haproxy global letsencrypt server:
|
||||
Haproxy global log level:
|
||||
Haproxy global refresh conf:
|
||||
```
|
||||
|
||||
The `global-<prop>` keys hold the raw global value and are empty when nothing has been set globally. The `computed-<prop>` keys hold the effective value used at deploy time, falling back to the built-in default when the global value is empty.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -220,11 +227,20 @@ dokku haproxy:report node-js-app
|
||||
|
||||
```
|
||||
=====> node-js-app haproxy information
|
||||
Haproxy image: byjg/easy-haproxy:4.0.0
|
||||
Haproxy computed image: byjg/easy-haproxy:4.0.0
|
||||
Haproxy computed letsencrypt email:
|
||||
Haproxy computed letsencrypt server: https://acme-v02.api.letsencrypt.org/directory
|
||||
Haproxy computed log level: ERROR
|
||||
Haproxy computed refresh conf: 10
|
||||
Haproxy global image:
|
||||
Haproxy global letsencrypt email:
|
||||
Haproxy global letsencrypt server:
|
||||
Haproxy global log level:
|
||||
Haproxy global refresh conf:
|
||||
```
|
||||
|
||||
You can pass flags which will output only the value of the specific information you want. For example:
|
||||
|
||||
```shell
|
||||
dokku haproxy:report node-js-app --haproxy-image
|
||||
dokku haproxy:report node-js-app --haproxy-computed-image
|
||||
```
|
||||
|
||||
@@ -331,43 +331,30 @@ dokku traefik:report
|
||||
|
||||
```
|
||||
=====> node-js-app traefik information
|
||||
Traefik api enabled: false
|
||||
Traefik api vhost: traefik.dokku.me
|
||||
Traefik basic auth password: password
|
||||
Traefik basic auth username: user
|
||||
Traefik challenge mode: tls
|
||||
Traefik dashboard enabled: false
|
||||
Traefik dns provider:
|
||||
Traefik image: traefik:v2.8
|
||||
Traefik letsencrypt email:
|
||||
Traefik letsencrypt server:
|
||||
Traefik log level: ERROR
|
||||
=====> python-app traefik information
|
||||
Traefik api enabled: false
|
||||
Traefik api vhost: traefik.dokku.me
|
||||
Traefik basic auth password: password
|
||||
Traefik basic auth username: user
|
||||
Traefik challenge mode: tls
|
||||
Traefik dashboard enabled: false
|
||||
Traefik dns provider:
|
||||
Traefik image: traefik:v2.8
|
||||
Traefik letsencrypt email:
|
||||
Traefik letsencrypt server:
|
||||
Traefik log level: ERROR
|
||||
=====> ruby-app traefik information
|
||||
Traefik api enabled: false
|
||||
Traefik api vhost: traefik.dokku.me
|
||||
Traefik basic auth password: password
|
||||
Traefik basic auth username: user
|
||||
Traefik challenge mode: tls
|
||||
Traefik dashboard enabled: false
|
||||
Traefik dns provider:
|
||||
Traefik image: traefik:v2.8
|
||||
Traefik letsencrypt email:
|
||||
Traefik letsencrypt server:
|
||||
Traefik log level: ERROR
|
||||
Traefik computed api enabled: false
|
||||
Traefik computed api vhost: traefik.dokku.me
|
||||
Traefik computed challenge mode: tls
|
||||
Traefik computed dashboard enabled: false
|
||||
Traefik computed http entry point: http
|
||||
Traefik computed https entry point: https
|
||||
Traefik computed image: traefik:v2.8
|
||||
Traefik computed letsencrypt email:
|
||||
Traefik computed letsencrypt server: https://acme-v02.api.letsencrypt.org/directory
|
||||
Traefik computed log level: ERROR
|
||||
Traefik global api enabled:
|
||||
Traefik global api vhost:
|
||||
Traefik global challenge mode:
|
||||
Traefik global dashboard enabled:
|
||||
Traefik global http entry point:
|
||||
Traefik global https entry point:
|
||||
Traefik global image:
|
||||
Traefik global letsencrypt email:
|
||||
Traefik global letsencrypt server:
|
||||
Traefik global log level:
|
||||
```
|
||||
|
||||
The `global-<prop>` keys hold the raw global value and are empty when nothing has been set globally. The `computed-<prop>` keys hold the effective value used at deploy time, falling back to the built-in default when the global value is empty.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -376,21 +363,30 @@ dokku traefik:report node-js-app
|
||||
|
||||
```
|
||||
=====> node-js-app traefik information
|
||||
Traefik api enabled: false
|
||||
Traefik api vhost: traefik.dokku.me
|
||||
Traefik basic auth password: password
|
||||
Traefik basic auth username: user
|
||||
Traefik challenge mode: tls
|
||||
Traefik dashboard enabled: false
|
||||
Traefik dns provider:
|
||||
Traefik image: traefik:v2.8
|
||||
Traefik letsencrypt email:
|
||||
Traefik letsencrypt server:
|
||||
Traefik log level: ERROR
|
||||
Traefik computed api enabled: false
|
||||
Traefik computed api vhost: traefik.dokku.me
|
||||
Traefik computed challenge mode: tls
|
||||
Traefik computed dashboard enabled: false
|
||||
Traefik computed http entry point: http
|
||||
Traefik computed https entry point: https
|
||||
Traefik computed image: traefik:v2.8
|
||||
Traefik computed letsencrypt email:
|
||||
Traefik computed letsencrypt server: https://acme-v02.api.letsencrypt.org/directory
|
||||
Traefik computed log level: ERROR
|
||||
Traefik global api enabled:
|
||||
Traefik global api vhost:
|
||||
Traefik global challenge mode:
|
||||
Traefik global dashboard enabled:
|
||||
Traefik global http entry point:
|
||||
Traefik global https entry point:
|
||||
Traefik global image:
|
||||
Traefik global letsencrypt email:
|
||||
Traefik global letsencrypt server:
|
||||
Traefik global log level:
|
||||
```
|
||||
|
||||
You can pass flags which will output only the value of the specific information you want. For example:
|
||||
|
||||
```shell
|
||||
dokku traefik:report node-js-app --traefik-api-enabled
|
||||
dokku traefik:report node-js-app --traefik-computed-api-enabled
|
||||
```
|
||||
|
||||
@@ -142,16 +142,24 @@ dokku proxy:report
|
||||
|
||||
```
|
||||
=====> node-js-app proxy information
|
||||
Proxy computed type: nginx
|
||||
Proxy enabled: true
|
||||
Proxy type: nginx
|
||||
Proxy global type:
|
||||
Proxy type:
|
||||
=====> python-sample proxy information
|
||||
Proxy computed type: nginx
|
||||
Proxy enabled: true
|
||||
Proxy type: nginx
|
||||
Proxy global type:
|
||||
Proxy type:
|
||||
=====> ruby-sample proxy information
|
||||
Proxy computed type: nginx
|
||||
Proxy enabled: true
|
||||
Proxy type: nginx
|
||||
Proxy global type:
|
||||
Proxy type:
|
||||
```
|
||||
|
||||
The `type` and `global-type` keys hold the raw per-app and global value respectively, and are empty when nothing has been set. The `computed-type` key holds the effective value used at deploy time, falling back to the global value (where one has been set) and then to the built-in default of `nginx`.
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
@@ -160,14 +168,16 @@ dokku proxy:report node-js-app
|
||||
|
||||
```
|
||||
=====> node-js-app proxy information
|
||||
Proxy computed type: nginx
|
||||
Proxy enabled: true
|
||||
Proxy type: nginx
|
||||
Proxy global type:
|
||||
Proxy type:
|
||||
```
|
||||
|
||||
You can pass flags which will output only the value of the specific information you want. For example:
|
||||
|
||||
```shell
|
||||
dokku proxy:report node-js-app --proxy-type
|
||||
dokku proxy:report node-js-app --proxy-computed-type
|
||||
```
|
||||
|
||||
#### Proxy Port Scheme
|
||||
|
||||
Reference in New Issue
Block a user