Web frontend for errata.build.resf.org, displaying security advisories, bug fixes, and enhancements for Rocky Linux.
Prerequisites: Node.js 20+, Yarn
yarn install
yarn devThe dev server runs at http://localhost:9007 and proxies API requests to a local apollo-server instance at 127.0.0.1:9999. See the Apollo Development Guide for setting up the backend locally.
To proxy to the production API instead, update vite.config.ts:
proxy: {
"/api": {
target: "https://errata.build.resf.org",
changeOrigin: true,
},
},yarn build # Type-check + Vite production build
yarn typecheck # Type-check onlyOutput goes to dist/.
The production container uses nginx to serve static assets and proxy /api requests to the apollo-server backend.
docker build -t errata-frontend .
docker run -p 8086:8086 errata-frontendThe nginx config (nginx/default.conf) proxies /api to apollo-server.apollo2production.svc.cluster.local:8000 by default, which works inside the Kubernetes cluster.
Deploy to Kubernetes with Helm:
# First deploy
helm install errata-frontend deploy/helm/ \
-n <namespace> \
--set image.tag=<image-tag>
# Updates
helm upgrade errata-frontend deploy/helm/ \
-n <namespace> \
--set image.tag=<new-image-tag>
# Rollback
helm rollback errata-frontend <revision> -n <namespace>Production values override: deploy/helm/values-production.yaml
- Framework: React 18, TypeScript, Chakra UI v2, Tailwind CSS
- Build: Vite
- Production server: nginx (static files + reverse proxy)
- API: Proxies to apollo-server V2 compatibility API
- CI: GitHub Actions builds and pushes to
ghcr.io/rocky-linux/errata-frontend