Files
anoracleofra-code d419ee63e1 chore: revert docker-compose to GHCR registry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 09:11:53 -06:00
..

ShadowBroker Helm Chart

A Helm chart for deploying ShadowBroker services (backend and frontend).

Prerequisites

  • Helm >= 3.0
  • Kubernetes cluster with access to the bjw-s-labs Helm repository
  • Your OWN ingress controller, Gateway API, etc

ingress-nginx has been deprecated and as of writing this we do not feel comfortable hard-coding in an ingress implementation!

Consider using ingress controllers like Traefik and Cert-Manager for automatic SSL/TLS termination and dynamic route management.

Installation

Add the Helm repository

helm repo add bjw-s-labs https://bjw-s-labs.github.io/helm-charts/
helm repo update

Install the chart

helm install shadowbroker ./chart --create-namespace

Or use the repository:

helm install shadowbroker bjw-s-labs/app-template \
  --namespace shadowbroker \
  -f values.yaml

Configuration

Backend Service

The backend deployment runs with the following settings by default:

Parameter Description Default
controllers.backend.type Controller type deployment
controllers.backend.strategy Update strategy RollingUpdate
controllers.backend.rollingUpdate.unavailable Max unavailable during update 1
controllers.backend.containers.main.runAsUser Security context user 1001
controllers.backend.containers.main.runAsGroup Security context group 1001
controllers.backend.containers.main.image.repository Container image ghcr.io/bigbodycobain/shadowbroker-backend
controllers.backend.containers.main.image.tag Container tag latest
controllers.backend.service.type Service type ClusterIP
controllers.backend.service.ports.http.port HTTP port 8000

Backend Environment Variables

The following environment variables are configured via secrets:

  • AIS_API_KEY - API key for AIS service
  • OPENSKY_CLIENT_ID - OpenSky client ID
  • OPENSKY_CLIENT_SECRET - OpenSky client secret

These can be injected using a Secret resource or Kubernetes ConfigMap.

Frontend Service

The frontend deployment configuration:

Parameter Description Default
controllers.frontend.type Controller type deployment
controllers.frontend.strategy Update strategy RollingUpdate
controllers.frontend.rollingUpdate.unavailable Max unavailable during update 1
controllers.frontend.containers.main.runAsUser Security context user 1001
controllers.frontend.containers.main.runAsGroup Security context group 1001
controllers.frontend.containers.main.image.repository Container image ghcr.io/bigbodycobain/shadowbroker-frontend
controllers.frontend.containers.main.image.tag Container tag latest

Frontend Environment Variables

  • BACKEND_URL - Backend API URL (defaults to Kubernetes service discovery)

Service Configuration

Parameter Description Default
service.backend.type Service type ClusterIP
service.backend.ports.http.port Backend HTTP port 8000
service.frontend.type Service type ClusterIP
service.frontend.ports.http.port Frontend HTTP port 3000

Uninstall

helm uninstall shadowbroker -n shadowbroker

Development

For development with local images, modify the image paths and tags:

controllers:
  backend:
    containers:
      main:
        image:
          repository: localhost/my-backend-image
          tag: dev-latest
  frontend:
    containers:
      main:
        image:
          repository: localhost/my-frontend-image
          tag: dev-latest

Values Schema

This chart uses the app-template Helm chart as a base. Refer to the app-template documentation for additional customization options.