Skip to content

Commit

Permalink
Merge pull request #1193 from bloxapp/stage
Browse files Browse the repository at this point in the history
v1.1.0 post review
  • Loading branch information
Lior Rutenberg authored Nov 6, 2023
2 parents 7e3a2b3 + f4d3401 commit d469dec
Show file tree
Hide file tree
Showing 124 changed files with 7,081 additions and 8,041 deletions.
82 changes: 25 additions & 57 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,52 +42,6 @@ Build stage Docker image:
only:
- stage

Deploy nodes to stage:
stage: deploy
tags:
- blox-infra-stage
script:
- apk add bash
- export K8S_API_VERSION=$INFRA_STAGE_K8_API_VERSION
- export SSV_NODES_CPU_LIMIT=$STAGE_SSV_NODES_CPU_LIMIT
- export SSV_NODES_MEM_LIMIT=$STAGE_SSV_NODES_MEM_LIMIT
- curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/linux/amd64/kubectl
- chmod 755 kubectl
- mv kubectl /usr/bin/
#
# +--------------------+
# | Deploy SSV nodes |
# +--------------------+
- .k8/stage/scripts/deploy-cluster-1--4.sh $DOCKER_REPO_INFRA_STAGE $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_STAGE blox-infra-stage kubernetes-admin@blox-infra stage.ssv.network $K8S_API_VERSION $STAGE_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT $SSV_NODES_MEM_LIMIT
- .k8/stage/scripts/deploy-cluster-5--8.sh $DOCKER_REPO_INFRA_STAGE $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_STAGE blox-infra-stage kubernetes-admin@blox-infra stage.ssv.network $K8S_API_VERSION $STAGE_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT $SSV_NODES_MEM_LIMIT
# - .k8/stage/scripts/deploy-cluster-9--12.sh $DOCKER_REPO_INFRA_STAGE $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_STAGE blox-infra-stage kubernetes-admin@blox-infra stage.ssv.network $K8S_API_VERSION $STAGE_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT $SSV_NODES_MEM_LIMIT
# - .k8/stage/scripts/deploy-cluster-13--16.sh $DOCKER_REPO_INFRA_STAGE $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_STAGE blox-infra-stage kubernetes-admin@blox-infra stage.ssv.network $K8S_API_VERSION $STAGE_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT $SSV_NODES_MEM_LIMIT
#
# +-------------------+
# │ Deploy Bootnode |
# +-------------------+
# █▓▒░ Keep commented unless you're testing the bootnode ░▒▓█
# - .k8/stage/scripts/deploy-boot-nodes.sh $DOCKER_REPO_INFRA_STAGE $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_STAGE blox-infra-stage kubernetes-admin@blox-infra stage.ssv.network $K8S_API_VERSION $STAGE_HEALTH_CHECK_IMAGE 1000m 1000m
only:
- stage

Deploy exporter to stage:
stage: deploy
tags:
- blox-infra-stage
script:
- apk add bash
- export K8S_API_VERSION=$INFRA_STAGE_K8_API_VERSION
- export SSV_EXPORTER_CPU_LIMIT=$STAGE_SSV_EXPORTER_CPU_LIMIT
- export SSV_EXPORTER_MEM_LIMIT=$STAGE_SSV_EXPORTER_MEM_LIMIT
- curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/linux/amd64/kubectl
- chmod 755 kubectl
- mv kubectl /usr/bin/
- .k8/stage/scripts/deploy-exporters.sh $DOCKER_REPO_INFRA_STAGE $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_STAGE blox-infra-stage kubernetes-admin@blox-infra stage.ssv.network $K8S_API_VERSION $SSV_EXPORTER_CPU_LIMIT $SSV_EXPORTER_MEM_LIMIT
only:
- stage


# +---------------------+
# | STAGE HETZNER NODES |
# +---------------------+
Expand Down Expand Up @@ -182,27 +136,37 @@ Deploy nodes to prod:
- curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
- chmod +x ./kubectl
- mv ./kubectl /usr/bin/kubectl
# +-------------------------------+
# | 🟠 Deploy SSV Holesky nodes |
# +-------------------------------+
- .k8/production/holesky/scripts/deploy-cluster-1--4.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $PROD_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT_V3 $SSV_NODES_MEM_LIMIT_V3
#
# +-------------------------------+
# │ 🟠 Deploy Holesky Bootnode |
# +-------------------------------+
# █▓▒░ Keep commented unless you're testing the bootnode ░▒▓█
#- .k8/production/holesky/scripts/deploy-boot-nodes.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $PROD_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT_V3 $SSV_NODES_MEM_LIMIT_V3
#
# +---------------------------+
# | 🟠 Deploy SSV Prater nodes |
# +---------------------------+
- .k8/production/prater/scripts/deploy-cluster-1--4.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $PROD_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT_V3 $SSV_NODES_MEM_LIMIT_V3
#- .k8/production/prater/scripts/deploy-cluster-1--4.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $PROD_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT_V3 $SSV_NODES_MEM_LIMIT_V3
#
# +----------------------------+
# | 🔴 Deploy SSV Mainnet nodes |
# +----------------------------+
# - .k8/production/mainnet/scripts/deploy-cluster-1-4.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $PROD_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT_V3 $SSV_NODES_MEM_LIMIT_V3
#
#
# +--------------------------+
# +-----------------------------+
# │ 🟠 Deploy Prater Bootnode |
# +--------------------------+
# +-----------------------------+
# █▓▒░ Keep commented unless you're testing the bootnode ░▒▓█
# - .k8/production/prater/scripts/deploy-boot-nodes.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $PROD_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT_V3 $SSV_NODES_MEM_LIMIT_V3
#
# +---------------------------+
# +------------------------------+
# │ 🔴 Deploy Mainnet Bootnode |
# +---------------------------+
# +------------------------------+
# █▓▒░ Keep commented unless you're testing the bootnode ░▒▓█
# - .k8/production/mainnet/scripts/deploy-boot-nodes.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $PROD_HEALTH_CHECK_IMAGE $SSV_NODES_CPU_LIMIT_V3 $SSV_NODES_MEM_LIMIT_V3

Expand All @@ -224,16 +188,20 @@ Deploy exporter to prod:
- chmod +x ./kubectl
- mv ./kubectl /usr/bin/kubectl
#
# +---------------------------+
# +-------------------------------+
# | 🟠 Deploy Holesky exporter |
# +-------------------------------+
- .k8/production/holesky/scripts/deploy-exporters.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $SSV_EXPORTER_CPU_LIMIT $SSV_EXPORTER_MEM_LIMIT
#
# +------------------------------+
# | 🟠 Deploy Prater exporter |
# +---------------------------+
- .k8/production/prater/scripts/deploy-exporters.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $SSV_EXPORTER_CPU_LIMIT $SSV_EXPORTER_MEM_LIMIT
# +------------------------------+
# - .k8/production/prater/scripts/deploy-exporters.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $SSV_EXPORTER_CPU_LIMIT $SSV_EXPORTER_MEM_LIMIT
#
# +---------------------------+
# +------------------------------+
# │ 🔴 Deploy Mainnet exporter |
# +---------------------------+
# +------------------------------+
# - .k8/production/mainnet/scripts/deploy-exporters.sh $DOCKER_REPO_INFRA_PROD $CI_COMMIT_SHA ssv $APP_REPLICAS_INFRA_PROD blox-infra-prod kubernetes-admin@blox-infra-prod ssv.network $K8S_API_VERSION $SSV_EXPORTER_CPU_LIMIT $SSV_EXPORTER_MEM_LIMIT

only:
- main

161 changes: 81 additions & 80 deletions .k8/hetzner-stage/ssv-node-1-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ metadata:
namespace: REPLACE_NAMESPACE
labels:
app: ssv-node-1
prometheus/app: ssv-node
spec:
type: ClusterIP
ports:
Expand All @@ -20,7 +21,7 @@ spec:
- port: 15001
protocol: TCP
targetPort: 15001
name: port-15001
name: metrics
- port: 16001
protocol: TCP
targetPort: 16001
Expand Down Expand Up @@ -48,86 +49,86 @@ spec:
app: ssv-node-1
spec:
containers:
- name: ssv-node-1
image: REPLACE_DOCKER_REPO:REPLACE_IMAGETAG
#image: mosheblox/ssv-preview:stage
imagePullPolicy: Always
resources:
limits:
cpu: REPLACE_NODES_CPU_LIMIT
memory: REPLACE_NODES_MEM_LIMIT
command: ["make", "start-node"]
ports:
- containerPort: 12001
name: port-12001
hostPort: 12001
protocol: UDP
- containerPort: 13001
name: port-13001
hostPort: 13001
- containerPort: 15001
name: port-15001
hostPort: 15001
- containerPort: 16001
name: port-16001
hostPort: 16001
env:
- name: SHARE_CONFIG
value: "./data/share.yaml"
- name: CONFIG_PATH
valueFrom:
secretKeyRef:
name: config-secrets
key: config_path
- name: ABI_VERSION
valueFrom:
secretKeyRef:
name: config-secrets
key: abi_version
optional: true
- name: LOG_LEVEL
value: "debug"
- name: DEBUG_SERVICES
value: "ssv/*."
- name: DISCOVERY_TYPE_KEY
value: "discv5"
- name: CONSENSUS_TYPE
value: "validation"
- name: HOST_DNS
value: ""
- name: HOST_ADDRESS
value: ""
- name: DB_PATH
value: "./data/db-holesky-stage"
- name: NETWORK
value: "holesky-stage"
- name: DB_REPORTING
value: "false"
- name: METRICS_API_PORT
value: "15001"
- name: SSV_API_PORT
value: "16001"
- name: ENABLE_PROFILE
value: "true"
- name: DISCOVERY_TRACE
value: 'false'
- name: PUBSUB_TRACE
value: 'false'
- name: BUILDER_PROPOSALS
value: "true"
volumeMounts:
- mountPath: /data
name: ssv-node-1
- mountPath: /data/share.yaml
subPath: share.yaml
name: ssv-node-1-cm
- name: ssv-node-1
image: REPLACE_DOCKER_REPO:REPLACE_IMAGETAG
#image: mosheblox/ssv-preview:stage
imagePullPolicy: Always
resources:
limits:
cpu: REPLACE_NODES_CPU_LIMIT
memory: REPLACE_NODES_MEM_LIMIT
command: ["make", "start-node"]
ports:
- containerPort: 12001
name: port-12001
hostPort: 12001
protocol: UDP
- containerPort: 13001
name: port-13001
hostPort: 13001
- containerPort: 15001
name: port-15001
hostPort: 15001
- containerPort: 16001
name: port-16001
hostPort: 16001
env:
- name: SHARE_CONFIG
value: "./data/share.yaml"
- name: CONFIG_PATH
valueFrom:
secretKeyRef:
name: config-secrets
key: config_path
- name: ABI_VERSION
valueFrom:
secretKeyRef:
name: config-secrets
key: abi_version
optional: true
- name: LOG_LEVEL
value: "debug"
- name: DEBUG_SERVICES
value: "ssv/*."
- name: DISCOVERY_TYPE_KEY
value: "discv5"
- name: CONSENSUS_TYPE
value: "validation"
- name: HOST_DNS
value: ""
- name: HOST_ADDRESS
value: ""
- name: DB_PATH
value: "./data/db-holesky-stage"
- name: NETWORK
value: "holesky-stage"
- name: DB_REPORTING
value: "false"
- name: METRICS_API_PORT
value: "15001"
- name: SSV_API_PORT
value: "16001"
- name: ENABLE_PROFILE
value: "true"
- name: DISCOVERY_TRACE
value: 'false'
- name: PUBSUB_TRACE
value: 'false'
- name: BUILDER_PROPOSALS
value: "true"
volumeMounts:
- mountPath: /data
name: ssv-node-1
- mountPath: /data/share.yaml
subPath: share.yaml
name: ssv-node-1-cm
imagePullSecrets:
- name: ecr-repo
volumes:
- name: ssv-node-1
persistentVolumeClaim:
claimName: ssv-node-1
- name: ssv-node-1-cm
configMap:
name: ssv-node-1-cm
- name: ssv-node-1
persistentVolumeClaim:
claimName: ssv-node-1
- name: ssv-node-1-cm
configMap:
name: ssv-node-1-cm
hostNetwork: true
Loading

0 comments on commit d469dec

Please sign in to comment.