Skip to content

Commit cea8238

Browse files
authored
chore: update staging deployment (#17096)
This is a combination of commits that bring next in line with v2 #17070 #17071 #17019 #17080
2 parents c027750 + 5a93656 commit cea8238

File tree

5 files changed

+103
-50
lines changed

5 files changed

+103
-50
lines changed

.github/workflows/deploy-staging-networks.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ jobs:
115115
ETHERSCAN_API_KEY=${{ secrets.ETHERSCAN_API_KEY }}
116116
DEPLOY_INTERNAL_BOOTNODE=false
117117
STORE_SNAPSHOT_URL="${{ secrets.GCS_TESTNET_SNAPSHOT_URL }}/staging-public/"
118+
PROVER_FAILED_PROOF_STORE=gs://aztec-develop/staging-public/failed-proofs
118119
119120
BOT_TRANSFERS_REPLICAS=1
120121
BOT_TRANSFERS_TX_INTERVAL_SECONDS=250

spartan/aztec-bot/values.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ bot:
5959

6060
hostNetwork: true
6161

62+
# give the bot 5 minutes to start
63+
startupProbe:
64+
periodSeconds: 30
65+
failureThreshold: 10
66+
6267
service:
6368
p2p:
6469
enabled: false

spartan/scripts/deploy_network.sh

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,14 @@ VALIDATOR_PUBLISHER_MNEMONIC_START_INDEX=${VALIDATOR_PUBLISHER_MNEMONIC_START_IN
6565
PUBLISHERS_PER_VALIDATOR_KEY=${PUBLISHERS_PER_VALIDATOR_KEY:-2}
6666
PROVER_REAL_PROOFS=${REAL_VERIFIER:-true}
6767
STORE_SNAPSHOT_URL=${STORE_SNAPSHOT_URL:-null}
68+
PROVER_FAILED_PROOF_STORE=${PROVER_FAILED_PROOF_STORE:-}
6869

6970
OTEL_COLLECTOR_ENDPOINT=${OTEL_COLLECTOR_ENDPOINT:-}
7071
DEPLOY_INTERNAL_BOOTNODE=${DEPLOY_INTERNAL_BOOTNODE:-}
7172

7273
BOT_RESOURCE_PROFILE=${BOT_RESOURCE_PROFILE:-${RESOURCE_PROFILE}}
74+
BOT_TRANSFERS_MNEMONIC_START_INDEX=${BOT_TRANSFERS_MNEMONIC_START_INDEX:-5001}
75+
BOT_SWAPS_MNEMONIC_START_INDEX=${BOT_SWAPS_MNEMONIC_START_INDEX:-6001}
7376
BOT_TRANSFERS_REPLICAS=${BOT_TRANSFERS_REPLICAS:-0}
7477
BOT_SWAPS_REPLICAS=${BOT_SWAPS_REPLICAS:-0}
7578
BOT_TRANSFERS_TX_INTERVAL_SECONDS=${BOT_TRANSFERS_TX_INTERVAL_SECONDS:-60}
@@ -306,22 +309,25 @@ PROVER_REAL_PROOFS = ${PROVER_REAL_PROOFS}
306309
TRANSACTIONS_DISABLED = ${TRANSACTIONS_DISABLED:-null}
307310
NETWORK = "${NETWORK:-null}"
308311
STORE_SNAPSHOT_URL = "${STORE_SNAPSHOT_URL}"
309-
310-
# Bot settings
311312
BOT_RESOURCE_PROFILE = "${BOT_RESOURCE_PROFILE}"
313+
BOT_MNEMONIC = "${LABS_INFRA_MNEMONIC}"
314+
BOT_TRANSFERS_MNEMONIC_START_INDEX = ${BOT_TRANSFERS_MNEMONIC_START_INDEX}
312315
BOT_TRANSFERS_REPLICAS = ${BOT_TRANSFERS_REPLICAS}
313316
BOT_TRANSFERS_TX_INTERVAL_SECONDS = ${BOT_TRANSFERS_TX_INTERVAL_SECONDS}
314317
BOT_TRANSFERS_FOLLOW_CHAIN = "${BOT_TRANSFERS_FOLLOW_CHAIN}"
318+
BOT_SWAPS_MNEMONIC_START_INDEX = ${BOT_SWAPS_MNEMONIC_START_INDEX}
315319
BOT_SWAPS_REPLICAS = ${BOT_SWAPS_REPLICAS}
316320
BOT_SWAPS_TX_INTERVAL_SECONDS = ${BOT_SWAPS_TX_INTERVAL_SECONDS}
317321
BOT_SWAPS_FOLLOW_CHAIN = "${BOT_SWAPS_FOLLOW_CHAIN}"
318-
BOT_TRANSFERS_PRIVATE_KEY = "${BOT_TRANSFERS_PRIVATE_KEY:-0xcafe01}"
319-
BOT_SWAPS_PRIVATE_KEY = "${BOT_SWAPS_PRIVATE_KEY:-0xcafe02}"
322+
BOT_TRANSFERS_L2_PRIVATE_KEY = "${BOT_TRANSFERS_L2_PRIVATE_KEY:-0xcafe01}"
323+
BOT_SWAPS_L2_PRIVATE_KEY = "${BOT_SWAPS_L2_PRIVATE_KEY:-0xcafe02}"
320324
321325
RPC_INGRESS_ENABLED = ${RPC_INGRESS_ENABLED}
322326
RPC_INGRESS_HOST = "${RPC_INGRESS_HOST}"
323327
RPC_INGRESS_STATIC_IP_NAME = "${RPC_INGRESS_STATIC_IP_NAME}"
324328
RPC_INGRESS_SSL_CERT_NAME = "${RPC_INGRESS_SSL_CERT_NAME}"
329+
330+
PROVER_FAILED_PROOF_STORE = "${PROVER_FAILED_PROOF_STORE}"
325331
EOF
326332

327333
tf_run "${DEPLOY_AZTEC_INFRA_DIR}" "${DESTROY_AZTEC_INFRA}" "${CREATE_AZTEC_INFRA}"

spartan/terraform/deploy-aztec-infra/main.tf

Lines changed: 53 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -163,15 +163,16 @@ locals {
163163
"prover-resources-${var.PROVER_RESOURCE_PROFILE}.yaml"
164164
]
165165
custom_settings = {
166-
"node.mnemonic" = var.PROVER_MNEMONIC
167-
"node.mnemonicStartIndex" = var.PROVER_MNEMONIC_START_INDEX
168-
"node.node.proverRealProofs" = var.PROVER_REAL_PROOFS
169-
"node.web3signerUrl" = "http://${var.RELEASE_PREFIX}-signer-web3signer.${var.NAMESPACE}.svc.cluster.local:9000/"
170-
"node.node.env.NETWORK" = var.NETWORK
171-
"broker.node.proverRealProofs" = var.PROVER_REAL_PROOFS
172-
"broker.node.env.NETWORK" = var.NETWORK
173-
"agent.node.proverRealProofs" = var.PROVER_REAL_PROOFS
174-
"agent.node.env.NETWORK" = var.NETWORK
166+
"node.mnemonic" = var.PROVER_MNEMONIC
167+
"node.mnemonicStartIndex" = var.PROVER_MNEMONIC_START_INDEX
168+
"node.node.proverRealProofs" = var.PROVER_REAL_PROOFS
169+
"node.web3signerUrl" = "http://${var.RELEASE_PREFIX}-signer-web3signer.${var.NAMESPACE}.svc.cluster.local:9000/"
170+
"node.node.env.NETWORK" = var.NETWORK
171+
"node.node.env.PROVER_FAILED_PROOF_STORE" = var.PROVER_FAILED_PROOF_STORE
172+
"broker.node.proverRealProofs" = var.PROVER_REAL_PROOFS
173+
"broker.node.env.NETWORK" = var.NETWORK
174+
"agent.node.proverRealProofs" = var.PROVER_REAL_PROOFS
175+
"agent.node.env.NETWORK" = var.NETWORK
175176
}
176177
boot_node_host_path = "node.node.env.BOOT_NODE_HOST"
177178
bootstrap_nodes_path = "node.node.env.BOOTSTRAP_NODES"
@@ -185,21 +186,31 @@ locals {
185186
"rpc.yaml",
186187
"rpc-resources-${var.RPC_RESOURCE_PROFILE}.yaml"
187188
]
188-
custom_settings = merge(
189-
{
190-
"nodeType" = "rpc"
191-
"node.env.NETWORK" = var.NETWORK
192-
"ingress.rpc.enabled" = var.RPC_INGRESS_ENABLED
193-
"ingress.rpc.host" = var.RPC_INGRESS_HOST
194-
},
195-
var.RPC_INGRESS_ENABLED ? {
196-
"service.rpc.annotations.cloud\\.google\\.com/neg" = "{\"ingress\": true}"
197-
"ingress.rpc.annotations.kubernetes\\.io/ingress\\.class" = "gce"
198-
"ingress.rpc.annotations.kubernetes\\.io/ingress\\.global-static-ip-name" = var.RPC_INGRESS_STATIC_IP_NAME
199-
"ingress.rpc.annotations.ingress\\.gcp\\.kubernetes\\.io/pre-shared-cert" = var.RPC_INGRESS_SSL_CERT_NAME
200-
"ingress.rpc.annotations.kubernetes\\.io/ingress\\.allow-http" = "false"
201-
} : {}
202-
)
189+
inline_values = var.RPC_INGRESS_ENABLED ? [yamlencode({
190+
service = {
191+
rpc = {
192+
annotations = {
193+
"cloud.google.com/neg" = "{\"ingress\": true}"
194+
}
195+
}
196+
}
197+
ingress = {
198+
rpc = {
199+
annotations = {
200+
"kubernetes.io/ingress.class" = "gce"
201+
"kubernetes.io/ingress.global-static-ip-name" = var.RPC_INGRESS_STATIC_IP_NAME
202+
"ingress.gcp.kubernetes.io/pre-shared-cert" = var.RPC_INGRESS_SSL_CERT_NAME
203+
"kubernetes.io/ingress.allow-http" = "false"
204+
}
205+
}
206+
}
207+
})] : []
208+
custom_settings = {
209+
"nodeType" = "rpc"
210+
"node.env.NETWORK" = var.NETWORK
211+
"ingress.rpc.enabled" = var.RPC_INGRESS_ENABLED
212+
"ingress.rpc.host" = var.RPC_INGRESS_HOST
213+
}
203214
boot_node_host_path = "node.env.BOOT_NODE_HOST"
204215
bootstrap_nodes_path = "node.env.BOOTSTRAP_NODES"
205216
}
@@ -214,11 +225,13 @@ locals {
214225
"bot-resources-${var.BOT_RESOURCE_PROFILE}.yaml",
215226
]
216227
custom_settings = {
217-
"bot.replicaCount" = var.BOT_TRANSFERS_REPLICAS
218-
"bot.txIntervalSeconds" = var.BOT_TRANSFERS_TX_INTERVAL_SECONDS
219-
"bot.followChain" = var.BOT_TRANSFERS_FOLLOW_CHAIN
220-
"bot.botPrivateKey" = var.BOT_TRANSFERS_PRIVATE_KEY
221-
"bot.nodeUrl" = local.internal_rpc_url
228+
"bot.replicaCount" = var.BOT_TRANSFERS_REPLICAS
229+
"bot.txIntervalSeconds" = var.BOT_TRANSFERS_TX_INTERVAL_SECONDS
230+
"bot.followChain" = var.BOT_TRANSFERS_FOLLOW_CHAIN
231+
"bot.botPrivateKey" = var.BOT_TRANSFERS_L2_PRIVATE_KEY
232+
"bot.nodeUrl" = local.internal_rpc_url
233+
"bot.mnemonic" = var.BOT_MNEMONIC
234+
"bot.mnemonicStartIndex" = var.BOT_TRANSFERS_MNEMONIC_START_INDEX
222235
}
223236
boot_node_host_path = ""
224237
bootstrap_nodes_path = ""
@@ -234,11 +247,13 @@ locals {
234247
"bot-resources-${var.BOT_RESOURCE_PROFILE}.yaml",
235248
]
236249
custom_settings = {
237-
"bot.replicaCount" = var.BOT_SWAPS_REPLICAS
238-
"bot.txIntervalSeconds" = var.BOT_SWAPS_TX_INTERVAL_SECONDS
239-
"bot.followChain" = var.BOT_SWAPS_FOLLOW_CHAIN
240-
"bot.botPrivateKey" = var.BOT_SWAPS_PRIVATE_KEY
241-
"bot.nodeUrl" = local.internal_rpc_url
250+
"bot.replicaCount" = var.BOT_SWAPS_REPLICAS
251+
"bot.txIntervalSeconds" = var.BOT_SWAPS_TX_INTERVAL_SECONDS
252+
"bot.followChain" = var.BOT_SWAPS_FOLLOW_CHAIN
253+
"bot.botPrivateKey" = var.BOT_SWAPS_L2_PRIVATE_KEY
254+
"bot.nodeUrl" = local.internal_rpc_url
255+
"bot.mnemonic" = var.BOT_MNEMONIC
256+
"bot.mnemonicStartIndex" = var.BOT_SWAPS_MNEMONIC_START_INDEX
242257
}
243258
boot_node_host_path = ""
244259
bootstrap_nodes_path = ""
@@ -264,7 +279,10 @@ resource "helm_release" "releases" {
264279
wait = true
265280
wait_for_jobs = true
266281

267-
values = [for v in each.value.values : file("./values/${v}")]
282+
values = concat(
283+
[for v in each.value.values : file("./values/${v}")],
284+
lookup(each.value, "inline_values", [])
285+
)
268286

269287
# Common settings
270288
dynamic "set" {

spartan/terraform/deploy-aztec-infra/variables.tf

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,18 @@ variable "SNAPSHOT_CRON" {
320320
default = "0 */12 * * *"
321321
}
322322

323-
# Bot configuration
323+
variable "BOT_MNEMONIC" {
324+
description = "The bot mnemonic"
325+
type = string
326+
default = "test test test test test test test test test test test junk"
327+
}
328+
329+
variable "BOT_TRANSFERS_MNEMONIC_START_INDEX" {
330+
description = "The prover mnemonic start index"
331+
type = string
332+
default = ""
333+
}
334+
324335
variable "BOT_TRANSFERS_REPLICAS" {
325336
description = "Number of transfer bot replicas to deploy (0 to disable)"
326337
type = number
@@ -336,7 +347,19 @@ variable "BOT_TRANSFERS_TX_INTERVAL_SECONDS" {
336347
variable "BOT_TRANSFERS_FOLLOW_CHAIN" {
337348
description = "Transfers bot follow-chain mode (e.g., NONE)"
338349
type = string
339-
default = "NONE"
350+
default = "PENDING"
351+
}
352+
353+
variable "BOT_TRANSFERS_L2_PRIVATE_KEY" {
354+
description = "Private key for the transfers bot (hex string starting with 0x)"
355+
nullable = true
356+
default = null
357+
}
358+
359+
variable "BOT_SWAPS_MNEMONIC_START_INDEX" {
360+
description = "The prover mnemonic start index"
361+
type = string
362+
default = ""
340363
}
341364

342365
variable "BOT_SWAPS_REPLICAS" {
@@ -357,18 +380,11 @@ variable "BOT_SWAPS_FOLLOW_CHAIN" {
357380
default = "PENDING"
358381
}
359382

360-
variable "BOT_TRANSFERS_PRIVATE_KEY" {
361-
description = "Private key for the transfers bot (hex string starting with 0x)"
362-
type = string
363-
default = null
364-
nullable = true
365-
}
366-
367-
variable "BOT_SWAPS_PRIVATE_KEY" {
383+
variable "BOT_SWAPS_L2_PRIVATE_KEY" {
368384
description = "Private key for the AMM swaps bot (hex string starting with 0x)"
369385
type = string
370-
default = null
371386
nullable = true
387+
default = null
372388
}
373389

374390
# RPC ingress configuration (GKE-specific)
@@ -395,3 +411,10 @@ variable "RPC_INGRESS_SSL_CERT_NAME" {
395411
type = string
396412
default = ""
397413
}
414+
415+
variable "PROVER_FAILED_PROOF_STORE" {
416+
description = "Optional GCS/URI to store failed proofs from the prover"
417+
type = string
418+
nullable = false
419+
default = ""
420+
}

0 commit comments

Comments
 (0)