Skip to content

fix: export the http-auth state of each app - #444

Merged
josegonzalez merged 1 commit into
mainfrom
428-dokku-http-auth-declares-export-support-but-is-never-exported
Aug 10, 2026
Merged

fix: export the http-auth state of each app#444
josegonzalez merged 1 commit into
mainfrom
428-dokku-http-auth-declares-export-support-but-is-never-exported

Conversation

@josegonzalez

Copy link
Copy Markdown
Member

dokku_http_auth advertised partial export support while implementing no exporter and appearing in no export order, so docket export silently dropped whether HTTP basic auth was serving on an app. It is now emitted after the rest of the http-auth family, because http-auth:add-user, add-allowed-ip and add-domain each turn auth on as a side effect and the task that owns the flag has to run last for the recipe's stated state to be the one that sticks. That also lets a disabled app whose users survived the disable export as state: absent rather than quietly coming back enabled. state: present no longer demands a username and password, matching the plugin, which takes them as optional trailing arguments and skips seeding a user without them. A new invariant test rules out the whole class by failing when a task claims to be exportable without being wired in, or is wired in while claiming it cannot be. The http-auth tasks now require dokku-http-auth 0.13.0.

The asymmetry that made the old ordering unworkable was fixed upstream in dokku/dokku-http-auth#40, released as 0.13.0, which is why the floor moves. Exporting the users as hashes rather than as required password inputs is tracked separately in #443.

Fixes #428

`dokku_http_auth` advertised partial export support while implementing no exporter and appearing in no export order, so `docket export` silently dropped whether HTTP basic auth was serving on an app. It is now emitted after the rest of the http-auth family, because `http-auth:add-user`, `add-allowed-ip` and `add-domain` each turn auth on as a side effect and the task that owns the flag has to run last for the recipe's stated state to be the one that sticks. That also lets a disabled app whose users survived the disable export as `state: absent` rather than quietly coming back enabled. `state: present` no longer demands a username and password, matching the plugin, which takes them as optional trailing arguments and skips seeding a user without them. A new invariant test rules out the whole class by failing when a task claims to be exportable without being wired in, or is wired in while claiming it cannot be. The http-auth tasks now require dokku-http-auth 0.13.0.
@josegonzalez
josegonzalez merged commit 7b178b7 into main Aug 10, 2026
19 checks passed
@josegonzalez
josegonzalez deleted the 428-dokku-http-auth-declares-export-support-but-is-never-exported branch August 10, 2026 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dokku_http_auth declares export support but is never exported

1 participant