A Helm chart for deploying Chronicle Validator on Kubernetes
| Name | Url | |
|---|---|---|
| chronicleprotocol | https://github.com/chronicleprotocol |
| Key | Type | Default | Description |
|---|---|---|---|
| extraObjects | list | [] |
Extra K8s manifests to deploy |
| ghost | object | {"argsOverride":[],"commandOverride":[],"enabled":true,"env":{"normal":{},"raw":{}},"ethConfig":{},"image":{"repository":null,"tag":null},"rpcUrl":null,"service":{"annotations":{},"externalTrafficPolicy":"","loadBalancerClass":"","ports":{"libp2p":{"port":8000,"protocol":"TCP"}},"trafficDistribution":"","type":"LoadBalancer"},"watchdogConfigReg":"0x94Fea534aef6df5cF66C2DAE5CE0A05d10C068F3"} |
Values for Ghost |
| ghost.argsOverride | list | [] |
args override for the validator |
| ghost.commandOverride | list | [] |
command override for the validator |
| ghost.enabled | bool | true |
Whether to deploy the Ghost (defi) container/deployment. Set to false to run a single-container release (e.g. VAO-only). |
| ghost.env | object | {"normal":{},"raw":{}} |
Environment variable listing |
| ghost.env.normal | object | {} |
un-encrypted env vars passed to the pod |
| ghost.ethConfig | object | {} |
Provide ETH keys from existing secrets : NB use only existing secret OR env vars, do not provide both |
| ghost.image | object | {"repository":null,"tag":null} |
Image tag for the validator (overrides global image if set) |
| ghost.service | object | {"annotations":{},"externalTrafficPolicy":"","loadBalancerClass":"","ports":{"libp2p":{"port":8000,"protocol":"TCP"}},"trafficDistribution":"","type":"LoadBalancer"} |
Service type for the validator |
| ghost.service.annotations | object | {} |
Annotations to add to the service |
| ghost.service.externalTrafficPolicy | string | "" |
Optional LoadBalancer traffic policy, for example Local. |
| ghost.service.loadBalancerClass | string | "" |
Optional LoadBalancer class, for example service.k8s.aws/nlb. |
| ghost.service.ports.libp2p | object | {"port":8000,"protocol":"TCP"} |
libp2p port for the validator service |
| ghost.service.trafficDistribution | string | "" |
Optional Kubernetes Service traffic distribution hint, for example PreferSameZone. |
| ghost.service.type | string | "LoadBalancer" |
Type of service for the validator, only LoadBalancer supported for now |
| ghost.watchdogConfigReg | string | "0x94Fea534aef6df5cF66C2DAE5CE0A05d10C068F3" |
WATCHDOG onchain config address |
| global | object | {"affinity":{},"chainId":1,"chainName":"eth","chainTxType":"eip1559","fullnameOverride":"ghost","image":{"pullPolicy":"Always","repository":"ghcr.io/chronicleprotocol/ghost","tag":"0.81.0@sha256:417b664eee72406bf1f36757b165135e0d71ce6321b9c0b463ec0d882a886de4"},"imagePullSecrets":[],"liveness":{"enabled":true,"livenessProbe":{"failureThreshold":4,"httpGet":{"path":"/healthz","port":9100},"initialDelaySeconds":60,"periodSeconds":60}},"logFormat":"text","logLevel":"info","metrics":{"enabled":true,"port":9090},"nameOverride":"","nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"readiness":{"enabled":true,"readinessProbe":{"failureThreshold":4,"httpGet":{"path":"/healthz","port":9100},"initialDelaySeconds":60,"periodSeconds":60}},"replicaCount":1,"resources":{},"securityContext":{},"serviceAccount":{"annotations":{},"create":true,"name":""},"startup":{"enabled":false,"startupProbe":{"failureThreshold":30,"httpGet":{"path":"/healthz","port":9100},"periodSeconds":10}},"tolerations":[],"topologySpreadConstraints":[]} |
Global values for the validator chart, values are used across the chart resources |
| global.affinity | object | {} |
pod Affinity spec applied validator |
| global.chainId | int | 1 |
chain id for the "target" or "main" chain we use for the validator. Can be mainnet ethereum 1 or sepolia ethereum 11155111 |
| global.chainName | string | "eth" |
chain name for the "target" or "main" chain we use for the validator |
| global.chainTxType | string | "eip1559" |
chain tx type for the "target" or "main" chain we use for the validator. Can be mainnet ethereum eip1559 or legacy |
| global.fullnameOverride | string | "ghost" |
Override the release name to so tor-proxy can work with the default config. NB only change this if you know what you are doing |
| global.image | object | {"pullPolicy":"Always","repository":"ghcr.io/chronicleprotocol/ghost","tag":"0.81.0@sha256:417b664eee72406bf1f36757b165135e0d71ce6321b9c0b463ec0d882a886de4"} |
Image for the validator |
| global.image.tag | string | "0.81.0@sha256:417b664eee72406bf1f36757b165135e0d71ce6321b9c0b463ec0d882a886de4" |
Image tag PINNED to the multi-arch index digest (RFC-044.4 WS1); bump with appVersion. |
| global.liveness | object | {"enabled":true,"livenessProbe":{"failureThreshold":4,"httpGet":{"path":"/healthz","port":9100},"initialDelaySeconds":60,"periodSeconds":60}} |
Liveness probe : restart the validator if the healthcheck endpoint is not reachable |
| global.logFormat | string | "text" |
Log format for the validator, can be one of json, text |
| global.logLevel | string | "info" |
Log level for the validator, can be one of debug, info, warning, error |
| global.metrics | object | {"enabled":true,"port":9090} |
Metrics port for the validator, used by the service and the service monitor |
| global.nodeSelector | object | {} |
Node selector for the validator |
| global.podAnnotations | object | {} |
Pod annotations for the validator |
| global.podSecurityContext | object | {} |
Pod security context for the validator |
| global.readiness | object | {"enabled":true,"readinessProbe":{"failureThreshold":4,"httpGet":{"path":"/healthz","port":9100},"initialDelaySeconds":60,"periodSeconds":60}} |
Readiness probe : stop the validator if the metrics endpoint is not reachable |
| global.resources | object | {} |
Resources constraints for the validator, CPU, Memory, etc. |
| global.securityContext | object | {} |
Security context for the validator |
| global.serviceAccount.annotations | object | {} |
Annotations to add to the service account |
| global.serviceAccount.create | bool | true |
Specifies whether a service account should be created |
| global.serviceAccount.name | string | "" |
If not set and create is true, a name is generated using the fullname template |
| global.startup | object | {"enabled":false,"startupProbe":{"failureThreshold":30,"httpGet":{"path":"/healthz","port":9100},"periodSeconds":10}} |
Startup probe : give a slow-starting validator time to serve /healthz before the liveness probe can kill it. While this probe is running the liveness and readiness probes are suspended, so startup time and steady-state failure detection are tuned independently instead of trading off against each other. Disabled by default to keep existing releases unchanged; enable it for validators whose startup can exceed the liveness initialDelaySeconds. failureThreshold x periodSeconds is the startup budget (default 30 x 10s = 5 minutes). |
| global.tolerations | list | [] |
Tolerations applied validator |
| global.topologySpreadConstraints | list | [] |
Topology spread constraints applied to both ghost and vao pods |
| serviceMonitor.annotations | object | {} |
Additional ServiceMonitor annotations |
| serviceMonitor.enabled | bool | false |
If true, a ServiceMonitor CRD is created for a prometheus operator https://github.com/coreos/prometheus-operator |
| serviceMonitor.interval | string | "60s" |
ServiceMonitor scrape interval |
| serviceMonitor.labels | object | {} |
Additional ServiceMonitor labels |
| serviceMonitor.namespace | string | nil |
Alternative namespace for ServiceMonitor |
| serviceMonitor.path | string | "/metrics" |
Path to scrape |
| serviceMonitor.port | string | "metrics" |
port to scrape |
| serviceMonitor.relabelings | list | [] |
ServiceMonitor relabelings |
| serviceMonitor.scheme | string | "http" |
ServiceMonitor scheme |
| serviceMonitor.scrapeTimeout | string | "60s" |
ServiceMonitor scrape timeout |
| serviceMonitor.tlsConfig | object | {} |
ServiceMonitor TLS configuration |
| tor-proxy | object | {"enabled":true} |
Values for Tor Proxy (subchart of ghost) |
| tor-proxy.enabled | bool | true |
values for tor-proxy, installs tor-controller and creates an onionService CRD |
| vao.affinity | object | {} |
pod Affinity spec applied to the VAO pod. Merged over global.affinity. |
| vao.argsOverride | list | [] |
args override for the validator |
| vao.commandOverride | list | [] |
command override for the validator |
| vao.enabled | bool | true |
Whether to deploy the VAO container/deployment. Set to false to run a single-container release (e.g. Ghost-only). |
| vao.env | object | {"normal":{"CFG_DEFI_ENABLE":"0","CFG_VAO_ENABLE":"1"},"raw":{}} |
Environment variable listing |
| vao.env.normal | object | {"CFG_DEFI_ENABLE":"0","CFG_VAO_ENABLE":"1"} |
un-encrypted env vars passed to the pod |
| vao.ethConfig | object | {} |
Provide ETH keys from existing secrets : NB use only existing secret OR env vars, do not provide both. Falls back to ghost.ethConfig when unset (pre-0.8.0 behavior). |
| vao.extraVolumes | list | [] |
Extra volumes to mount (typically for secrets) |
| vao.image | object | {"repository":null,"tag":null} |
Image tag for the validator (overrides global image if set) |
| vao.resources | object | {} |
Resources constraints for the validator, CPU, Memory, etc. |
| vao.rpcUrl | string | nil |
Chain RPC URL(s) for the VAO container's target chain. Falls back to ghost.rpcUrl when unset (pre-0.8.0 behavior). |
| vao.service | object | {"annotations":{},"externalTrafficPolicy":"","loadBalancerClass":"","ports":{"libp2p":{"port":8001,"protocol":"TCP"}},"trafficDistribution":"","type":"LoadBalancer"} |
Service type for the validator |
| vao.service.annotations | object | {} |
Annotations to add to the service |
| vao.service.externalTrafficPolicy | string | "" |
Optional LoadBalancer traffic policy, for example Local. |
| vao.service.loadBalancerClass | string | "" |
Optional LoadBalancer class, for example service.k8s.aws/nlb. |
| vao.service.ports.libp2p | object | {"port":8001,"protocol":"TCP"} |
libp2p port for the validator service |
| vao.service.trafficDistribution | string | "" |
Optional Kubernetes Service traffic distribution hint, for example PreferSameZone. |
| vao.service.type | string | "LoadBalancer" |
Type of service for the validator, only LoadBalancer supported for now |
| vao.watchdogConfigReg | string | "0x064358f9b6428C51F80511D73AFEb3A9e5Cf0213" |
WATCHDOG onchain config address |
Autogenerated from chart metadata using helm-docs v1.14.2