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

     1  apiVersion: apps/v1
     2  kind: Deployment
     3  metadata:
     4    name: {{ .Release.Name }}-{{ .Values.ready.name }}
     5  spec:
     6    selector:
     7      matchLabels:
     8        app: {{ .Release.Name }}-{{ .Values.ready.name }}
     9    template:
    10      metadata:
    11        labels:
    12          app: {{ .Release.Name }}-{{ .Values.ready.name }}
    13      spec:       
    14        containers:
    15          - name: {{ .Values.ready.name }}
    16            image: {{ .Values.ready.image.repository }}:{{ .Values.ready.image.tag }}
    17            imagePullPolicy: {{ .Values.imagePullPolicy }}
    18            command:
    19            - /bin/sh
    20            - -c
    21            - |
    22              while true; do
    23                response=$(curl -s -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}' http://{{ .Release.Name }}-{{ .Values.geth.name }}-svc:{{ .Values.geth.ports.http }})
    24                block_number=$(echo $response | grep -o '"number":"[^"]*' | cut -d'"' -f4)
    25  
    26                if [ -n "$block_number" ]; then
    27                  block_number_decimal=$(printf "%d" "$block_number")
    28                  echo "Latest unfinalised block number: $block_number_decimal"
    29                else
    30                  echo "Latest unfinalised block number: N/A"
    31                fi
    32  
    33                sleep {{ printf "%d" (add .Values.prysm.genesis.secondsPerSlot 2) }}
    34                done
    35            resources:
    36              requests:
    37                memory: {{ .Values.ready.resources.requests.memory }}
    38                cpu: {{ .Values.ready.resources.requests.cpu }}
    39              limits:
    40                memory: {{ .Values.ready.resources.limits.memory }}
    41                cpu: {{ .Values.ready.resources.limits.cpu }}           
    42            readinessProbe:
    43              exec:
    44                command:
    45                - /bin/sh
    46                - -c
    47                - |
    48                  response=$(curl -s -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}' http://{{ .Release.Name }}-{{ .Values.geth.name }}-svc:{{ .Values.geth.ports.http }})
    49                  block_number=$(echo $response | grep -o '"number":"[^"]*' | cut -d'"' -f4)
    50                  block_number_decimal=$(printf "%d" "$block_number")
    51  
    52                  if [ "$block_number_decimal" -gt 1 ]; then
    53                      exit 0
    54                  else
    55                      exit 1
    56                  fi
    57              initialDelaySeconds: 60
    58              periodSeconds: 5