diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..24f1f8f --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "optimism"] + path = optimism + url = git@github.com:ethereum-optimism/optimism.git diff --git a/README.md b/README.md index 97b5261..e6c5e6e 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,8 @@ optimism_package: # Configuration place for da-server - https://github.com/ethereum-optimism/optimism/tree/develop/op-alt-da da_server_params: + image: us-docker.pkg.dev/oplabs-tools-artifacts/images/da-server:dev + build_image: true # A list of optional extra params that will be passed to the da-server container for modifying its behaviour da_server_extra_args: [] generic_commitment: false diff --git a/network_params.yaml b/network_params.yaml index 4423444..688edd9 100644 --- a/network_params.yaml +++ b/network_params.yaml @@ -6,6 +6,10 @@ optimism_package: - el_type: op-nethermind - el_type: op-besu additional_services: - - blockscout + - da_server + # - blockscout + da_server_params: + image: us-docker.pkg.dev/oplabs-tools-artifacts/images/da-server:dev + build_image: True op_contract_deployer_params: image: ethpandaops/optimism-contract-deployer:develop diff --git a/optimism b/optimism new file mode 160000 index 0000000..90700b9 --- /dev/null +++ b/optimism @@ -0,0 +1 @@ +Subproject commit 90700b9bb37080961747420882b14578577d47cc diff --git a/src/l2.star b/src/l2.star index fe810ac..c548a8f 100644 --- a/src/l2.star +++ b/src/l2.star @@ -52,11 +52,23 @@ def launch_l2( # because op-node and op-batcher need to know the da-server url, if present da_server_context = da_server_launcher.disabled_da_server_context() if "da_server" in args_with_right_defaults.additional_services: + da_server_image = args_with_right_defaults.da_server_params.image + if args_with_right_defaults.da_server_params.build_image: + plan.print("Building da-server image") + da_server_image = ImageBuildSpec( + image_name=args_with_right_defaults.da_server_params.image, + # TODO: this doesn't work... because can't point to a dir outside of the kurtosis package + # also can't install optimism monorepo as a submodule because that makes the kurtosis package > 100MB, which is not allowed. + # Not sure how to fix this... detailed problem in https://github.com/ethpandaops/optimism-package/issues/72 + build_context_dir="/optimism/ops/docker/op-stack-go", + target_stage="da-server-target", + ) + plan.print("Successfully built da-server image") plan.print("Launching da-server") da_server_context = da_server_launcher.launch( plan, "da-server{0}".format(l2_services_suffix), - args_with_right_defaults.da_server_params.image, + da_server_image, args_with_right_defaults.da_server_params.da_server_extra_args, args_with_right_defaults.da_server_params.generic_commitment, ) diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index 76f4a0e..dd682d1 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -26,9 +26,9 @@ DEFAULT_PROPOSER_IMAGES = { } DEFAULT_DA_SERVER_IMAGES = { - # TODO: latest tag is super outdated, and doesn't have the --generic-commitment flag - # the latest v0.1.0-rc.1 image from June doesn't run on macos... - "da-server": "us-docker.pkg.dev/oplabs-tools-artifacts/images/da-server:latest", + # latest tag is super outdated, and doesn't have the --generic-commitment flag + # so we use the dev tag as default, which requires building locally (see default_da_server_params) + "da-server": "us-docker.pkg.dev/oplabs-tools-artifacts/images/da-server:dev", } ATTR_TO_BE_SKIPPED_AT_ROOT = ( @@ -82,6 +82,7 @@ def input_parser(plan, input_args): da_server_params=struct( enabled=result["da_server_params"]["enabled"], image=result["da_server_params"]["image"], + build_image=result["da_server_params"]["build_image"], da_server_extra_args=result["da_server_params"]["da_server_extra_args"], generic_commitment=result["da_server_params"]["generic_commitment"], ), @@ -188,6 +189,7 @@ def default_da_server_params(): return { "enabled": False, "image": DEFAULT_DA_SERVER_IMAGES["da-server"], + "build_image": True, "da_server_extra_args": [], "generic_commitment": False, } diff --git a/src/package_io/sanity_check.star b/src/package_io/sanity_check.star index 4d530a9..6e2fa17 100644 --- a/src/package_io/sanity_check.star +++ b/src/package_io/sanity_check.star @@ -20,6 +20,12 @@ SUBCATEGORY_PARAMS = { "interop_time_offset", ], "op_contract_deployer_params": ["image"], + "da_server_params": [ + "image", + "build_image", + "da_server_extra_args", + "generic_commitment", + ], } ADDITIONAL_SERVICES_PARAMS = [