Files
Pulse/docs/KUBERNETES.md
rcourtman 2b48b0a459 feat: add --kube-include-all-deployments flag for Kubernetes agent
Adds IncludeAllDeployments option to show all deployments, not just
problem ones (where replicas don't match desired). This provides parity
with the existing --kube-include-all-pods flag.

- Add IncludeAllDeployments to kubernetesagent.Config
- Add --kube-include-all-deployments flag and PULSE_KUBE_INCLUDE_ALL_DEPLOYMENTS env var
- Update collectDeployments to respect the new flag
- Add test for IncludeAllDeployments functionality
- Update UNIFIED_AGENT.md documentation

Addresses feedback from PR #855
2025-12-18 20:58:30 +00:00

2.0 KiB

☸️ Kubernetes (Helm)

Deploy Pulse to Kubernetes using the official Helm chart.

🚀 Installation

  1. Install (OCI chart, recommended)

    helm upgrade --install pulse oci://ghcr.io/rcourtman/pulse-chart \
      --namespace pulse \
      --create-namespace
    
  2. Access

    kubectl -n pulse port-forward svc/pulse 7655:7655
    

    Open http://localhost:7655 to complete setup.

If you installed using a Helm repository URL previously, you can keep using it. OCI is the preferred distribution format going forward.


⚙️ Configuration

Configure via values.yaml or --set flags.

Parameter Description Default
service.type Service type (ClusterIP/LoadBalancer) ClusterIP
ingress.enabled Enable Ingress false
persistence.enabled Enable PVC for /data true
persistence.size PVC Size 8Gi
agent.enabled Enable legacy docker agent workload false

Note: the agent.* block is legacy and currently references pulse-docker-agent. For new deployments, prefer the unified agent (pulse-agent) where possible.

Example values.yaml

ingress:
  enabled: true
  className: nginx
  hosts:
    - host: pulse.example.com
      paths:
        - path: /
          pathType: Prefix

server:
  env:
    - name: TZ
      value: Europe/London
  secretEnv:
    create: true
    data:
      API_TOKENS: "my-token"

agent:
  enabled: false
  secretEnv:
    create: true
    data:
      PULSE_TOKEN: "my-token"

Apply with:

helm upgrade --install pulse pulse/pulse -n pulse -f values.yaml

🔄 Upgrades

helm upgrade pulse oci://ghcr.io/rcourtman/pulse-chart -n pulse

Rollback:

helm rollback pulse -n pulse

⚠️ Troubleshooting

  • Check Pods: kubectl -n pulse get pods
  • Check Logs: kubectl -n pulse logs deploy/pulse
  • Scheduler Health:
    kubectl -n pulse exec deploy/pulse -- curl -s http://localhost:7655/api/monitoring/scheduler/health