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.
Use a dedicated hostname over HTTP
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.
Supply a certificate and enable automatic redirect
Create the TLS Secret in the Pcapillary namespace. Certificate data is not embedded in Helm values.
kubectl -n pcapillary create secret tls pcapillary-tls \
--cert=tls.crt \
--key=tls.keyhttp:
ingress:
controller: generic
className: nginx
accessMode: host
hostname: pcapillary.example.com
tls:
enabled: true
existingSecret: pcapillary-tlshelm upgrade pcapillary ./pcapillary-<VERSION>.tgz \
--namespace pcapillary \
--values pcapillary-values.yamlHTTPS 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.
Use a shared controller address without dedicated DNS
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.
Inspect logs and resources
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 pcapillarySet CPU and memory requests or limits under backend.resources, decoder.resources, and frontend.resources.
Remove the Kubernetes server
Back up both PostgreSQL databases before removing a production installation, then uninstall the server release.
helm uninstall pcapillary --namespace pcapillary
kubectl -n pcapillary get deployments,services,ingressThis 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.