xavier-romero / kurtosis-blockscout

Kurtosis module for Blockscout
1 stars 6 forks source link

Change service name to avoid kurtosis-cdk RFC 6335 error (length) #4

Closed nachofq closed 4 months ago

nachofq commented 4 months ago

I've created a branch in order to change one service name that is breaking kurtosis-cdk deployment when blockscoutL2 is set to enabled.

I think this would fix the issue image

The error Im getting below

There was an error validating Starlark code 
Error while validating instruction add_service(name="bs-visualize-001", config=ServiceConfig(image="ghcr.io/blockscout/visualizer:main", ports={"bs-visualize-001": PortSpec(number=8050, application_protocol="http")})). The instruction can be found at github.com/xavier-romero/kurtosis-blockscout/visualize.star[6:31]
        Caused by: Port name 'bs-visualize-001' is invalid as it contains disallowed characters. Service names must adhere to the RFC 6335 standard, specifically implementing this regex and be 1-15 characters long: ^[a-z]([-a-z0-9]{0,13}[a-z0-9])?$. This means the service name must only contain lowercase alphanumeric characters or '-', and must start with a lowercase alphabet and end with a lowercase alphanumeric character.

Error encountered running Starlark code.
nachofq commented 4 months ago

@leovct @xavier-romero Thanks for the fix!

I think there is one more change required referencing the new port names

 There was an error executing Starlark code 
An error occurred executing instruction (number 106) at github.com/xavier-romero/kurtosis-blockscout/frontend.star[47:31]:
  add_service(name="bs-frontend-001", config=ServiceConfig(image="ghcr.io/blockscout/frontend:v1.30.0", ports={"frontend": PortSpec(number=50101, application_protocol="http", wait="30s")}, public_ports={"bs-frontend-001": PortSpec(number=50101, application_protocol="http", wait="30s")}, env_vars={"NEXT_PUBLIC_AD_BANNER_PROVIDER": "none", "NEXT_PUBLIC_AD_TEXT_PROVIDER": "none", "NEXT_PUBLIC_API_HOST": "{{kurtosis:c37e5d3d93f142e08d61cef9346660ab:ip_address.runtime_value}}", "NEXT_PUBLIC_API_PORT": "4004", "NEXT_PUBLIC_API_PROTOCOL": "http", "NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL": "ws", "NEXT_PUBLIC_APP_HOST": "127.0.0.1", "NEXT_PUBLIC_APP_PORT": "50101", "NEXT_PUBLIC_APP_PROTOCOL": "http", "NEXT_PUBLIC_NETWORK_ID": "10101", "NEXT_PUBLIC_NETWORK_NAME": "Polygon CDK", "NEXT_PUBLIC_ROLLUP_L1_BASE_URL": "https://etherscan.io/", "NEXT_PUBLIC_ROLLUP_TYPE": "zkEvm", "NEXT_PUBLIC_STATS_API_HOST": "http://{{kurtosis:02723b80034442cc89fb9893a5a9b792:ip_address.runtime_value}}:8050", "NEXT_PUBLIC_SWAP_BUTTON_URL": "https://app.uniswap.org/#/swap", "NEXT_PUBLIC_TRANSACTION_INTERPRETATION_PROVIDER": "blockscout", "NEXT_PUBLIC_USE_NEXT_JS_PROXY": "true", "NEXT_PUBLIC_VISUALIZE_API_HOST": "http://{{kurtosis:0a8f8cdd0c2e495c885cda2866a28485:ip_address.runtime_value}}:8050", "PORT": "50101"}))
  Caused by: Unexpected error occurred starting service 'bs-frontend-001'
  Caused by: Private and public ports for service with UUID '5ecb993dd19441bb9b377d187f3f32a7' are not one to one.
  Caused by: Expected to receive private port with ID 'bs-frontend-001' bound for public port number '50101', but it was not found
Error encountered running Starlark code.

Kurtosis is looking for the old name format for some reason. Maybe it expects the port name to have the same name than the service?

Thanks again!