diff --git a/deploy/helm/pulse/README.md b/deploy/helm/pulse/README.md index a3cf08f18..3db700482 100644 --- a/deploy/helm/pulse/README.md +++ b/deploy/helm/pulse/README.md @@ -1,41 +1,133 @@ -# Pulse Helm Chart +# pulse -This chart deploys the Pulse hub (web UI + API) and, optionally, the Docker monitoring agent. +![Version: 4.28.0](https://img.shields.io/badge/Version-4.28.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.28.0](https://img.shields.io/badge/AppVersion-4.28.0-informational?style=flat-square) -## Installing from GHCR +Helm chart for deploying the Pulse hub and optional Docker monitoring agent. -```bash -helm registry login ghcr.io -helm install pulse oci://ghcr.io/rcourtman/pulse-chart \ - --version $(curl -fsSL https://raw.githubusercontent.com/rcourtman/Pulse/main/VERSION) \ - --namespace pulse \ - --create-namespace -``` +**Homepage:** -Replace the inline `curl` command if you need to pin to a specific release. The chart version tracks the Pulse release version (e.g., Pulse `v4.24.0` → chart `4.24.0`). +## Maintainers -## Common Values +| Name | Email | Url | +| ---- | ------ | --- | +| Pulse Maintainers | | | -| Key | Description | Default | -| --- | --- | --- | -| `persistence.enabled` | Persist /data using a PVC. Disable for ephemeral testing. | `true` | -| `ingress.enabled` | Create an Ingress resource. Configure hosts/TLS via `ingress.hosts` and `ingress.tls`. | `false` | -| `server.secretEnv` | Manage sensitive env vars (API tokens, auth secrets). Enable `create` or point at an existing secret. | `{}` | -| `agent.enabled` | Deploy the Docker agent as a DaemonSet or Deployment. Requires access to the Docker socket by default. | `false` | +## Source Code -See `values.yaml` for the full list of overridable settings. +* -## Local Development +## Values -Install from the working copy when testing chart changes: +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| agent.affinity | object | `{}` | | +| agent.args | list | `[]` | | +| agent.dockerSocket.enabled | bool | `true` | | +| agent.dockerSocket.hostPathType | string | `"Socket"` | | +| agent.dockerSocket.path | string | `"/var/run/docker.sock"` | | +| agent.enabled | bool | `false` | | +| agent.envFrom | list | `[]` | | +| agent.env[0].name | string | `"PULSE_URL"` | | +| agent.env[0].value | string | `"http://pulse:7655"` | | +| agent.extraEnv | list | `[]` | | +| agent.extraEnvFrom | list | `[]` | | +| agent.extraVolumeMounts | list | `[]` | | +| agent.extraVolumes | list | `[]` | | +| agent.image.pullPolicy | string | `"IfNotPresent"` | | +| agent.image.repository | string | `"ghcr.io/rcourtman/pulse-docker-agent"` | | +| agent.image.tag | string | `""` | | +| agent.kind | string | `"DaemonSet"` | | +| agent.nodeSelector | object | `{}` | | +| agent.podAnnotations | object | `{}` | | +| agent.podLabels | object | `{}` | | +| agent.podSecurityContext | object | `{}` | | +| agent.replicaCount | int | `1` | | +| agent.resources | object | `{}` | | +| agent.secretEnv.create | bool | `false` | | +| agent.secretEnv.data | object | `{}` | | +| agent.secretEnv.keys | list | `[]` | | +| agent.secretEnv.name | string | `""` | | +| agent.securityContext.privileged | bool | `false` | | +| agent.securityContext.runAsGroup | int | `0` | | +| agent.securityContext.runAsUser | int | `0` | | +| agent.serviceAccount.annotations | object | `{}` | | +| agent.serviceAccount.create | bool | `false` | | +| agent.serviceAccount.name | string | `""` | | +| agent.tolerations | list | `[]` | | +| containerSecurityContext.enabled | bool | `true` | | +| containerSecurityContext.runAsGroup | int | `1000` | | +| containerSecurityContext.runAsNonRoot | bool | `true` | | +| containerSecurityContext.runAsUser | int | `1000` | | +| fullnameOverride | string | `""` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"rcourtman/pulse"` | | +| image.tag | string | `""` | | +| imagePullSecrets | list | `[]` | | +| ingress.annotations | object | `{}` | | +| ingress.className | string | `""` | | +| ingress.enabled | bool | `false` | | +| ingress.hosts[0].host | string | `"pulse.local"` | | +| ingress.hosts[0].paths[0].path | string | `"/"` | | +| ingress.hosts[0].paths[0].pathType | string | `"Prefix"` | | +| ingress.tls | list | `[]` | | +| monitoring.serviceMonitor.enabled | bool | `false` | | +| monitoring.serviceMonitor.interval | string | `"30s"` | | +| monitoring.serviceMonitor.labels | object | `{}` | | +| monitoring.serviceMonitor.metricRelabelings | list | `[]` | | +| monitoring.serviceMonitor.path | string | `"/metrics"` | | +| monitoring.serviceMonitor.relabelings | list | `[]` | | +| monitoring.serviceMonitor.scrapeTimeout | string | `"10s"` | | +| nameOverride | string | `""` | | +| persistence.accessModes[0] | string | `"ReadWriteOnce"` | | +| persistence.annotations | object | `{}` | | +| persistence.enabled | bool | `true` | | +| persistence.existingClaim | string | `""` | | +| persistence.size | string | `"8Gi"` | | +| persistence.storageClass | string | `""` | | +| podAnnotations | object | `{}` | | +| podLabels | object | `{}` | | +| podSecurityContext.enabled | bool | `true` | | +| podSecurityContext.fsGroup | int | `1000` | | +| replicaCount | int | `1` | | +| server.affinity | object | `{}` | | +| server.envFrom | list | `[]` | | +| server.env[0].name | string | `"TZ"` | | +| server.env[0].value | string | `"UTC"` | | +| server.extraEnv | list | `[]` | | +| server.extraEnvFrom | list | `[]` | | +| server.extraVolumeMounts | list | `[]` | | +| server.extraVolumes | list | `[]` | | +| server.livenessProbe.enabled | bool | `true` | | +| server.livenessProbe.failureThreshold | int | `3` | | +| server.livenessProbe.initialDelaySeconds | int | `20` | | +| server.livenessProbe.path | string | `"/"` | | +| server.livenessProbe.periodSeconds | int | `30` | | +| server.livenessProbe.timeoutSeconds | int | `5` | | +| server.nodeSelector | object | `{}` | | +| server.podAnnotations | object | `{}` | | +| server.podLabels | object | `{}` | | +| server.podSecurityContext | object | `{}` | | +| server.readinessProbe.enabled | bool | `true` | | +| server.readinessProbe.failureThreshold | int | `3` | | +| server.readinessProbe.initialDelaySeconds | int | `10` | | +| server.readinessProbe.path | string | `"/"` | | +| server.readinessProbe.periodSeconds | int | `10` | | +| server.readinessProbe.timeoutSeconds | int | `5` | | +| server.resources | object | `{}` | | +| server.secretEnv.create | bool | `false` | | +| server.secretEnv.data | object | `{}` | | +| server.secretEnv.keys | list | `[]` | | +| server.secretEnv.name | string | `""` | | +| server.securityContext | object | `{}` | | +| server.tolerations | list | `[]` | | +| service.annotations | object | `{}` | | +| service.externalTrafficPolicy | string | `"Cluster"` | | +| service.loadBalancerIP | string | `""` | | +| service.port | int | `7655` | | +| service.type | string | `"ClusterIP"` | | +| serviceAccount.annotations | object | `{}` | | +| serviceAccount.create | bool | `true` | | +| serviceAccount.name | string | `""` | | -```bash -helm upgrade --install pulse ./deploy/helm/pulse \ - --namespace pulse \ - --create-namespace \ - --set persistence.enabled=false \ - --set server.secretEnv.create=true \ - --set server.secretEnv.data.API_TOKENS=dummy-token -``` - -For more deployment details (ingress, agent, persistence options), refer to `docs/KUBERNETES.md`. +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)