Pocket Network is permissionless decentralized physical infrastructure (DePin) protocol that incentivizes and coordinates a network of node operators to provide open data access to anyone. This repository bootstraps a Pocket Network deployment on a Kubernetes cluster using the Helm package manager.
?> git clone [email protected]:eddyzags/pocket-network-helm-chart.git && cd pocket-network-helm-chart
?> helm install release-1 . -f values.yaml
- Kubernetes 1.23+
- Helm 3.9.0+
- Provisionning keys for Pocket Network Kubernetes Pods (e.g fullnode and relayminer)
To install the chart with name my-release
?> git clone [email protected]:eddyzags/pocket-network-helm-chart.git && cd pocket-network-helm-chart
?> helm install fullnode . -f values.yaml
Note: This command launches a fullnode configured to use the local file system for persistent storage and initiates synchronization from the genesis block.
A fullnode requires a more in-depth setup to configure CometBFT (consensus engine), the P2P network, the RPC servers, and the consensus parameters. Additionally, it requires the application-specific settings related to staking, gas, API, block prunning. This chart provides multiple solutions to provision these configuration files.
- Option A) Define the configuration file as input values while installing the chart. This can be useful if you already have these configuration files in your local machine.
?> helm install release-1 . -f values.yaml --set-file 'shannon.fullnode.cosmossdk.config=config.toml' --set-file 'shannon.fullnode.cosmossdk.app=app.toml' --set-file 'shannon.fullnode.cosmossdk.client=client.toml'
Note: This command creates a single Kubernetes ConfigMap resource for you with all the specified configuration files.
- Option B) Use Kubernetes
ConfigMap
to mount configuration files. This can be useful if you want to use a single configuration for all your fullnode for example.
# values.yaml
shannon:
fullnode:
enabled: true
cosmossdk:
volumes:
enabled: true
type: ConfigMap
config:
key:
name: pocket-network-release-1-shannon
configKeyName: config.toml
clientKeyName: client.toml
appKeyName: app.toml
Note: This
values.yaml
file assign an existing Kubernetes ConfigMap to be referenced in the fullnode Kubernetes Pod configuration.
- Option C) Use default value define in the
values.yaml
. It can be useful for testing purposes.
?> helm install my-release . --f values.yaml
Note: This command creates a Kubernetes ConfigMap with default values (see default values) to be referenced in the fullnode Kubernetes Pod configuration.
A relayminer configuration typically involves service endpoint you want to send relays to, a pocket rpc node (you can use the fullnode you deployed with this chart for example) to sign each processed relays. This configuration can be tailored to your need by providing a shannon.relayminer.config
in the Helm values. This a personalized configuration for the relayminer:
# values.yaml
shannon:
relayminer:
enabled: true
config:
default_signing_key_names: [supplier1]
smt_store_path: /home/pocket/.pocket/smt
pocket_node:
query_node_rpc_url: tcp://node:26657
query_node_grpc_url: tcp://node:9090
tx_node_rpc_url: tcp://node:26657
suppliers:
- service_id: anvil
service_config:
backend_url: http://anvil:8547/
listen_url: http://0.0.0.0:8545
metrics:
enabled: true
addr: :9090
pprof:
enabled: true
addr: localhost:6060
ping:
enabled: true
addr: localhost:8081
This section refers to the key management capabilities this chart offers to configure each instance of the Pocket Network which are essential for signing transactions and managing accounts on a Cosmos-based blockchain.
In Pocket Network, a Relayminer needs one or multiple signing key to sign each relays he serves with a private key. Therefore, each key name listed in shannon.relayminer.config.default_signing_key_names
must be present in the keyring backend used to start the Relayminer instance.
This example demonstrates how to provision a key through Kubernetes Secret while using a keyring-backend=test
:
# values.yaml
shannon:
relayminer:
enabled: true
keyring:
backend: test
secrets:
- name: pocket-network-shannon-relayminer-vault-1
keyNames:
- supplier1.info
- supplier2.info
- name: pocket-network-shannon-relayminer-vault-2
keyNames:
- supplier3.info
- supplier4.info
Note: Every signing key names (
shannon.relayminer.config.default_signing_key_names
) must have a corresponding secret key name. Therefore, if I haveshannon.relayminer.config.default_signing_key_names=["relayminer"]
, we must provide a secret withshannon.relayminer.keyring.secrets[0].keyName="relayminer.info"
(name must be the same without file extension .info)
Note: Be careful, the
keyNames
string values must be unique across every Kubernetes Secret resource.
A Shannon Fullnode requires two important key files for authentication at the consensus layer. The node key as a unique identifier for your node on the P2P network used solely for identifying and authenticating with others, and the validator private key used for signing consensus messages (e.g. block proposals, votes). This example demonstrates how to provision a node and validator private key for a fullnode:
# values.yaml
shannon:
fullnode:
enabled: true
cosmossdk:
secret:
type: Secret
key:
name: pocket-network-release-1-shannon
nodeKeyName: node_key.json
privValidatorKeyName: priv_validator_key.json
In Pocket Network, a node acts not just as a Tendermint validator (consensus-layer), but also as a validator in the (pocket-network layer). The Pocket Network validator key is used for signing relays, responsding to challenges, staking and participating in the protocol. In that setup, this chart allows you to provide one or multiple keys into the fullnode keyring backend. This example demonstrates how to provision one or multiple keys through Kubernetes Secret while using keyring-backend=test
.
# values.yaml
shannon:
fullnode:
keyring:
secrets:
- name: pocket-network-shannon-validator-vault-1
keyNames:
- 228ecde4be50.info
- c20ad557b72e.info
- name: pocket-network-shannon-validator-vault-2
keyNames:
- ae5c3e0c36be.info
Note: Be careful, the
keyNames
string values must be unique across every Kubernetes Secret resource.
Pocket Network charts allow setting resource requests and limits for every containers inside the chart deployment. There are inside the resources
values.
To make this resource and limit definition easier to define, this chart contains a resources.preset
attribute that sets the resources.limits
and resources.requests
. These presets are recommended by the community, but you can define your own.
# values.yaml
shannon:
fullnode:
enabled: true
resources:
preset:
enabled: false
name: medium
requests:
cpu: 2000m
memory: 2Gi
limits:
cpu: 3000m
memory: 3Gi
Note: If the preset is enabled, the templating engine will ignore the
shannon.fullnode.resources.requests
andshannon.fullnode.resources.limits
fields.
The fullnode application stores the various runtime data such as state information, configuration files, and other crucial data required for the operation of a node inside the volume mount of the container. This chart provides multiple options to manage this volume for the fullnode
- Option A) Use an empty data directory to start the fullnode on a clean slate. This can be useful for test purposes.
# values.yaml
shannon:
fullnode:
enabled: true
storage:
data:
enabled: false
Note: This options doesn't persistent the data across deployments. In other words, if you redeploy the Kubernetes Pod, you will loose all your data.
- Option B) Use a Persistent Volume (PV) and a Persistent Volume Claim (PVC) to start the fullnode on a clean slate, or an existing slate. PVs and PVCs are used to keep data across deployments. This integration is known to work in Google Cloud Platform (GCP), Amazon Web services (AWS), on-premise, and minikube.
# values.yaml
shannon:
fullnode:
enabled: true
storage:
data:
enabled: true
volumeClaimTemplate:
annotations: {}
accessModes: ["ReadWriteOnce"]
storageClassName: ""
selector:
matchLabels:
app.pocket.network: pocket-network-pv-shannon
volumeMode: Filesystem
resources:
requests:
storage: 1000Gi
limits:
storage: 1500Gi
As the image run as non-root by default, it is necessary to adjust the ownership of the persistent volume so that the container process can write data into it. Follow this link to know which UID and GID is configured by default for ghcr.io/pokt-network/pocketd
The applications can be integrated with Prometheus by defining a custom resource to automatically scrapped the metrics.
Note: A functional installation of Prometheus Operator with the necessary permissions to access required resources in the target namespace is essential for this integration to work.
For the relayminer, setting shannon.relayminer.config.metrics.enabled
and shannon.relayminer.prometheus.serviceMonitor.enabled
to true
will send the application metrics to Prometheus. shannon.relayminer.config.metrics.enabled
exposes a Prometheus endpoint to consume applications metrics. And shannon.relayminer.prometheus.serviceMonitor.enabled
creates a ServiceMonitor
custom resource that points to the shannon.relayminer.config.metrics.addr
.
# values.yaml
shannon:
relayminer:
enabled: true
config:
metrics:
enabled: true
addr: :9090
prometheus:
serviceMonitor:
enabled: true
For the fullnode, the CosmosSDK shannon.fullnode.cosmossdk.config
configuration file gives us the ability to activate a prometheus collector connections at a specific endpoint. Every metrics in this CosmosBFT - Metrics documentation will be available to you.
When the shannon.fullnode.cosmossdk.config.instrumentation.prometheus
option is enabled in config.toml
and an address and port are specified using prometheus_listen_addr
, this chart automatically adds the port to a Kubernetes Service and creates a corresponding ServiceMonitor
pointing to it.
An example is available in the default values - see here
This section outlines how to configure external access, allowing users to interact with your service through the Pocket Network's decentralized infrastructure.
The Relayminer application exposes servers, each hosting one or more services that a supplier has staked on-chain to the Pocket Network. This chart provides the ability to expose those servers using a Kubernetes Ingress custom resource. The following example demonstrates how to define external access to two servers for the Relayminer:
# values.yaml
shannon:
relayminer:
enabled: true
config:
suppliers:
- service_id: anvil
service_config:
backend_url: http://anvil:8547/
listen_url: http://0.0.0.0:8545
- service_id: ollama
service_config:
backend_url: http://ollama:8080/
listen_url: http://0.0.0.0:8546
ingress:
enabled: true
className: ""
annotations: {}
tls: []
hosts:
- host: servera.relayminer.example.com
paths:
- path: /
pathType: Prefix
backend:
service:
name: pocket-network-<release-name>-shannon-relayminer
port:
number: 8545
- host: serverb.relayminer.example.com
paths:
- path: /
pathType: Prefix
backend:
service:
name: pocket-network-<release-name>-shannon-relayminer
port:
number: 8546
Note: For Kubernetes to route traffic properly, the value of
shannon.relayminer.ingress.hosts[].paths[].backend.service.port.number
must match the port specified inshannon.relayminer.config.suppliers[].listen_url
.
Note: You must replace by the value provided while installing the chart. (
helm install <release-name> ...
)
This example demonstrates how to define an external access with a certificate request using cert-manager and Let's Encrypt as a cluster issuer.
shannon:
relayminer:
enabled: true
config:
suppliers:
- service_id: anvil
service_config:
backend_url: http://anvil:8547/
listen_url: http://0.0.0.0:8545
- service_id: ollama
service_config:
backend_url: http://ollama:8080/
listen_url: http://0.0.0.0:8546
ingress:
# activates the definition of an ingress resource.
enabled: true
className: ""
annotations:
cert-manager.io/cluster-issuer: letsencrypt-staging
acme.cert-manager.io/http01-edit-in-place: "true"
cert-manager.io/issue-temporary-certificate: "true"
cert-manager.io/duration: "2160h"
cert-manager.io/private-key-algorithm: RSA
cert-manager.io/private-key-encoding: PKCS1
cert-manager.io/private-key-size: "2048"
tls:
- hosts:
- servera.relayminer.example.com
secretName: pocket-network-shannon-relayminer-servera
- hosts:
- serverb.relayminer.example.com
secretName: pocket-network-shannon-relayminer-serverb
hosts:
- host: servera.relayminer.example.com
paths:
- path: /
pathType: Prefix
backend:
service:
name: relayminer-service
port:
number: 8545
- host: serverb.relayminer.example.com
paths:
- path: /
pathType: Prefix
backend:
service:
name: relayminer-service
port:
number: 8546
Note: This example is set up to request a certificate using the Let's Encrypt Staging Environment and a Cluster Issuer. You can customize this configuration to suit your specific requirements. For more details on configuring the cert-manager, refer to the official documentation
The fullnode can expose one public-facing port to allow other nodes to connect, query its status, and broadcast transactions. This chart allows the configuration of an local and external. The local service will expose the fullnode application using a cluster-scoped virtual IP address, and the external service will expose the fullnode application on each Node's IP at a static port (type NodePort)
shannon:
fullnode:
service:
local:
type: ClusterIP
external:
enabled: true
type: NodePort
p2p:
nodePort: 26656
Cosmovisor is a daemon process for Cosmos SDK-based application binaries. It monitors the governance module for on-chain upgrade proposals and automatically manages chain upgrades for pocketd
application. By activating this deployment mode, the pocketd
process will executed as a sub-process of the cosmosvisor
parent process. This chart provides the ability to configure Cosmovisor for a full node setup.
# values.yaml
shannon:
fullnode:
enabled: true
cosmosvisor:
enabled: true
workingDirectory: ""
disableLogs: false
colorLogs: true
timeformatLogs: kitchen
customPreupgrade: ""
disableRecase: false
daemon:
name: "pocketd"
allowDownloadBinaries: true
restartAfterUpgrade: true
unsafeSkipBackup: true
pollInterval: 300ms
preupgradeMaxRetries: 0
downloadMustHaveChecksum: false
restartDelay: ""
dataBackupDir: ""
Note: For more informations about what the cosmosvisor daemon does and how to configure it, read this documentation
Key | Type | Default | Description |
---|---|---|---|
chain | string |
"pocket-beta" |
|
protocol | string |
"shannon" |
|
shannon.fullnode.affinity | object |
{} |
|
shannon.fullnode.containersSecurityContext.runAsGroup | int |
1025 |
|
shannon.fullnode.containersSecurityContext.runAsUser | int |
1025 |
|
shannon.fullnode.cosmossdk.app | tpl/string | ||
shannon.fullnode.cosmossdk.client | tpl/string | ||
shannon.fullnode.cosmossdk.config | tpl/string | ||
shannon.fullnode.cosmossdk.secret.enabled | bool |
false |
|
shannon.fullnode.cosmossdk.secret.key.name | string |
"pocket-network-cometbft-keys" |
|
shannon.fullnode.cosmossdk.secret.key.nodeKeyName | string |
"node_key.json" |
|
shannon.fullnode.cosmossdk.secret.key.privValidatorKeyName | string |
"priv_validator_key.json" |
|
shannon.fullnode.cosmossdk.secret.type | string |
"Secret" |
|
shannon.fullnode.cosmossdk.volumes.config.key.appKeyName | string |
"app.toml" |
|
shannon.fullnode.cosmossdk.volumes.config.key.clientKeyName | string |
"client.toml" |
|
shannon.fullnode.cosmossdk.volumes.config.key.configKeyName | string |
"config.toml" |
|
shannon.fullnode.cosmossdk.volumes.config.key.name | string |
"pocket-network-fullnode-shannon" |
|
shannon.fullnode.cosmossdk.volumes.enabled | bool |
false |
|
shannon.fullnode.cosmossdk.volumes.type | string |
"ConfigMap" |
|
shannon.fullnode.cosmosvisor.colorLogs | bool |
true |
|
shannon.fullnode.cosmosvisor.customPreupgrade | string |
"" |
|
shannon.fullnode.cosmosvisor.daemon.allowDownloadBinaries | bool |
true |
|
shannon.fullnode.cosmosvisor.daemon.dataBackupDir | string |
"" |
|
shannon.fullnode.cosmosvisor.daemon.downloadMustHaveChecksum | bool |
false |
|
shannon.fullnode.cosmosvisor.daemon.name | string |
"pocketd" |
|
shannon.fullnode.cosmosvisor.daemon.pollInterval | string |
"300ms" |
|
shannon.fullnode.cosmosvisor.daemon.preupgradeMaxRetries | int |
0 |
|
shannon.fullnode.cosmosvisor.daemon.restartAfterUpgrade | bool |
true |
|
shannon.fullnode.cosmosvisor.daemon.restartDelay | string |
"" |
|
shannon.fullnode.cosmosvisor.daemon.unsafeSkipBackup | bool |
true |
|
shannon.fullnode.cosmosvisor.disableLogs | bool |
false |
|
shannon.fullnode.cosmosvisor.disableRecase | bool |
false |
|
shannon.fullnode.cosmosvisor.enabled | bool |
false |
|
shannon.fullnode.cosmosvisor.timeformatLogs | string |
"kitchen" |
|
shannon.fullnode.cosmosvisor.workingDirectory | string |
"" |
|
shannon.fullnode.enabled | bool |
true |
|
shannon.fullnode.image.repository | string |
"ghcr.io/pokt-network/pocketd" |
|
shannon.fullnode.image.tag | string |
"" |
|
shannon.fullnode.imagePullSecrets | list |
[] |
|
shannon.fullnode.keyring | object |
{} |
|
shannon.fullnode.livenessProbe.enabled | bool |
true |
|
shannon.fullnode.livenessProbe.failureThreshold | int |
5 |
|
shannon.fullnode.livenessProbe.initialDelaySeconds | int |
120 |
|
shannon.fullnode.livenessProbe.periodSeconds | int |
15 |
|
shannon.fullnode.livenessProbe.successThreshold | int |
1 |
|
shannon.fullnode.livenessProbe.timeoutSeconds | int |
5 |
|
shannon.fullnode.nodeSelector | object |
{} |
|
shannon.fullnode.podAnnotations | object |
{} |
|
shannon.fullnode.podSecurityContext | object |
{} |
|
shannon.fullnode.resources.preset.enabled | bool |
false |
|
shannon.fullnode.resources.preset.name | string |
"medium" |
|
shannon.fullnode.resources.values.limits.cpu | string |
"10000m" |
|
shannon.fullnode.resources.values.limits.memory | string |
"38Gi" |
|
shannon.fullnode.resources.values.requests.cpu | string |
"8000m" |
|
shannon.fullnode.resources.values.requests.memory | string |
"32Gi" |
|
shannon.fullnode.service.external.enabled | bool |
true |
|
shannon.fullnode.service.external.p2p.nodePort | int |
30000 |
|
shannon.fullnode.service.external.type | string |
"NodePort" |
|
shannon.fullnode.service.local.type | string |
"ClusterIP" |
|
shannon.fullnode.snapshot.config.chownAsGroup | int |
1025 |
|
shannon.fullnode.snapshot.config.chownAsUser | int |
1025 |
|
shannon.fullnode.snapshot.config.url | string |
"https://snapshots.us-nj.poktroll.com/testnet-beta-39120-archival.torrent" |
|
shannon.fullnode.snapshot.enabled | bool |
false |
|
shannon.fullnode.snapshot.type | string |
"ariac" |
|
shannon.fullnode.storage.data.enabled | bool |
false |
|
shannon.fullnode.storage.data.volumeClaimTemplate.accessModes[0] | string |
"ReadWriteOnce" |
|
shannon.fullnode.storage.data.volumeClaimTemplate.annotations | object |
{} |
|
shannon.fullnode.storage.data.volumeClaimTemplate.resources.limits.storage | string |
"1500Gi" |
|
shannon.fullnode.storage.data.volumeClaimTemplate.resources.requests.storage | string |
"1000Gi" |
|
shannon.fullnode.storage.data.volumeClaimTemplate.selector.matchLabels."app.pocket.network" | string |
"pocket-network-test-shannon" |
|
shannon.fullnode.storage.data.volumeClaimTemplate.storageClassName | string |
"" |
|
shannon.fullnode.storage.data.volumeClaimTemplate.volumeMode | string |
"Filesystem" |
|
shannon.fullnode.telemetry.logs.format | string |
"json" |
|
shannon.fullnode.telemetry.logs.level | string |
"info" |
|
shannon.fullnode.telemetry.logs.noColor | bool |
true |
|
shannon.fullnode.telemetry.trace.enabled | bool |
false |
|
shannon.fullnode.telemetry.trace.store | string |
"" |
|
shannon.fullnode.tls.enabled | bool |
false |
|
shannon.fullnode.tls.secret.key.certKeyName | string |
"tls.crt" |
|
shannon.fullnode.tls.secret.key.keyKeyName | string |
"tls.key" |
|
shannon.fullnode.tls.secret.key.name | string |
"pocket-network-shannon-fullnode-rpc-tls" |
|
shannon.fullnode.tolerations | list |
[] |
|
shannon.fullnode.volumeMounts | list |
[] |
|
shannon.fullnode.volumes | list |
[] |
|
shannon.relayminer.affinity | object |
{} |
|
shannon.relayminer.autoscaling.enabled | bool |
false |
|
shannon.relayminer.autoscaling.maxReplicas | int |
100 |
|
shannon.relayminer.autoscaling.minReplicas | int |
1 |
|
shannon.relayminer.autoscaling.targetCPUUtilizationPercentage | int |
80 |
|
shannon.relayminer.autoscaling.targetMemoryUtilizationPercentage | int |
80 |
|
shannon.relayminer.cometbft.clientConfig | tpl/string | ||
shannon.relayminer.config.default_signing_key_names[0] | string |
"supplier1" |
|
shannon.relayminer.config.metrics.addr | string |
":9090" |
|
shannon.relayminer.config.metrics.enabled | bool |
true |
|
shannon.relayminer.config.ping.addr | string |
":8081" |
|
shannon.relayminer.config.ping.enabled | bool |
true |
|
shannon.relayminer.config.pocket_node.query_node_grpc_url | string |
"tcp://node:9090" |
|
shannon.relayminer.config.pocket_node.query_node_rpc_url | string |
"tcp://node:26657" |
|
shannon.relayminer.config.pocket_node.tx_node_rpc_url | string |
"tcp://node:26657" |
|
shannon.relayminer.config.pprof.addr | string |
":6060" |
|
shannon.relayminer.config.pprof.enabled | bool |
true |
|
shannon.relayminer.config.smt_store_path | string |
"/home/pocket/.pocket/smt" |
|
shannon.relayminer.config.suppliers[0].listen_url | string |
"http://0.0.0.0:8545" |
|
shannon.relayminer.config.suppliers[0].service_config.backend_url | string |
"http://anvil:8547/" |
|
shannon.relayminer.config.suppliers[0].service_id | string |
"anvil" |
|
shannon.relayminer.containersSecurityContext.runAsGroup | int |
1025 |
|
shannon.relayminer.containersSecurityContext.runAsUser | int |
1025 |
|
shannon.relayminer.development.delve.acceptMulticlient | bool |
true |
|
shannon.relayminer.development.delve.addr | string |
":40004" |
|
shannon.relayminer.development.delve.apiVersion | int |
2 |
|
shannon.relayminer.development.delve.enabled | bool |
false |
|
shannon.relayminer.development.delve.headless | bool |
true |
|
shannon.relayminer.development.relay.activeDeadlineSeconds | int |
600 |
|
shannon.relayminer.development.relay.application.address | string |
"pokt10v4ta463vmul6ztfzj2ts55rwmh9scdxzaaj9f" |
|
shannon.relayminer.development.relay.application.secret.keyName | string |
"mnemonic.txt" |
|
shannon.relayminer.development.relay.application.secret.name | string |
"pocket-network-shannon-application-key" |
|
shannon.relayminer.development.relay.backoffLimit | int |
3 |
|
shannon.relayminer.development.relay.completions | int |
5 |
|
shannon.relayminer.development.relay.count | int |
100 |
|
shannon.relayminer.development.relay.enabled | bool |
false |
|
shannon.relayminer.development.relay.nodeGrpc.insecure | bool |
true |
|
shannon.relayminer.development.relay.nodeGrpc.url | string |
"tcp://node:9090" |
|
shannon.relayminer.development.relay.nodeRpcUrl | string |
"tcp://node:26657" |
|
shannon.relayminer.development.relay.parallelism | int |
5 |
|
shannon.relayminer.development.relay.payload | string |
"{\"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"eth_blockNumber\", \"params\": []}" |
|
shannon.relayminer.development.relay.schedule | string |
"*/5 * * * *" |
|
shannon.relayminer.development.relay.supplierAddress | string |
"pokt19a3t4yunp0dlpfjrp7qwnzwlrzd5fzs2gjaaaj" |
|
shannon.relayminer.development.relay.ttlSecondsAfterFinished | int |
5 |
|
shannon.relayminer.enabled | bool |
false |
|
shannon.relayminer.gasAdjustment | float |
1.5 |
|
shannon.relayminer.gasPrices | string |
"0.0001upokt" |
|
shannon.relayminer.grpcInsecure | bool |
true |
|
shannon.relayminer.image.pullPolicy | string |
"IfNotPresent" |
|
shannon.relayminer.image.repository | string |
"ghcr.io/pokt-network/pocketd" |
|
shannon.relayminer.image.tag | string |
"" |
|
shannon.relayminer.imagePullSecrets | list |
[] |
|
shannon.relayminer.ingress.annotations | object |
{} |
|
shannon.relayminer.ingress.className | string |
"" |
|
shannon.relayminer.ingress.enabled | bool |
false |
|
shannon.relayminer.ingress.hosts | list |
[] |
|
shannon.relayminer.ingress.tls | list |
[] |
|
shannon.relayminer.keyring.backend | string |
"test" |
|
shannon.relayminer.keyring.secrets[0].keyNames[0] | string |
"supplier1.info" |
|
shannon.relayminer.keyring.secrets[0].name | string |
"pocket-network-shannon-relayminer-key" |
|
shannon.relayminer.livenessProbe.ping.enabled | bool |
false |
|
shannon.relayminer.livenessProbe.ping.initialDelaySeconds | int |
10 |
|
shannon.relayminer.livenessProbe.ping.periodSeconds | int |
15 |
|
shannon.relayminer.nodeSelector | object |
{} |
|
shannon.relayminer.podAnnotations | object |
{} |
|
shannon.relayminer.podSecurityContext | object |
{} |
|
shannon.relayminer.prometheus.serviceMonitor.enabled | bool |
true |
|
shannon.relayminer.replicas | int |
1 |
|
shannon.relayminer.resources.preset.enabled | bool |
false |
|
shannon.relayminer.resources.preset.name | string |
"medium" |
|
shannon.relayminer.resources.values.limits.cpu | string |
"3000m" |
|
shannon.relayminer.resources.values.limits.memory | string |
"6Gi" |
|
shannon.relayminer.resources.values.requests.cpu | string |
"2000m" |
|
shannon.relayminer.resources.values.requests.memory | string |
"3Gi" |
|
shannon.relayminer.service.type | string |
"ClusterIP" |
|
shannon.relayminer.telemetry.logs.level | string |
"info" |
|
shannon.relayminer.tolerations | list |
[] |
|
shannon.relayminer.volumeMounts | list |
[] |
|
shannon.relayminer.volumes | list |
[] |
|
version | string |
"0.1.24" |
|
workingDirectory | string |
"/home/pocket/.pocket" |