UNPKG

@hashgraph/solo

Version:

An opinionated CLI tool to deploy and manage private Hedera Networks.

345 lines (341 loc) 8.78 kB
labels: solo.hiero.com/testSuiteName: "" solo.hiero.com/testName: "" solo.hiero.com/testRunUID: "" solo.hiero.com/testCreationTimestamp: "" solo.hiero.com/testExpirationTimestamp: "" solo.hiero.com/testRequester: "" graphql: # not needed for default use case enabled: false rosetta: # not needed for default use case enabled: false redis: enabled: true # namespaceOverride: "{{ tpl (.Values.global.namespaceOverride | toString) }}" # importer is a component of the hiero mirror node # config for subchart hiero-mirror/importer importer: image: registry: ghcr.io repository: hiero-ledger/hiero-mirror-node/importer nodeSelector: {} tolerations: - key: "solo-scheduling.io/os" operator: "Equal" value: "linux" effect: "NoSchedule" - key: "solo-scheduling.io/role" operator: "Equal" value: "network" effect: "NoSchedule" resources: requests: cpu: 0 memory: 200Mi limits: cpu: 1000m memory: 220Mi readinessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 livenessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 startupProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 300 envFrom: - secretRef: name: mirror-passwords - secretRef: name: "{{ .Release.Name }}-redis" - secretRef: name: uploader-mirror-secrets # The addressbook.bin file updates will be handled by infrastructure code or solo addressBook: "" config: # importer is a springboot app, its application.yaml configuration starts here # This config is mounted at [/usr/etc/hiero/application.yaml] in the importer pod hiero: mirror: importer: startDate: 1970-01-01T00:00:00Z network: other downloader: allowAnonymousAccess: false bucketName: "solo-streams" # for s3 configuration of mirror node look at uploader-mirror-secrets.yaml parser: record: entity: persist: pendingReward: false sidecar: enabled: true grpc: image: registry: ghcr.io repository: hiero-ledger/hiero-mirror-node/grpc ingress: annotations: haproxy-ingress.github.io/backend-protocol: h2 nodeSelector: {} tolerations: - key: "solo-scheduling.io/os" operator: "Equal" value: "linux" effect: "NoSchedule" - key: "solo-scheduling.io/role" operator: "Equal" value: "network" effect: "NoSchedule" resources: requests: cpu: 0 memory: 100Mi limits: cpu: 500m memory: 120Mi readinessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 livenessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 startupProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 pinger: enabled: true resources: requests: cpu: 0 memory: 15Mi limits: cpu: 100m memory: 20Mi readinessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 livenessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 startupProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 postgresql: persistence: size: 10Gi postgresql: nodeSelector: {} tolerations: - key: "solo-scheduling.io/os" operator: "Equal" value: "linux" effect: "NoSchedule" - key: "solo-scheduling.io/role" operator: "Equal" value: "network" effect: "NoSchedule" resources: requests: cpu: 0 memory: 0 limits: cpu: 1000m memory: 1000Mi pgpool: replicaCount: 0 rest: nodeSelector: {} tolerations: - key: "solo-scheduling.io/os" operator: "Equal" value: "linux" effect: "NoSchedule" - key: "solo-scheduling.io/role" operator: "Equal" value: "network" effect: "NoSchedule" resources: requests: cpu: 0 memory: 120Mi limits: cpu: 500m memory: 120Mi readinessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 livenessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 startupProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 monitor: enabled: false redis: enabled: true global: hostname: "localhost" restjava: image: registry: ghcr.io repository: hiero-ledger/hiero-mirror-node/rest-java nodeSelector: {} tolerations: - key: "solo-scheduling.io/os" operator: "Equal" value: "linux" effect: "NoSchedule" - key: "solo-scheduling.io/role" operator: "Equal" value: "network" effect: "NoSchedule" resources: requests: cpu: 0 memory: 175Mi limits: cpu: 2 memory: 200Mi readinessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 livenessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 startupProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 web3: image: registry: ghcr.io repository: hiero-ledger/hiero-mirror-node/web3 nodeSelector: {} tolerations: - key: "solo-scheduling.io/os" operator: "Equal" value: "linux" effect: "NoSchedule" - key: "solo-scheduling.io/role" operator: "Equal" value: "network" effect: "NoSchedule" resources: requests: cpu: 0 memory: 185Mi limits: cpu: 1000m memory: 185Mi readinessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 livenessProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 startupProbe: initialDelaySeconds: 0 periodSeconds: 1 failureThreshold: 60 config: hiero: mirror: web3: # Enable opcode tracer to support debugging and transaction tracing in solo deployments opcode: tracer: enabled: true # Defaults to TESTNET, therefor it needs to be set to OTHER for solo deployments evm: network: OTHER # This cache causes an issue where data about contractState, entity and tokens to be outdated for a short # period after a transaction is imported into the mirror node, which forces users to hardcode sleep logic into # their tests and scripts to wait for the cache to expire before they can access that data. # Disabling the cache makes sure that the data is always up to date and eliminates the need for hardcoded # sleep logic in tests and scripts, resulting in a more reliable results and improved user experience. cache: contractState: expireAfterWrite=0s,maximumSize=0 entity: expireAfterWrite=0s,maximumSize=0 token: expireAfterWrite=0s,maximumSize=0 # config for subchart hiero-mirror/monitor # Sets up a Pinger service that periodically submits CRYPTO_TRANSFER transactions # Additional configuration for node addresses, operator id and key should be handled by infrastructure code or solo monitor: enabled: false nodeSelector: {} tolerations: - key: "solo-scheduling.io/os" operator: "Equal" value: "linux" effect: "NoSchedule" - key: "solo-scheduling.io/role" operator: "Equal" value: "network" effect: "NoSchedule" resources: requests: cpu: 0 memory: 0 limits: cpu: 500m memory: 1000Mi envFrom: - secretRef: name: mirror-passwords - secretRef: name: "{{ .Release.Name }}-redis" - secretRef: name: uploader-mirror-secrets config: hiero: mirror: common: realm: 0 shard: 0 monitor: publish: scenarios: pinger: properties: amount: 1 maxTransactionFee: 10000 senderAccountId: 0.0.2 recipientAccountId: 0.0.55 transferTypes: - CRYPTO receiptPercent: 1 tps: 5 type: CRYPTO_TRANSFER subscribe: grpc: hcs: enabled: false rest: transactionId: enabled: true samplePercent: 1 network: OTHER readinessProbe: failureThreshold: 60 initialDelaySeconds: 0 timeoutSeconds: 1