github.com/smartcontractkit/chainlink-testing-framework/libs@v0.0.0-20240227141906-ec710b4eb1a3/charts/geth-prysm/templates/prysm-validator.deployment.yaml (about)

     1  apiVersion: apps/v1
     2  kind: Deployment #StatefulSet?
     3  metadata:
     4    name: {{ .Release.Name }}-{{ .Values.prysm.validator.name }}
     5  spec:
     6    selector:
     7      matchLabels:
     8        app: {{ .Release.Name }}-{{ .Values.prysm.validator.name }}
     9    template:
    10      metadata:
    11        labels:
    12          app: {{ .Release.Name }}-{{ .Values.prysm.validator.name }}
    13      spec:
    14        volumes:
    15        - name: {{ .Release.Name }}-chain-state
    16          persistentVolumeClaim:
    17            claimName: {{ .Release.Name }}-{{ .Values.storage.claim }}      
    18        - name: {{ .Release.Name }}-prysm-config
    19          configMap:
    20            name: {{ .Release.Name }}-prysm-config                  
    21        containers:
    22          - name: {{ .Values.prysm.validator.name }}
    23            image: {{ .Values.prysm.validator.image.repository }}:{{ .Values.prysm.validator.image.tag }}
    24            imagePullPolicy: {{ .Values.imagePullPolicy }}
    25            args:
    26            - "--beacon-rpc-provider={{ .Release.Name }}-{{ .Values.prysm.beacon.name }}-svc:{{ .Values.prysm.beacon.ports.node }}"
    27            - "--datadir=/data/consensus/validatordata"
    28            - "--accept-terms-of-use"
    29            - "--interop-num-validators={{ .Values.prysm.shared.validators }}"
    30            - "--interop-start-index=0"
    31            - "--chain-config-file={{ .Values.prysm.shared.configFile }}"
    32            - "--force-clear-db"
    33            - "--suggested-fee-recipient={{ .Values.prysm.shared.feeRecipent }}"
    34            resources:
    35              requests:
    36                memory: {{ .Values.prysm.validator.resources.requests.memory }}
    37                cpu: {{ .Values.prysm.validator.resources.requests.cpu }}
    38              limits:
    39                memory: {{ .Values.prysm.validator.resources.limits.memory }}
    40                cpu: {{ .Values.prysm.validator.resources.limits.cpu }}
    41            volumeMounts:               
    42              - name: {{ .Release.Name }}-chain-state
    43                mountPath: /data 
    44              - name: {{ .Release.Name }}-prysm-config
    45                mountPath: {{ .Values.prysm.shared.configFile }}
    46                subPath: config.yml                                 
    47        initContainers:
    48          - name: {{ .Release.Name }}-wait-for-geth
    49            image: {{ .Values.busybox.image.repository }}:{{ .Values.busybox.image.tag }}
    50            imagePullPolicy: {{ .Values.imagePullPolicy }} 
    51            command:
    52              - "/bin/sh"
    53              - "-c"
    54              - >
    55                timeout 900 sh -c '
    56                  start_time=$(date +%s)
    57                  while ! nc -z -v {{ .Release.Name }}-{{ .Values.geth.name }}-svc {{ .Values.geth.ports.execution }}; do
    58                    current_time=$(date +%s)
    59                    elapsed_time=$((current_time - start_time))
    60                    remaining_time=$((900 - elapsed_time))
    61                    echo "Waiting for Geth (Remaining time: $remaining_time seconds)..."
    62                    sleep 2
    63                  done'