pcapillaryTry the prerelease
Server on Kubernetes

Kubernetes server common tasks

Configure browser access, inspect and tune the deployment, or uninstall the server.

Access models

Choose one supported browser route

  • Host-based HTTP: dedicated DNS hostname, UI at /, and API at /api.
  • Host-based HTTPS: the same paths with a supplied TLS Secret and mandatory HTTP-to-HTTPS redirect.
  • Prefix-based HTTP: hostless routing at a chosen prefix such as /pcapillary, with the API at /pcapillary/api.
Host HTTP

Use a dedicated hostname over HTTP

pcapillary-values.yaml
http:
  ingress:
    controller: generic
    className: nginx
    accessMode: host
    hostname: pcapillary.example.com
    tls:
      enabled: false
      existingSecret: ""

Point pcapillary.example.com at the Ingress controller. Open http://pcapillary.example.com; browser API calls use http://pcapillary.example.com/api.

For Traefik, set controller: traefik and className: traefik. The chart binds the standard Ingress to the web entrypoint by default.

Host HTTPS

Supply a certificate and enable automatic redirect

Create the TLS Secret in the Pcapillary namespace. Certificate data is not embedded in Helm values.

Shell
kubectl -n pcapillary create secret tls pcapillary-tls \
  --cert=tls.crt \
  --key=tls.key
pcapillary-values.yaml
http:
  ingress:
    controller: generic
    className: nginx
    accessMode: host
    hostname: pcapillary.example.com
    tls:
      enabled: true
      existingSecret: pcapillary-tls
Shell
helm upgrade pcapillary ./pcapillary-<VERSION>.tgz \
  --namespace pcapillary \
  --values pcapillary-values.yaml

HTTPS enables secure session cookies. Requests explicitly forwarded as HTTP receive a 308 Permanent Redirect to the configured HTTPS hostname with the complete path and query string preserved.

For Traefik, use controller: traefik and className: traefik. The chart creates separate standard Ingress resources for web and websecure, sets router.tls: "true" on the secure route, and attaches the supplied Secret. Override http.ingress.traefik.httpEntryPoint or http.ingress.traefik.httpsEntryPoint only when your installation uses different names.

Prefix HTTP

Use a shared controller address without dedicated DNS

pcapillary-values.yaml
http:
  ingress:
    controller: generic
    className: nginx
    accessMode: path
    hostname: ""
    pathPrefix: /pcapillary
    tls:
      enabled: false
      existingSecret: ""

Open http://INGRESS_ADDRESS/pcapillary. The UI and browser navigation stay below that prefix, and API requests use http://INGRESS_ADDRESS/pcapillary/api. For Traefik, change the controller and class values to traefik.

Operations

Inspect logs and resources

Shell
kubectl -n pcapillary get pods,services,ingress
kubectl -n pcapillary logs deployment/pcapillary-backend --tail=200
kubectl -n pcapillary logs deployment/pcapillary-frontend --tail=200
helm get values pcapillary -n pcapillary

Set CPU and memory requests or limits under backend.resources, decoder.resources, and frontend.resources.

Uninstallation

Remove the Kubernetes server

Back up both PostgreSQL databases before removing a production installation, then uninstall the server release.

Shell
helm uninstall pcapillary --namespace pcapillary
kubectl -n pcapillary get deployments,services,ingress

This removes resources managed by the server chart. It does not remove externally managed PostgreSQL databases, the database Secret created during installation, or an independently installed collector chart.