Skip to content

Remove private docs HTTP serving#140

Merged
ericmj merged 1 commit into
mainfrom
remove-http-serving
Jul 9, 2026
Merged

Remove private docs HTTP serving#140
ericmj merged 1 commit into
mainfrom
remove-http-serving

Conversation

@ericmj

@ericmj ericmj commented Jul 9, 2026

Copy link
Copy Markdown
Member

Private docs are now served by the docs-private Fastly compute service (hexpm-ops#178, hexpm-ops#182), which authenticates against hexpm directly and reads the private bucket itself, so the app no longer needs an HTTP server.

This removes the entire HTTP layer: the Plug router, OAuth PKCE client, error page templates, static assets, the Bandit server and the bandit/logster dependencies (dropping transitive plug), the /status endpoint, and the serving-only store/HTTP/auth functions and configuration (port, scheme, OAuth client, session salts). The app is now a pure background pipeline: SQS consumer, docs processing, uploads, search indexing, and CDN purges — still including the private Fastly service purge from #137.

Deploying this image requires the readiness probe removal in the hexpm-ops PR to land first, since the probe hits GET /status:4002.

Private docs are now served by the docs-private Fastly compute service,
which authenticates against hexpm directly and reads the private bucket
itself. Remove the entire HTTP layer: the Plug router, OAuth client,
error page templates, static assets, Bandit server, and the serving-only
store/HTTP/auth functions and configuration. The app is now a pure
background pipeline (SQS consumer, docs processing, uploads, search
indexing, and CDN purges, which still include the private Fastly
service).
@ericmj ericmj marked this pull request as ready for review July 9, 2026 00:28
@ericmj ericmj merged commit c42056a into main Jul 9, 2026
8 checks passed
@ericmj ericmj deleted the remove-http-serving branch July 9, 2026 23:07
ericmj added a commit that referenced this pull request Jul 9, 2026
PR #139 added test/hexdocs/store/gs_test.exs, which uses Bandit and
Plug.Conn for a mock GCS server, while PR #140 removed the bandit
dependency along with the HTTP serving layer. Each PR passed CI against
its own base, but together they broke compilation of the test suite on
main.

Keep the app itself a pure background pipeline by re-adding bandit only
for the test environment.
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.

1 participant