diff --git a/src/blockscout/blockscout_launcher.star b/src/blockscout/blockscout_launcher.star index 67b207965..f5c1df2ed 100644 --- a/src/blockscout/blockscout_launcher.star +++ b/src/blockscout/blockscout_launcher.star @@ -157,6 +157,13 @@ def get_config_verif( 0, ) + env_vars = { + "SMART_CONTRACT_VERIFIER__SERVER__HTTP__ADDR": "0.0.0.0:{}".format( + HTTP_PORT_NUMBER_VERIF + ) + } + env_vars.update(blockscout_params.env) + return ServiceConfig( image=shared_utils.docker_cache_image_calc( docker_cache_params, @@ -164,11 +171,7 @@ def get_config_verif( ), ports=VERIF_USED_PORTS, public_ports=public_ports, - env_vars={ - "SMART_CONTRACT_VERIFIER__SERVER__HTTP__ADDR": "0.0.0.0:{}".format( - HTTP_PORT_NUMBER_VERIF - ) - }, + env_vars=env_vars, min_cpu=BLOCKSCOUT_VERIF_MIN_CPU, max_cpu=BLOCKSCOUT_VERIF_MAX_CPU, min_memory=BLOCKSCOUT_VERIF_MIN_MEMORY, @@ -230,6 +233,8 @@ def get_config_backend( env_vars["INDEXER_START_BLOCK"] = shadowfork_block_height env_vars["TRACE_FIRST_BLOCK"] = shadowfork_block_height + env_vars.update(blockscout_params.env) + return ServiceConfig( image=shared_utils.docker_cache_image_calc( docker_cache_params, @@ -263,6 +268,32 @@ def get_config_frontend( blockscout_service, port_publisher, ): + env_vars = { + "HOSTNAME": "0.0.0.0", + "NEXT_PUBLIC_API_PROTOCOL": "http", + "NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL": "ws", + "NEXT_PUBLIC_NETWORK_NAME": "Kurtosis", + "NEXT_PUBLIC_NETWORK_ID": network_params.network_id, + "NEXT_PUBLIC_NETWORK_RPC_URL": el_client_rpc_url, + "NEXT_PUBLIC_API_HOST": get_api_host(blockscout_service, port_publisher) + + ":" + + str(get_api_port(blockscout_service, port_publisher)), + "NEXT_PUBLIC_AD_BANNER_PROVIDER": "none", + "NEXT_PUBLIC_AD_TEXT_PROVIDER": "none", + "NEXT_PUBLIC_IS_TESTNET": "true", + "NEXT_PUBLIC_GAS_TRACKER_ENABLED": "true", + "NEXT_PUBLIC_HAS_BEACON_CHAIN": "true", + "NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE": "validation", + "NEXT_PUBLIC_NETWORK_ICON": "https://ethpandaops.io/logo.png", + # "NEXT_PUBLIC_APP_HOST": "0.0.0.0", + "NEXT_PUBLIC_APP_PROTOCOL": "http", + "NEXT_PUBLIC_APP_HOST": "127.0.0.1", + "NEXT_PUBLIC_APP_PORT": str(HTTP_PORT_NUMBER_FRONTEND), + "NEXT_PUBLIC_USE_NEXT_JS_PROXY": "true", + "PORT": str(HTTP_PORT_NUMBER_FRONTEND), + } + env_vars.update(blockscout_params.env) + return ServiceConfig( image=shared_utils.docker_cache_image_calc( docker_cache_params, @@ -270,30 +301,7 @@ def get_config_frontend( ), ports=FRONTEND_USED_PORTS, public_ports=FRONTEND_USED_PORTS, - env_vars={ - "HOSTNAME": "0.0.0.0", - "NEXT_PUBLIC_API_PROTOCOL": "http", - "NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL": "ws", - "NEXT_PUBLIC_NETWORK_NAME": "Kurtosis", - "NEXT_PUBLIC_NETWORK_ID": network_params.network_id, - "NEXT_PUBLIC_NETWORK_RPC_URL": el_client_rpc_url, - "NEXT_PUBLIC_API_HOST": get_api_host(blockscout_service, port_publisher) - + ":" - + str(get_api_port(blockscout_service, port_publisher)), - "NEXT_PUBLIC_AD_BANNER_PROVIDER": "none", - "NEXT_PUBLIC_AD_TEXT_PROVIDER": "none", - "NEXT_PUBLIC_IS_TESTNET": "true", - "NEXT_PUBLIC_GAS_TRACKER_ENABLED": "true", - "NEXT_PUBLIC_HAS_BEACON_CHAIN": "true", - "NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE": "validation", - "NEXT_PUBLIC_NETWORK_ICON": "https://ethpandaops.io/logo.png", - # "NEXT_PUBLIC_APP_HOST": "0.0.0.0", - "NEXT_PUBLIC_APP_PROTOCOL": "http", - "NEXT_PUBLIC_APP_HOST": "127.0.0.1", - "NEXT_PUBLIC_APP_PORT": str(HTTP_PORT_NUMBER_FRONTEND), - "NEXT_PUBLIC_USE_NEXT_JS_PROXY": "true", - "PORT": str(HTTP_PORT_NUMBER_FRONTEND), - }, + env_vars=env_vars, min_cpu=BLOCKSCOUT_MIN_CPU, max_cpu=BLOCKSCOUT_MAX_CPU, min_memory=BLOCKSCOUT_MIN_MEMORY, diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index 792c1c392..8c8bb46e6 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -627,6 +627,7 @@ def input_parser(plan, input_args): image=result["blockscout_params"]["image"], verif_image=result["blockscout_params"]["verif_image"], frontend_image=result["blockscout_params"]["frontend_image"], + env=result["blockscout_params"]["env"], ), checkpointz_params=struct( image=result["checkpointz_params"]["image"], @@ -1448,6 +1449,7 @@ def get_default_blockscout_params(): "image": "ghcr.io/blockscout/blockscout:latest", "verif_image": "ghcr.io/blockscout/smart-contract-verifier:latest", "frontend_image": "ghcr.io/blockscout/frontend:latest", + "env": {}, } diff --git a/src/package_io/sanity_check.star b/src/package_io/sanity_check.star index a6d0b4918..b98e73dba 100644 --- a/src/package_io/sanity_check.star +++ b/src/package_io/sanity_check.star @@ -271,11 +271,7 @@ SUBCATEGORY_PARAMS = { "min_epochs_for_data_column_sidecars_requests", "min_epochs_for_block_requests", ], - "blockscout_params": [ - "image", - "verif_image", - "frontend_image", - ], + "blockscout_params": ["image", "verif_image", "frontend_image", "env"], "dora_params": [ "image", "env",