Syntax | Type | Description | Default |
---|---|---|---|
image | string | Polkadot node client image | last stable and tested client |
extraArgs | array | Extra arguments to pass down to the node client | |
replicas | number | number of replicas | 1 |
network required | string | polkadot network/chain to join and sync | |
p2pPort | string | p2p protocol tcp port | 30333 |
nodePrivateKeySecretName | string | Kubernetes secret name holding node Ed25519 private key | |
validator | boolean | enables validator | false |
syncMode | string | blockchain synchronization mode | full |
pruning | boolean | whether to keep only recent or all blocks | false |
retainedBlocks | number | number of blocks to keep state for | 256 |
database | string | database backend | auto |
logging | string | logging verboisty level | info |
telemetry | boolean | enables connecting to telemetry server | false |
telemetryURL | string | telemetry service URL | wss://telemetry.polkadot.io/submit/ 0 |
prometheus | string | exposes prometheus exporter endpoint | false |
prometheusPort | number | prometheus exporter port | 9615 |
rpc | boolean | enables JSON-RPC server | false |
rpcPort | number | JSON-RPC server port | 9933 |
ws | boolean | enables Websocket server | false |
wsPort | number | Websocket server port | 9944 |
corsDomains | array | browser origins allowed to access the JSON-RPC HTTP and WS servers | all |
resources | object | node compute and storage resources to alloacte |
image
is polkadot node client image. Kotal dashboard uses image information published here.
extraArgs
are extra arguments to pass down to the node client. This can be useful if kotal doesn't support something you're inttersted in.
# these extra arguments will be passed as follow to the client
# --arg1 val1 --toggle --arg2 val2
extraArgs:
"--arg1": val1
"--toggle": ""
"--arg2": val2
{% hint style="info" %}
Note that extraArgs
adds arguments only, and doesn't remove arguments. Future release will support removing arguments. Use this feature with care.
{% endhint %}
replicas
is number of replicas. Accepted values are 0 and 1 only.
{% hint style="info" %}
replicas
is used to start and shutdown node gracefully.
{% endhint %}
network
is the polkadot network/chain to join and sync. Possible values are polkadot
, kusama
, rococo
, westend
and other chains supported by Parity Polkadot client.
p2pPort
is p2p protocol tcp port.
nodePrivateKeySecretName
is Kubernetes secret name holding node Ed25519 private key in data field called key
.
Node private can be generated using subkey tool from Parity Substrate.
# generate binary node key and save it in node.key file
subkey generate-node-key node.key
# convert node.key binary file into hexadecimal node.key.hex file
xxd -p -c 32 node.key > node.key.hex
Create node private key secret:
kubectl create secret generic polkadot-node-key --from-file=key=node.key.hex
polkadot-node-key
secret can be used in your polkadot Node
by updating .spec
with nodePrivateKeySecretName: polkadot-node-key
.
validator
enables validator.
{% hint style="danger" %}
Node must sync blocks in archive mode pruning: false
if validator is enabled.
{% endhint %}
syncMode
is blockchain synchronization mode. Available values are fast
and full
.
pruning
controls whether to keep only recent or all blocks. Setting pruning
to false
runs the node in archive mode.
retainedBlocks
is the number of blocks to keep state for. It's only considered if .spec.pruning
is set to true
.
database
is database backend. Possible values are auto
, paritydb
or rocksdb
.
logging
is logging verboisty level. Available logging levels are error
, warn
, info
, debug
, and trace
.
telemetry
enables connecting to telemetry server.
telemetryURL
is telemetry service URL. It's only considered if .spec.telemetry
is set to true
.
prometheus
exposes prometheus exporter endpoint.
prometheusPort
is prometheus exporter port
rpc
enables JSON-RPC server.
rpcPort
is JSON-RPC server port.
ws
enables Websocket server.
wsPort
is Websocket server port.
corsDomains
is browser origins allowed to access the JSON-RPC HTTP and WS servers.
resources
allocates compute and storage resources to the node.
Syntax | Type | Description | Default |
---|---|---|---|
cpu | string | number of cpu cores this node requires | 4 |
cpuLimit | string | number of cpu cores this node is limited to | 8 |
memory | string | memory this node requires | 4Gi |
memoryLimit | string | memory this node is limited to | 8Gi |
storage | string | disk space this node requires | 80Gi |
storageClass | string | Node volume storage class | Cluster's default storage class will be used as defined by cluster admin or cloud provider |
memory and storage requests and limits must use the pattern ^[1-9][0-9]*[KMGTPE]i$
for example 1500Mi
, 30Gi
, and 1Ti
.
cpu requests and limits must use the pattern ^[1-9][0-9]*m?$
for example 1000m
(which is equal to 1
), 1500m
, 2
, and 4.
cpuLimit
can't be less than cpu
.
memoryLimit
can't be less than or equal to memory
.
storageClass
field is immutable, it cannot be changed after creation.