Skip to content

rocky-linux/errata-frontend

Repository files navigation

Rocky Linux Errata Frontend

Web frontend for errata.build.resf.org, displaying security advisories, bug fixes, and enhancements for Rocky Linux.

Development

Prerequisites: Node.js 20+, Yarn

yarn install
yarn dev

The 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,
  },
},

Build

yarn build       # Type-check + Vite production build
yarn typecheck   # Type-check only

Output goes to dist/.

Container

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-frontend

The nginx config (nginx/default.conf) proxies /api to apollo-server.apollo2production.svc.cluster.local:8000 by default, which works inside the Kubernetes cluster.

Deployment

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

Architecture

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages