Tutorial

Kubernetes with Helm

Packaging is the xorappsec-deploy repo. The image is built from xorappsec.

  1. Build and load the image into the cluster (kind / minikube / your registry):
    cd xorappsec
    docker build -t xorappsec:1.0.0 .
    # kind load docker-image xorappsec:1.0.0
  2. export XORAPPSEC_MGMT_TOKEN="$(openssl rand -hex 32)"
    cd ../xorappsec-deploy
    helm install xorappsec ./helm/xorappsec \
      --set image.tag=1.0.0 \
      --set upstream=http://my-app:80 \
      --set mgmtToken="$XORAPPSEC_MGMT_TOKEN" \
      --set failOpen=false \
      --set persistence.enabled=true
  3. Expose the data Service (port 80 → 8080) via your Ingress or Gateway. Do not Ingress :9090.
  4. Port-forward management to tune: kubectl port-forward svc/xorappsec 9090:9090 then open with the Bearer token.
  5. Confirm /ready on the data port and scrape /metrics from the management port on the cluster network.

Raw YAML instead of Helm: k8s/deployment.yaml. Change the Secret before going live.