Files
Pulse/deploy/helm/pulse/values.schema.json
rcourtman 3f0808e9f9 docs: comprehensive core and Pro documentation overhaul
- Major updates to README.md and docs/README.md for Pulse v5
- Added technical deep-dives for Pulse Pro (docs/PULSE_PRO.md) and AI Patrol (docs/AI.md)
- Updated Prometheus metrics documentation and Helm schema for metrics separation
- Refreshed security, installation, and deployment documentation for unified agent models
- Cleaned up legacy summary files
2026-01-07 17:38:27 +00:00

246 lines
6.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "object",
"required": ["server"],
"properties": {
"replicaCount": {
"type": "integer",
"minimum": 1,
"description": "Number of Pulse server replicas"
},
"image": {
"type": "object",
"properties": {
"repository": {
"type": "string",
"description": "Container image repository"
},
"pullPolicy": {
"type": "string",
"enum": ["Always", "IfNotPresent", "Never"],
"description": "Image pull policy"
},
"tag": {
"type": "string",
"description": "Container image tag (overrides chart appVersion)"
}
}
},
"imagePullSecrets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
},
"description": "Image pull secrets for private registries"
},
"service": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["ClusterIP", "NodePort", "LoadBalancer"],
"description": "Kubernetes service type"
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"description": "Service port"
}
}
},
"ingress": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable ingress resource"
},
"className": {
"type": "string",
"description": "Ingress class name"
},
"hosts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"host": {
"type": "string",
"format": "hostname"
},
"paths": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"pathType": {
"type": "string",
"enum": ["Prefix", "Exact", "ImplementationSpecific"]
}
}
}
}
}
}
}
}
},
"persistence": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable persistent storage"
},
"existingClaim": {
"type": "string",
"description": "Use existing PVC"
},
"storageClass": {
"type": "string",
"description": "Storage class name"
},
"accessMode": {
"type": "string",
"enum": ["ReadWriteOnce", "ReadOnlyMany", "ReadWriteMany", "ReadWriteOncePod"],
"description": "PVC access mode"
},
"size": {
"type": "string",
"pattern": "^[0-9]+[EPTGMK]i?$",
"description": "Storage size (e.g., 8Gi)"
}
}
},
"server": {
"type": "object",
"properties": {
"resources": {
"type": "object",
"description": "Resource requests and limits"
},
"env": {
"type": "array",
"description": "Environment variables"
},
"secretEnv": {
"type": "object",
"properties": {
"create": {
"type": "boolean"
},
"name": {
"type": "string"
},
"data": {
"type": "object"
}
}
}
}
},
"agent": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable legacy pulse-docker-agent workload (deprecated)"
},
"kind": {
"type": "string",
"enum": ["DaemonSet", "Deployment"],
"description": "Agent deployment type"
},
"healthPort": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"description": "Health/metrics server port"
},
"livenessProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable liveness probe"
},
"path": {
"type": "string",
"description": "Liveness probe path"
},
"initialDelaySeconds": {
"type": "integer"
},
"periodSeconds": {
"type": "integer"
},
"timeoutSeconds": {
"type": "integer"
},
"failureThreshold": {
"type": "integer"
}
}
},
"readinessProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable readiness probe"
},
"path": {
"type": "string",
"description": "Readiness probe path"
},
"initialDelaySeconds": {
"type": "integer"
},
"periodSeconds": {
"type": "integer"
},
"timeoutSeconds": {
"type": "integer"
},
"failureThreshold": {
"type": "integer"
}
}
}
}
},
"monitoring": {
"type": "object",
"properties": {
"serviceMonitor": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Create ServiceMonitor for Prometheus"
},
"interval": {
"type": "string",
"pattern": "^[0-9]+[smh]$",
"description": "Scrape interval (e.g., 30s)"
},
"path": {
"type": "string",
"description": "Metrics endpoint path on the main HTTP service (metrics listener is separate)"
}
}
}
}
}
}
}