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 ( ...@@ -19,6 +19,7 @@ require (
github.com/ethereum/go-ethereum v1.14.12 github.com/ethereum/go-ethereum v1.14.12
github.com/fatih/color v1.18.0 github.com/fatih/color v1.18.0
github.com/fsnotify/fsnotify v1.8.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/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb
github.com/google/go-cmp v0.6.0 github.com/google/go-cmp v0.6.0
github.com/google/gofuzz v1.2.1-0.20220503160820-4a35382e8fc8 github.com/google/gofuzz v1.2.1-0.20220503160820-4a35382e8fc8
...@@ -107,7 +108,6 @@ require ( ...@@ -107,7 +108,6 @@ require (
github.com/go-ini/ini v1.67.0 // indirect github.com/go-ini/ini v1.67.0 // indirect
github.com/go-ole/go-ole v1.3.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-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/go-yaml/yaml v2.1.0+incompatible // indirect
github.com/goccy/go-json v0.10.3 // indirect github.com/goccy/go-json v0.10.3 // indirect
github.com/godbus/dbus/v5 v5.1.0 // 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: optimism_package:
interop: interop:
enabled: true enabled: true
supervisor_params: supervisor_params:
image: {{ localDockerImage "op-supervisor" }} image: {{ $local_images.op_supervisor }}
dependency_set: | dependency_set: |
{ {
"dependencies": { "dependencies": {
...@@ -34,7 +48,7 @@ optimism_package: ...@@ -34,7 +48,7 @@ optimism_package:
el_min_mem: 0 el_min_mem: 0
el_max_mem: 0 el_max_mem: 0
cl_type: op-node cl_type: op-node
cl_image: {{ localDockerImage "op-node" }} cl_image: {{ $local_images.op_node }}
cl_log_level: "" cl_log_level: ""
cl_extra_env_vars: {} cl_extra_env_vars: {}
cl_extra_labels: {} cl_extra_labels: {}
...@@ -59,15 +73,15 @@ optimism_package: ...@@ -59,15 +73,15 @@ optimism_package:
interop_time_offset: 0 interop_time_offset: 0
fund_dev_accounts: true fund_dev_accounts: true
batcher_params: batcher_params:
image: {{ localDockerImage "op-batcher" }} image: {{ $local_images.op_batcher }}
extra_params: [] extra_params: []
challenger_params: challenger_params:
image: {{ localDockerImage "op-challenger" }} image: {{ $local_images.op_challenger }}
cannon_prestate_path: "" cannon_prestate_path: ""
cannon_prestates_url: {{ localPrestate }} cannon_prestates_url: {{ $urls.prestate }}
extra_params: [] extra_params: []
proposer_params: proposer_params:
image: {{ localDockerImage "op-proposer" }} image: {{ $local_images.op_proposer }}
extra_params: [] extra_params: []
game_type: 1 game_type: 1
proposal_interval: 10m proposal_interval: 10m
...@@ -90,7 +104,7 @@ optimism_package: ...@@ -90,7 +104,7 @@ optimism_package:
el_min_mem: 0 el_min_mem: 0
el_max_mem: 0 el_max_mem: 0
cl_type: op-node cl_type: op-node
cl_image: {{ localDockerImage "op-node" }} cl_image: {{ $local_images.op_node }}
cl_log_level: "" cl_log_level: ""
cl_extra_env_vars: {} cl_extra_env_vars: {}
cl_extra_labels: {} cl_extra_labels: {}
...@@ -115,15 +129,15 @@ optimism_package: ...@@ -115,15 +129,15 @@ optimism_package:
interop_time_offset: 0 interop_time_offset: 0
fund_dev_accounts: true fund_dev_accounts: true
batcher_params: batcher_params:
image: {{ localDockerImage "op-batcher" }} image: {{ $local_images.op_batcher }}
extra_params: [] extra_params: []
challenger_params: challenger_params:
image: {{ localDockerImage "op-challenger" }} image: {{ $local_images.op_challenger }}
cannon_prestate_path: "" cannon_prestate_path: ""
cannon_prestates_url: {{ localPrestate }} cannon_prestates_url: {{ $urls.prestate }}
extra_params: [] extra_params: []
proposer_params: proposer_params:
image: {{ localDockerImage "op-proposer" }} image: {{ $local_images.op_proposer }}
extra_params: [] extra_params: []
game_type: 1 game_type: 1
proposal_interval: 10m proposal_interval: 10m
...@@ -133,9 +147,9 @@ optimism_package: ...@@ -133,9 +147,9 @@ optimism_package:
builder_port: "" builder_port: ""
additional_services: [] additional_services: []
op_contract_deployer_params: op_contract_deployer_params:
image: {{ localDockerImage "op-deployer" }} image: {{ $local_images.op_deployer }}
l1_artifacts_locator: {{ localContractArtifacts "l1" }} l1_artifacts_locator: {{ $urls.l1_artifacts }}
l2_artifacts_locator: {{ localContractArtifacts "l2" }} l2_artifacts_locator: {{ $urls.l2_artifacts }}
global_log_level: "info" global_log_level: "info"
global_node_selectors: {} global_node_selectors: {}
global_tolerations: [] global_tolerations: []
......
...@@ -4,6 +4,8 @@ import ( ...@@ -4,6 +4,8 @@ import (
"fmt" "fmt"
"io" "io"
"text/template" "text/template"
sprig "github.com/go-task/slim-sprig/v3"
) )
// TemplateFunc represents a function that can be used in templates // TemplateFunc represents a function that can be used in templates
...@@ -59,6 +61,7 @@ func (ctx *TemplateContext) InstantiateTemplate(reader io.Reader, writer io.Writ ...@@ -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 // Create template with helper functions and option to error on missing fields
tmpl := template.New("template"). tmpl := template.New("template").
Funcs(sprig.TxtFuncMap()).
Funcs(funcMap). Funcs(funcMap).
Option("missingkey=error") 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