local: # 3 nodes, ~850 TPS (Docker Desktop 8 cores, 16 GB RAM)
  consensus: # use chart defaults
    root:
      extraEnv:
        - name: JAVA_HEAP_MIN
          value: 1g
        - name: JAVA_HEAP_MAX
          value: 3g
        - name: JAVA_OPTS
          value: "-XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:+ZGenerational -XX:ZAllocationSpikeTolerance=2 -XX:ConcGCThreads=2 -XX:ZMarkStackSpaceLimit=1g -XX:MaxDirectMemorySize=1g -XX:MetaspaceSize=100M -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"
  haproxy: # use chart defaults
  envoyProxy: # use chart defaults
  rpcRelay:
    resources:
      requests:
        cpu: 0
        memory: 0
      limits:
        cpu: 500m
        memory: 1000Mi
  explorer:
    resources:
      requests:
        cpu: 200m
        memory: 100Mi
      limits:
        cpu: 1000m
        memory: 250Mi
  mirror:
    postgresql:
      persistence:
        size: 10Gi
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 1000m
          memory: 1000Mi
    importer:
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 1000m
          memory: 2000Mi
    rest:
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 500m
          memory: 500Mi
      readinessProbe:
        failureThreshold: 60
      livenessProbe:
        failureThreshold: 60
    grpc:
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 500m
          memory: 1000Mi
      readinessProbe:
        failureThreshold: 60
      livenessProbe:
        failureThreshold: 60
    web3:
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 500m
          memory: 500Mi
      readinessProbe:
        failureThreshold: 60
      livenessProbe:
        failureThreshold: 60
    monitor:
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 500m
          memory: 1000Mi
  minio: # use chart defaults

tiny: # 3 nodes, ~990 TPS
  consensus:
    root:
      resources:
        requests:
          cpu: 3500m
          memory: 4000Mi
        limits:
          cpu: 3750m
          memory: 7750Mi
  mirror:
    postgresql:
      persistence:
        size: 100Gi
      postgresql:
        resources:
          requests:
            cpu: 250m
            memory: 500Mi
          limits:
            cpu: 1500m
            memory: 2000Mi
    importer:
      resources:
        requests:
          cpu: 500m
          memory: 1000Mi
        limits:
          cpu: 1500m
          memory: 2000Mi
    rest:
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 1000m
          memory: 500Mi
    grpc:
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 1000m
          memory: 1000Mi
    web3:
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 1000m
          memory: 1000Mi
    monitor:
      resources:
        requests:
          cpu: 0
          memory: 0
        limits:
          cpu: 1000m
          memory: 1000Mi
  minio:
    tenant:
      pools:
        - servers: 1
          name: pool-1
          volumesPerServer: 1
          size: 10Gi #volume size
          resources:
            requests:
              cpu: 250m
              memory: 1000Mi
            limits:
              cpu: 1000m
              memory: 2000Mi

small:
  consensus:
    root:
      resources:
        requests:
          cpu: 8000m
          memory: 8000Mi
        limits:
          cpu: 11500m
          memory: 12000Mi
  mirror:
    importer:
      resources:
        requests:
          cpu: 1000m
          memory: 2000Mi
        limits:
          cpu: 2000m
          memory: 4000Mi
  minio:
    tenant:
      pools:
        - servers: 1
          name: pool-1
          volumesPerServer: 1
          size: 200Gi #volume size
          resources:
            requests:
              cpu: 0
              memory: 0
            limits:
              cpu: 0
              memory: 0

medium:
  consensus:
    root:
      resources:
        requests:
          cpu: 12000m
          memory: 16000Mi
        limits:
          cpu: 16000m
          memory: 24000Mi
  mirror:
    importer:
      resources:
        requests:
          cpu: 1000m
          memory: 2000Mi
        limits:
          cpu: 2000m
          memory: 4000Mi
  minio:
    tenant:
      pools:
        - servers: 1
          name: pool-1
          volumesPerServer: 1
          size: 200Gi #volume size
          resources:
            requests:
              cpu: 0
              memory: 0
            limits:
              cpu: 0
              memory: 0

large:
  consensus:
    root:
      resources:
        requests:
          cpu: 18000m
          memory: 32000Mi
        limits:
          cpu: 24000m
          memory: 64000Mi
  mirror:
    postgresql:
      persistence:
        size: 500Gi
      resources:
        requests:
          cpu: 1500m
          memory: 1500Mi
        limits:
          cpu: 4000m
          memory: 4000Mi
    importer:
      resources:
        requests:
          cpu: 2000m
          memory: 4000Mi
        limits:
          cpu: 2000m
          memory: 8000Mi
  minio:
    tenant:
      pools:
        - servers: 1
          name: pool-1
          volumesPerServer: 1
          size: 500Gi #volume size
          resources:
            requests:
              cpu: 0
              memory: 0
            limits:
              cpu: 0
              memory: 0
