Skip to content

deleted#368

Closed
aonemd wants to merge 1 commit intomainfrom
migrate/self-host-eks
Closed

deleted#368
aonemd wants to merge 1 commit intomainfrom
migrate/self-host-eks

Conversation

@aonemd
Copy link
Copy Markdown
Member

@aonemd aonemd commented Apr 22, 2026

No description provided.

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
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 22, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Apr 22, 2026 8:03am

Request Review

@aonemd aonemd closed this Apr 22, 2026
@aonemd aonemd deleted the migrate/self-host-eks branch April 22, 2026 08:46
@aonemd aonemd changed the title Containerize docs for self-hosting on eks-general deleted Apr 22, 2026
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