# 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:
  volumeClaims:
    storageClassName: standard-rwo
#  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: 100Mi
#        limits:
#          cpu: 150m
#          memory: 200Mi
#  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"
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
