Skip to content

eddyzags/pocket-network-helm-chart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helm Chart for Pocket Network

Version: 0.1.0 Type: application

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.

Overview of Pocket Network

TL;DR

?> git clone [email protected]:eddyzags/pocket-network-helm-chart.git && cd pocket-network-helm-chart

?> helm install release-1 . -f values.yaml

pocket-network-grafana-dashboard-1 pocket-network-grafana-dashboard-2 pocket-network-grafana-dashboard-3 pocket-network-grafana-dashboard-4

Table of Contents

Prerequisites

  • Kubernetes 1.23+
  • Helm 3.9.0+
  • Provisionning keys for Pocket Network Kubernetes Pods (e.g fullnode and relayminer)

Installing the Chart

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.

Configuration and installation details

Customizing relayminer and fullnode using configuration

Fullnode

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.

Relayminer

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

Provisionning keys

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.

Relayminer

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 have shannon.relayminer.config.default_signing_key_names=["relayminer"], we must provide a secret with shannon.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.

Fullnode

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.

Resources and limits

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 and shannon.fullnode.resources.limits fields.

Fullnode Persistence

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

Adjust permissions of persistent volume mountpoint

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

Prometheus metrics

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.

Relayminer

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

Fullnode

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

Accessing Pocket Network Services from outside the cluster

This section outlines how to configure external access, allowing users to interact with your service through the Pocket Network's decentralized infrastructure.

Relayminer

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 in shannon.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

Fullnode

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

Deploy fullnode with Cosmosvisor

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

Parameters

Values

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"

About

Pocket Network Helm Charts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages