diff --git a/main.star b/main.star index a0f13164d..4e6920d8b 100644 --- a/main.star +++ b/main.star @@ -454,6 +454,7 @@ def run(plan, args={}): for index, additional_service in enumerate( args_with_right_defaults.additional_services ): + plan.print("service: {0} index: {1}".format(additional_service, index)) if additional_service == "tx_fuzz": plan.print("Launching tx-fuzz") tx_fuzz_params = args_with_right_defaults.tx_fuzz_params @@ -607,6 +608,8 @@ def run(plan, args={}): apache_port, all_participants, args_with_right_defaults.participants, + args_with_right_defaults.port_publisher, + index, global_node_selectors, args_with_right_defaults.docker_cache_params, ) @@ -644,6 +647,8 @@ def run(plan, args={}): args_with_right_defaults.participants, network_params, assertoor_params, + args_with_right_defaults.port_publisher, + index, global_node_selectors, ) plan.print("Successfully launched assertoor") @@ -671,6 +676,8 @@ def run(plan, args={}): args_with_right_defaults.spamoor_params, global_node_selectors, args_with_right_defaults.network_params, + args_with_right_defaults.port_publisher, + index, osaka_time, ) else: @@ -688,8 +695,9 @@ def run(plan, args={}): all_xatu_sentry_contexts, global_node_selectors, args_with_right_defaults.prometheus_params, + args_with_right_defaults.port_publisher, + index, ) - plan.print("Launching grafana...") grafana.launch_grafana( plan, @@ -698,6 +706,8 @@ def run(plan, args={}): prometheus_private_url, global_node_selectors, args_with_right_defaults.grafana_params, + args_with_right_defaults.port_publisher, + index + 1, ) plan.print("Successfully launched grafana") diff --git a/src/apache/apache_launcher.star b/src/apache/apache_launcher.star index 781e147ab..6a4f5ed3e 100644 --- a/src/apache/apache_launcher.star +++ b/src/apache/apache_launcher.star @@ -33,6 +33,8 @@ def launch_apache( apache_port, participant_contexts, participant_configs, + port_publisher, + index, global_node_selectors, docker_cache_params, ): @@ -40,6 +42,13 @@ def launch_apache( src=static_files.APACHE_CONFIG_FILEPATH, name="apache-config" ) + public_ports = shared_utils.get_additional_service_standard_public_port( + port_publisher, + constants.HTTP_PORT_ID, + index, + 0, + ) + all_cl_client_info = [] all_el_client_info = [] for index, participant in enumerate(participant_contexts): @@ -81,7 +90,7 @@ def launch_apache( bootstrap_info_files_artifact_name = plan.render_templates( template_and_data_by_rel_dest_filepath, "bootstrap-info" ) - public_ports = {} + if apache_port != None: public_ports = { HTTP_PORT_ID: shared_utils.new_port_spec( @@ -154,8 +163,8 @@ def get_config( IMAGE_NAME, ), ports=USED_PORTS, - cmd=[cmd_str], public_ports=public_ports, + cmd=[cmd_str], entrypoint=["sh", "-c"], files=files, min_cpu=MIN_CPU, diff --git a/src/assertoor/assertoor_launcher.star b/src/assertoor/assertoor_launcher.star index 4fd8060aa..fd82378b5 100644 --- a/src/assertoor/assertoor_launcher.star +++ b/src/assertoor/assertoor_launcher.star @@ -36,6 +36,8 @@ def launch_assertoor( participant_configs, network_params, assertoor_params, + port_publisher, + index, global_node_selectors, ): all_client_info = [] @@ -43,6 +45,13 @@ def launch_assertoor( clients_with_el_snooper = [] clients_with_cl_snooper = [] + public_ports = shared_utils.get_additional_service_standard_public_port( + port_publisher, + constants.HTTP_PORT_ID, + index, + 0, + ) + for index, participant in enumerate(participant_contexts): ( full_name, @@ -101,6 +110,7 @@ def launch_assertoor( tests_config_artifacts_name, network_params, assertoor_params, + public_ports, global_node_selectors, ) @@ -112,6 +122,7 @@ def get_config( tests_config_artifacts_name, network_params, assertoor_params, + public_ports, node_selectors, ): config_file_path = shared_utils.path_join( @@ -128,6 +139,7 @@ def get_config( return ServiceConfig( image=IMAGE_NAME, ports=USED_PORTS, + public_ports=public_ports, files={ ASSERTOOR_CONFIG_MOUNT_DIRPATH_ON_SERVICE: config_files_artifact_name, ASSERTOOR_TESTS_MOUNT_DIRPATH_ON_SERVICE: tests_config_artifacts_name, diff --git a/src/grafana/grafana_launcher.star b/src/grafana/grafana_launcher.star index 55f44d88e..95f928739 100644 --- a/src/grafana/grafana_launcher.star +++ b/src/grafana/grafana_launcher.star @@ -1,5 +1,6 @@ shared_utils = import_module("../shared_utils/shared_utils.star") static_files = import_module("../static_files/static_files.star") +constants = import_module("../package_io/constants.star") SERVICE_NAME = "grafana" @@ -44,6 +45,8 @@ def launch_grafana( prometheus_private_url, global_node_selectors, grafana_params, + port_publisher, + index, ): ( grafana_config_artifacts_uuid, @@ -63,11 +66,19 @@ def launch_grafana( grafana_additional_dashboards_data, ) + public_ports = shared_utils.get_additional_service_standard_public_port( + port_publisher, + constants.HTTP_PORT_ID, + index, + 0, + ) + config = get_config( grafana_config_artifacts_uuid, merged_dashboards_artifact_name, global_node_selectors, grafana_params, + public_ports, ) plan.add_service(SERVICE_NAME, config) @@ -124,6 +135,7 @@ def get_config( grafana_dashboards_artifacts_name, node_selectors, grafana_params, + public_ports, ): return ServiceConfig( image=grafana_params.image, @@ -144,6 +156,7 @@ def get_config( min_memory=grafana_params.min_mem, max_memory=grafana_params.max_mem, node_selectors=node_selectors, + public_ports=public_ports, ) diff --git a/src/prometheus/prometheus_launcher.star b/src/prometheus/prometheus_launcher.star index 070937dd5..4ed6ccbbb 100644 --- a/src/prometheus/prometheus_launcher.star +++ b/src/prometheus/prometheus_launcher.star @@ -1,5 +1,8 @@ shared_utils = import_module("../shared_utils/shared_utils.star") -prometheus = import_module("github.com/kurtosis-tech/prometheus-package/main.star") +prometheus = import_module( + "github.com/kurtosis-tech/prometheus-package/main.star@bbusa/add-public-ports" +) +constants = import_module("../package_io/constants.star") EXECUTION_CLIENT_TYPE = "execution" BEACON_CLIENT_TYPE = "beacon" @@ -25,6 +28,8 @@ def launch_prometheus( xatu_sentry_contexts, global_node_selectors, prometheus_params, + port_publisher, + index, ): metrics_jobs = get_metrics_jobs( el_contexts, @@ -35,6 +40,14 @@ def launch_prometheus( ethereum_metrics_exporter_contexts, xatu_sentry_contexts, ) + + public_ports = shared_utils.get_additional_service_standard_public_port( + port_publisher, + constants.HTTP_PORT_ID, + index, + 0, + ) + prometheus_url = prometheus.run( plan, metrics_jobs, @@ -47,6 +60,7 @@ def launch_prometheus( storage_tsdb_retention_time=prometheus_params.storage_tsdb_retention_time, storage_tsdb_retention_size=prometheus_params.storage_tsdb_retention_size, image=prometheus_params.image, + public_ports=public_ports, ) return prometheus_url diff --git a/src/spamoor/spamoor.star b/src/spamoor/spamoor.star index 7ec6d7089..1a99c9bf8 100644 --- a/src/spamoor/spamoor.star +++ b/src/spamoor/spamoor.star @@ -27,6 +27,8 @@ def launch_spamoor( spamoor_params, global_node_selectors, network_params, + port_publisher, + additional_service_index, osaka_time, ): spammers = [] @@ -86,6 +88,8 @@ def launch_spamoor( spamoor_params, global_node_selectors, network_params, + port_publisher, + additional_service_index, ) plan.add_service(SERVICE_NAME, config) @@ -98,6 +102,8 @@ def get_config( spamoor_params, node_selectors, network_params, + port_publisher, + additional_service_index, ): config_file_path = shared_utils.path_join( SPAMOOR_CONFIG_MOUNT_DIRPATH_ON_SERVICE, @@ -131,6 +137,13 @@ def get_config( "--startup-spammer={}".format(config_file_path), ] + public_ports = shared_utils.get_additional_service_standard_public_port( + port_publisher, + constants.HTTP_PORT_ID, + additional_service_index, + 0, + ) + for index, extra_arg in enumerate(spamoor_params.extra_args): cmd.append(extra_arg) @@ -139,6 +152,7 @@ def get_config( entrypoint=["./spamoor-daemon"], cmd=cmd, ports=USED_PORTS, + public_ports=public_ports, min_cpu=spamoor_params.min_cpu, max_cpu=spamoor_params.max_cpu, min_memory=spamoor_params.min_mem,