Conversation
Builds the Eleventy static site into a Docker image and publishes it
to ECR, matching the pattern already in use by pusher/engineering-
manual. The image is a thin nginx-unprivileged:1.27-alpine wrapper
around the built _site/ directory; k8s manifests will follow in a
platform-gitops PR.
Changes in this repo:
- Dockerfile + docker/nginx.conf: serves /docs/ on :8080, runs as
non-root. Ports the 35 permanent redirects from vercel.json into
nginx config. Preserves trailingSlash: true behavior via an explicit
rewrite. Adds /healthz for k8s probes. Short TTL on HTML, 30 day
immutable cache on /docs/static/* and on fingerprinted assets.
- .github/workflows/release.yml: AWS OIDC/ECR login, yarn build,
optional Algolia index push on main, docker build, push to
008815156580.dkr.ecr.us-east-1.amazonaws.com/pusher/docs. Copied
from pusher/engineering-manual; PR builds push too (unique tag
per commit, matches repo convention).
- package.json: split `build` into `build:css` + `build:site`. Add
`update:algolia` task (kept the old `updateAlgoliaIndex` alias
so nothing that calls the old name breaks).
- postcss.config.js, _data/env.js, search/update-algolia-index.js:
read BUILD_ENV instead of VERCEL_ENV, falling back to VERCEL_ENV
for a transition window. update-algolia-index.js now fails loudly
if BUILD_ENV=production but ALGOLIA_UPDATE_KEY is missing.
- Drop api/search.js + the api/ directory: the Vercel serverless
function that rendered HTML search results for users without JS.
Client-side Algolia remains the primary experience; a <noscript>
block now explains that search requires JavaScript.
- Drop vercel.json: rewrites and redirects both live in the pod
nginx.conf now; trailingSlash is an explicit nginx rewrite.
- README: update deployment description; replace the Vercel-era
"search fallback" note with a short local-docker-build recipe.
Smoke-tested locally:
yarn install && yarn build
docker build -t docs:test .
docker run --rm -p 8080:8080 docs:test
/healthz 200 ok
/docs/ 200, HTML
/docs/channels/ 200, HTML
/docs/security/ 301 -> https://pusher.com/security
/docs/clusters/ 301 -> /docs/channels/miscellaneous/clusters/
/docs/channels (no slash) 301 -> /docs/channels/
/docs/does-not-exist/ 404
/docs/static/style.min.css 200, Cache-Control: public, max-age=2592000, immutable
Required secrets on this repo (GitHub Actions):
ALGOLIA_UPDATE_KEY (rotate from Vercel's copy)
PUSHERINOS_AWS_ACCESS_KEY_ID (existing pattern)
PUSHERINOS_AWS_SECRET_ACCESS_KEY (existing pattern)
PUSHER_CI_GITHUB_PRIVATE_TOKEN (existing pattern)
Depends on: pusher/platform-infrastructure#chore/add-docs-ecr for
the ECR repository (`pusher/docs`).
See: pusher/engineering-manual PR — Marketing Website Vercel to EKS
Migration Plan.
Made-with: Cursor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.