From 5c9aa495431329582d45e518f1bd41bb7d655c63 Mon Sep 17 00:00:00 2001 From: spypsy Date: Fri, 20 Dec 2024 18:05:21 +0000 Subject: [PATCH 1/2] fix: small fixes for sepolia deployments --- .../sepolia-48-validators-with-metrics.yaml | 76 +++++++++++++++++++ spartan/terraform/deploy-release/main.tf | 12 +-- 2 files changed, 82 insertions(+), 6 deletions(-) create mode 100644 spartan/aztec-network/values/sepolia-48-validators-with-metrics.yaml diff --git a/spartan/aztec-network/values/sepolia-48-validators-with-metrics.yaml b/spartan/aztec-network/values/sepolia-48-validators-with-metrics.yaml new file mode 100644 index 000000000000..9e944e701fb6 --- /dev/null +++ b/spartan/aztec-network/values/sepolia-48-validators-with-metrics.yaml @@ -0,0 +1,76 @@ +telemetry: + enabled: true + otelCollectorEndpoint: http://metrics-opentelemetry-collector.metrics:4318 + +network: + setupL2Contracts: false + public: false + +ethereum: + externalHost: + chainId: "11155111" + deployL1ContractsPrivateKey: + +validator: + replicas: 48 + validatorKeys: + validatorAddresses: + - 0xcD92B30FeFbD2752fF80dD1d152347B1C0b80555 + - 0x3eb04876AEaC0ecB2095D5be5FCE965BE114f6Ea + - 0x69746Fc304C08331C5B3F0E4A8Be82Bbe9079de7 + - 0x11eCa503d1A4C89EA801B5428690844378FF8EDb + - 0x690944149F6090F8B8131d21B7C9243f44953dA3 + - 0x9991124C826d4b469544A326B8e93C7ea6291Df6 + - 0x790a1ACe055c42Ef0aDd7C94b0605e68F4F7ac32 + - 0x3bb53E1A35768B250185d9a1E3A220dfcFD21959 + - 0x1a42bfAF536DD0931AbDb6C7b5d6a2e795849111 + - 0x0b69F2c3b1DCe6974c860655C1B1A0bE209F0EEe + - 0x15dC3B5b63B2846Caf36631b4cc89EC2133484A3 + - 0xEb81BB1891ad6bDB88Bd870703e8E8ca809bF76e + - 0xe484C194039a2D1334F9f701e6AeEAdb2b1009F8 + - 0xC1f9e958888FcfB74C0f72FF4fcA8525a2FD7577 + - 0x27A99682eF70cE26CBe981B2E0BEA2f608bfD44D + - 0xb010Fb11B64Ad756721884d84E66dF0Aa96F1f5f + - 0xC5E960E795284a7AF2F1b5ED3acb17cE51143342 + - 0x44C08d1b44C5D099ecCB626297541E9214aED279 + - 0x78117dD80E4e54EFFd9546Dce1719fB5df30a0A1 + - 0x941d42B68BE5B50f32b24e39c7C48A07Cda37f34 + - 0xAbE28C0BA704111b03903BCBC92c486CE457eC3C + - 0xb0F15e42B0b234070C222B02e173b1e1263E9Bad + - 0xbEaB732a958301EF542DD465DFfcaaa7DA0D64cA + - 0x56C4277eACF43a4a19dEafa2617776f88566C9A8 + - 0xfCaEA5838C6C5a90DA0DE920a122998D7F72e049 + - 0xB204ed1f6cD2E7609421477DA004Aad34eD44aa2 + - 0x5e6a2e947b506f0E06E94b5C421097564c1bf7B1 + - 0x4f321D1922ECDAc05F137E6E9cD2b2873D02b13C + - 0x7964e6211fC121Fb4577d25729724aD97AfD6349 + - 0x3Bf8F13D4D2d218B25C91F3C5d983c3cd25c686D + - 0xb310E13232e3a85b19123adA4E0762B3dC50B4E6 + - 0x8C0B299a706beB7FCE32F820A40f558451534880 + - 0xF88c298c08A46d235d688Eb9CFEA7A1B704842bC + - 0xe2a2ff6cA23AeCD58Aa5c2E5bEA89c2142Ce20cc + - 0x47D8383296B3Db67726fFb4dbDE21a15A17f5084 + - 0xdE5e20DCB0781072341294f8bEfd3811E043f5Ca + - 0x686aC93A652194D6F7f3CF996C61B72cab1A3B4e + - 0x719b0E230E9c9F42C6485cc4DF0347318ced8daa + - 0x829CC1ad52d6c09e9F2249B69C42B99180FC8c17 + - 0xEf051f942CAE84d86c8DED6f45632547E4f6b945 + - 0x54D1aDec93f2EbA4fb90Bb140b56bd822c867e7D + - 0x879B29Bcef645E778136A2Ab727dc1691c089DE7 + - 0x88f7C34641378E6e82F3e949c067589A0B38eacd + - 0x96C668DE46451ECD4F8C8FB16D342EC679f6E87f + - 0x981f78212b18671aA5A449d482001EDC1e00303D + - 0x6BE5a2c8250A2c8342E96a365957933DEbe22ca0 + validator: + disabled: false + +bootNode: + seqPublisherPrivateKey: + validator: + disabled: true + +proverNode: + proverPublisherPrivateKey: + +bot: + txIntervalSeconds: 20 \ No newline at end of file diff --git a/spartan/terraform/deploy-release/main.tf b/spartan/terraform/deploy-release/main.tf index 3972a6904894..26f790d8041b 100644 --- a/spartan/terraform/deploy-release/main.tf +++ b/spartan/terraform/deploy-release/main.tf @@ -48,7 +48,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.L1_DEPLOYMENT_MNEMONIC != "" ? toset(["iterate"]) : toset([]) + for_each = var.L1_DEPLOYMENT_MNEMONIC != null && var.L1_DEPLOYMENT_MNEMONIC != "" ? { "mnemonic" = true } : {} content { name = "aztec.l1DeploymentMnemonic" value = var.L1_DEPLOYMENT_MNEMONIC @@ -56,7 +56,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.L1_DEPLOYMENT_PRIVATE_KEY != "" ? toset(["iterate"]) : toset([]) + for_each = var.L1_DEPLOYMENT_PRIVATE_KEY != null && var.L1_DEPLOYMENT_PRIVATE_KEY != "" ? { "private_key" = true } : {} content { name = "ethereum.deployL1ContractsPrivateKey" value = var.L1_DEPLOYMENT_PRIVATE_KEY @@ -64,7 +64,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.BOOT_NODE_SEQ_PUBLISHER_PRIVATE_KEY != "" ? toset(["iterate"]) : toset([]) + for_each = var.BOOT_NODE_SEQ_PUBLISHER_PRIVATE_KEY != null && var.BOOT_NODE_SEQ_PUBLISHER_PRIVATE_KEY != "" ? { "boot_node_seq_key" = true } : {} content { name = "bootNode.seqPublisherPrivateKey" value = var.BOOT_NODE_SEQ_PUBLISHER_PRIVATE_KEY @@ -72,7 +72,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.PROVER_PUBLISHER_PRIVATE_KEY != "" ? toset(["iterate"]) : toset([]) + for_each = var.PROVER_PUBLISHER_PRIVATE_KEY != null && var.PROVER_PUBLISHER_PRIVATE_KEY != "" ? { "prover_key" = true } : {} content { name = "proverNode.proverPublisherPrivateKey" value = var.PROVER_PUBLISHER_PRIVATE_KEY @@ -80,7 +80,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set_list" { - for_each = length(try(var.VALIDATOR_KEYS, [])) > 0 ? toset(["iterate"]) : toset([]) + for_each = length(try(var.VALIDATOR_KEYS, [])) > 0 ? { "validator_keys" = true } : {} content { name = "validator.validatorKeys" value = var.VALIDATOR_KEYS @@ -88,7 +88,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.ETHEREUM_EXTERNAL_HOST != "" ? toset(["iterate"]) : toset([]) + for_each = var.ETHEREUM_EXTERNAL_HOST != null && var.ETHEREUM_EXTERNAL_HOST != "" ? { "external_host" = true } : {} content { name = "ethereum.externalHost" value = var.ETHEREUM_EXTERNAL_HOST From 2b6fc827d115419db45106b0ccc0d45d54244550 Mon Sep 17 00:00:00 2001 From: spypsy Date: Mon, 23 Dec 2024 11:52:46 +0000 Subject: [PATCH 2/2] sepolia_deployment as string, skip deployer on external network --- .github/workflows/devnet-deploy.yml | 5 +++++ .github/workflows/network-deploy.yml | 12 ++++++------ spartan/aztec-network/templates/boot-node.yaml | 4 +++- spartan/terraform/deploy-release/main.tf | 12 ++++++------ 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.github/workflows/devnet-deploy.yml b/.github/workflows/devnet-deploy.yml index 756ba9fde4e3..73e70ae5e1ad 100644 --- a/.github/workflows/devnet-deploy.yml +++ b/.github/workflows/devnet-deploy.yml @@ -22,6 +22,10 @@ on: description: Whether to respect the Terraform lock required: false default: "true" + sepolia_deployment: + description: Whether to deploy to Sepolia + required: false + default: "false" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -47,6 +51,7 @@ jobs: deployment_salt: ${{ github.event.inputs.deployment_salt }} respect_tf_lock: ${{ github.event.inputs.respect_tf_lock }} run_terraform_destroy: "true" + sepolia_deployment: ${{ github.event.inputs.sepolia_deployment }} secrets: GCP_SA_KEY: ${{ secrets.GCP_SA_KEY }} diff --git a/.github/workflows/network-deploy.yml b/.github/workflows/network-deploy.yml index 5a7e655da50f..77f92c07841d 100644 --- a/.github/workflows/network-deploy.yml +++ b/.github/workflows/network-deploy.yml @@ -43,8 +43,8 @@ on: sepolia_deployment: description: "Whether to deploy on Sepolia network (default: false)" required: false - type: boolean - default: false + type: string + default: "false" secrets: GCP_SA_KEY: required: true @@ -84,8 +84,8 @@ on: sepolia_deployment: description: "Whether to deploy on Sepolia network (default: false)" required: false - type: boolean - default: false + type: string + default: "false" jobs: network_deployment: @@ -164,7 +164,7 @@ jobs: # Destroy fails if the resources are already destroyed, so we continue on error continue-on-error: true run: | - if ${{ inputs.sepolia_deployment }}; then + if ${{ inputs.sepolia_deployment == 'true' }}; then terraform destroy -auto-approve \ -var="RELEASE_NAME=${{ env.NAMESPACE }}" \ -var="VALUES_FILE=${{ env.VALUES_FILE }}" \ @@ -189,7 +189,7 @@ jobs: - name: Terraform Plan working-directory: ./spartan/terraform/deploy-release run: | - if ${{ inputs.sepolia_deployment }}; then + if ${{ inputs.sepolia_deployment == 'true' }}; then terraform plan \ -var="RELEASE_NAME=${{ env.NAMESPACE }}" \ -var="VALUES_FILE=${{ env.VALUES_FILE }}" \ diff --git a/spartan/aztec-network/templates/boot-node.yaml b/spartan/aztec-network/templates/boot-node.yaml index 98a907624e63..aeb3e92115c6 100644 --- a/spartan/aztec-network/templates/boot-node.yaml +++ b/spartan/aztec-network/templates/boot-node.yaml @@ -61,7 +61,8 @@ spec: - name: config mountPath: /shared/config {{- if .Values.bootNode.deployContracts }} - - name: deploy-create2-delpoyer + {{- if not .Values.ethereum.externalHost }} + - name: deploy-create2-deployer image: {{ .Values.images.foundry.image }} command: - /bin/sh @@ -72,6 +73,7 @@ spec: volumeMounts: - name: config mountPath: /shared/config + {{- end }} - name: deploy-l1-contracts {{- include "aztec-network.image" . | nindent 10 }} command: diff --git a/spartan/terraform/deploy-release/main.tf b/spartan/terraform/deploy-release/main.tf index 26f790d8041b..3972a6904894 100644 --- a/spartan/terraform/deploy-release/main.tf +++ b/spartan/terraform/deploy-release/main.tf @@ -48,7 +48,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.L1_DEPLOYMENT_MNEMONIC != null && var.L1_DEPLOYMENT_MNEMONIC != "" ? { "mnemonic" = true } : {} + for_each = var.L1_DEPLOYMENT_MNEMONIC != "" ? toset(["iterate"]) : toset([]) content { name = "aztec.l1DeploymentMnemonic" value = var.L1_DEPLOYMENT_MNEMONIC @@ -56,7 +56,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.L1_DEPLOYMENT_PRIVATE_KEY != null && var.L1_DEPLOYMENT_PRIVATE_KEY != "" ? { "private_key" = true } : {} + for_each = var.L1_DEPLOYMENT_PRIVATE_KEY != "" ? toset(["iterate"]) : toset([]) content { name = "ethereum.deployL1ContractsPrivateKey" value = var.L1_DEPLOYMENT_PRIVATE_KEY @@ -64,7 +64,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.BOOT_NODE_SEQ_PUBLISHER_PRIVATE_KEY != null && var.BOOT_NODE_SEQ_PUBLISHER_PRIVATE_KEY != "" ? { "boot_node_seq_key" = true } : {} + for_each = var.BOOT_NODE_SEQ_PUBLISHER_PRIVATE_KEY != "" ? toset(["iterate"]) : toset([]) content { name = "bootNode.seqPublisherPrivateKey" value = var.BOOT_NODE_SEQ_PUBLISHER_PRIVATE_KEY @@ -72,7 +72,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.PROVER_PUBLISHER_PRIVATE_KEY != null && var.PROVER_PUBLISHER_PRIVATE_KEY != "" ? { "prover_key" = true } : {} + for_each = var.PROVER_PUBLISHER_PRIVATE_KEY != "" ? toset(["iterate"]) : toset([]) content { name = "proverNode.proverPublisherPrivateKey" value = var.PROVER_PUBLISHER_PRIVATE_KEY @@ -80,7 +80,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set_list" { - for_each = length(try(var.VALIDATOR_KEYS, [])) > 0 ? { "validator_keys" = true } : {} + for_each = length(try(var.VALIDATOR_KEYS, [])) > 0 ? toset(["iterate"]) : toset([]) content { name = "validator.validatorKeys" value = var.VALIDATOR_KEYS @@ -88,7 +88,7 @@ resource "helm_release" "aztec-gke-cluster" { } dynamic "set" { - for_each = var.ETHEREUM_EXTERNAL_HOST != null && var.ETHEREUM_EXTERNAL_HOST != "" ? { "external_host" = true } : {} + for_each = var.ETHEREUM_EXTERNAL_HOST != "" ? toset(["iterate"]) : toset([]) content { name = "ethereum.externalHost" value = var.ETHEREUM_EXTERNAL_HOST