@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
175 lines (174 loc) • 4.4 kB
YAML
# hedera node configuration
hedera:
initContainers:
- name: init-hedera-node
image: busybox:stable-musl
command: ["sh", "-c", "cp -r /etc /data-saved"]
volumeMounts:
- name: hgcapp-data-saved
mountPath: /data-saved
nodes:
- name: node1
nodeId: 0
accountId: 0.0.3
root:
resources:
requests:
cpu: 2
memory: 16Gi
limits:
cpu: 4
memory: 31Gi
- name: node2
nodeId: 1
accountId: 0.0.4
root:
resources:
requests:
cpu: 2
memory: 16Gi
limits:
cpu: 4
memory: 31Gi
- name: node3
nodeId: 2
accountId: 0.0.5
root:
resources:
requests:
cpu: 2
memory: 16Gi
limits:
cpu: 4
memory: 31Gi
- name: node4
nodeId: 3
accountId: 0.0.6
root:
resources:
requests:
cpu: 2
memory: 16Gi
limits:
cpu: 4
memory: 31Gi
defaults:
haproxy:
serviceType: NodePort
envoyProxy:
loadBalancerEnabled: true
sidecars:
recordStreamUploader:
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 150m
memory: 200Mi
eventStreamUploader:
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 150m
memory: 200Mi
recordStreamSidecarUploader:
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 150m
memory: 200Mi
blockstreamUploader:
resources:
requests:
cpu: 100m
memory: 200Mi
limits:
cpu: 150m
memory: 400Mi
root:
resources:
requests:
cpu: 2
memory: 16Gi
limits:
cpu: 4
memory: 31Gi
extraEnv:
- name: JAVA_OPTS
value: "-XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:ZAllocationSpikeTolerance=2 -XX:ConcGCThreads=4 -XX:MaxDirectMemorySize=4g -XX:MetaspaceSize=100M -XX:+ZGenerational -Xlog:gc*:gc.log --add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED -Dio.netty.tryReflectionSetAccessible=true"
- name: JAVA_HEAP_MIN
value: "16g"
- name: JAVA_HEAP_MAX
value: "19g"
- name: MALLOC_ARENA_MAX
value: "1"
deployment:
podAnnotations: {}
podLabels: {}
nodeSelector:
solo.hashgraph.io/role: "consensus-node"
tolerations:
- key: "solo.hashgraph.io/role"
operator: "Equal"
value: "consensus-node"
effect: "NoSchedule"
minio-server:
secrets:
# This secret has [accessKey, secretKey] and will be randomly generated by helm
existingSecret: minio-secrets
tenant:
buckets:
- name: solo-streams
- name: solo-backups
name: minio
pools:
- servers: 1
name: pool-1
volumesPerServer: 1
size: 512Gi
storageClassName: standard-rwo
nodeSelector: {}
configuration:
name: minio-secrets
certificate:
requestAutoCert: false
environment:
MINIO_BROWSER_LOGIN_ANIMATION: off # https://github.com/minio/console/issues/2539#issuecomment-1619211962
haproxyDeployment:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: solo.hedera.com/type
operator: In
values:
- network-node
topologyKey: kubernetes.io/hostname
envoyDeployment:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: solo.hedera.com/type
operator: In
values:
- network-node
topologyKey: kubernetes.io/hostname
minioDeployment:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: solo.hedera.com/type
operator: In
values:
- network-node
topologyKey: kubernetes.io/hostname