Commit b9382028 authored by Yann Hodique's avatar Yann Hodique Committed by GitHub

feat(kurtosis-devnet): make sprig functions available (#13655)

Make use of the dict capabilities to simplify some variables management.

Also put the local function calls on top, to deduplicate them, making
sure we don't even attempt to rebuild the same artifacts.
parent 358a343a
......@@ -19,6 +19,7 @@ require (
github.com/ethereum/go-ethereum v1.14.12
github.com/fatih/color v1.18.0
github.com/fsnotify/fsnotify v1.8.0
github.com/go-task/slim-sprig/v3 v3.0.0
github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb
github.com/google/go-cmp v0.6.0
github.com/google/gofuzz v1.2.1-0.20220503160820-4a35382e8fc8
......@@ -107,7 +108,6 @@ require (
github.com/go-ini/ini v1.67.0 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
github.com/go-yaml/yaml v2.1.0+incompatible // indirect
github.com/goccy/go-json v0.10.3 // indirect
github.com/godbus/dbus/v5 v5.1.0 // indirect
......
{{- $local_images := dict
"op_node" (localDockerImage "op-node")
"op_batcher" (localDockerImage "op-batcher")
"op_challenger" (localDockerImage "op-challenger")
"op_proposer" (localDockerImage "op-proposer")
"op_deployer" (localDockerImage "op-deployer")
"op_supervisor" (localDockerImage "op-supervisor")
-}}
{{ $urls := dict
"prestate" (localPrestate)
"l1_artifacts" (localContractArtifacts "l1")
"l2_artifacts" (localContractArtifacts "l2")
-}}
---
optimism_package:
interop:
enabled: true
supervisor_params:
image: {{ localDockerImage "op-supervisor" }}
image: {{ $local_images.op_supervisor }}
dependency_set: |
{
"dependencies": {
......@@ -34,7 +48,7 @@ optimism_package:
el_min_mem: 0
el_max_mem: 0
cl_type: op-node
cl_image: {{ localDockerImage "op-node" }}
cl_image: {{ $local_images.op_node }}
cl_log_level: ""
cl_extra_env_vars: {}
cl_extra_labels: {}
......@@ -59,15 +73,15 @@ optimism_package:
interop_time_offset: 0
fund_dev_accounts: true
batcher_params:
image: {{ localDockerImage "op-batcher" }}
image: {{ $local_images.op_batcher }}
extra_params: []
challenger_params:
image: {{ localDockerImage "op-challenger" }}
image: {{ $local_images.op_challenger }}
cannon_prestate_path: ""
cannon_prestates_url: {{ localPrestate }}
cannon_prestates_url: {{ $urls.prestate }}
extra_params: []
proposer_params:
image: {{ localDockerImage "op-proposer" }}
image: {{ $local_images.op_proposer }}
extra_params: []
game_type: 1
proposal_interval: 10m
......@@ -90,7 +104,7 @@ optimism_package:
el_min_mem: 0
el_max_mem: 0
cl_type: op-node
cl_image: {{ localDockerImage "op-node" }}
cl_image: {{ $local_images.op_node }}
cl_log_level: ""
cl_extra_env_vars: {}
cl_extra_labels: {}
......@@ -115,15 +129,15 @@ optimism_package:
interop_time_offset: 0
fund_dev_accounts: true
batcher_params:
image: {{ localDockerImage "op-batcher" }}
image: {{ $local_images.op_batcher }}
extra_params: []
challenger_params:
image: {{ localDockerImage "op-challenger" }}
image: {{ $local_images.op_challenger }}
cannon_prestate_path: ""
cannon_prestates_url: {{ localPrestate }}
cannon_prestates_url: {{ $urls.prestate }}
extra_params: []
proposer_params:
image: {{ localDockerImage "op-proposer" }}
image: {{ $local_images.op_proposer }}
extra_params: []
game_type: 1
proposal_interval: 10m
......@@ -133,9 +147,9 @@ optimism_package:
builder_port: ""
additional_services: []
op_contract_deployer_params:
image: {{ localDockerImage "op-deployer" }}
l1_artifacts_locator: {{ localContractArtifacts "l1" }}
l2_artifacts_locator: {{ localContractArtifacts "l2" }}
image: {{ $local_images.op_deployer }}
l1_artifacts_locator: {{ $urls.l1_artifacts }}
l2_artifacts_locator: {{ $urls.l2_artifacts }}
global_log_level: "info"
global_node_selectors: {}
global_tolerations: []
......
......@@ -4,6 +4,8 @@ import (
"fmt"
"io"
"text/template"
sprig "github.com/go-task/slim-sprig/v3"
)
// TemplateFunc represents a function that can be used in templates
......@@ -59,6 +61,7 @@ func (ctx *TemplateContext) InstantiateTemplate(reader io.Reader, writer io.Writ
// Create template with helper functions and option to error on missing fields
tmpl := template.New("template").
Funcs(sprig.TxtFuncMap()).
Funcs(funcMap).
Option("missingkey=error")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment