From 2e18c1915d97706455e94b2a009f9c568e7a3fc1 Mon Sep 17 00:00:00 2001 From: 0xTylerHolmes Date: Sun, 22 Jun 2025 14:13:03 -0400 Subject: [PATCH 01/11] add client-language constants --- src/package_io/constants.star | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/package_io/constants.star b/src/package_io/constants.star index d99d6006b..06126f105 100644 --- a/src/package_io/constants.star +++ b/src/package_io/constants.star @@ -306,6 +306,29 @@ VOLUME_SIZE = { "grandine_volume_size": 100000, # 100GB }, } +# Language mapping for client implementations +CLIENT_LANGUAGES = { + # Execution Layer (EL) clients + "geth": "go", + "erigon": "go", + "nethermind": "csharp", + "besu": "java", + "reth": "rust", + "reth-builder": "rust", + "ethereumjs": "javascript", + "nimbus": "nim", + # Consensus Layer (CL) clients + "lighthouse": "rust", + "teku": "java", + "prysm": "go", + "lodestar": "javascript", + "grandine": "rust", + # Validator Clients (VC) - inherit from CL clients + "vero": "rust", + # Remote Signers + "web3signer": "java", +} + VOLUME_SIZE["mainnet-shadowfork"] = VOLUME_SIZE["mainnet"] VOLUME_SIZE["sepolia-shadowfork"] = VOLUME_SIZE["sepolia"] VOLUME_SIZE["holesky-shadowfork"] = VOLUME_SIZE["holesky"] From 5c2b8f8e165a6a0da81e0844ec1f8414b5f3360c Mon Sep 17 00:00:00 2001 From: 0xTylerHolmes Date: Sun, 22 Jun 2025 14:14:27 -0400 Subject: [PATCH 02/11] create new field in label_maker --- src/shared_utils/shared_utils.star | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/shared_utils/shared_utils.star b/src/shared_utils/shared_utils.star index 16dde5799..2d39d7ce8 100644 --- a/src/shared_utils/shared_utils.star +++ b/src/shared_utils/shared_utils.star @@ -75,7 +75,13 @@ def zfill_custom(value, width): def label_maker( - client, client_type, image, connected_client, extra_labels, supernode=False + client, + client_type, + image, + connected_client, + extra_labels, + client_language, + supernode=False, ): # Extract sha256 hash if present sha256 = "" @@ -91,6 +97,7 @@ def label_maker( ), # drop the sha256 part of the image from the label "ethereum-package.sha256": sha256, "ethereum-package.connected-client": connected_client, + "ethereum-package.client-language": client_language, } if supernode: From dca60fa590dbb27cb489fc8241f7c456d8cb2640 Mon Sep 17 00:00:00 2001 From: 0xTylerHolmes Date: Sun, 22 Jun 2025 14:15:21 -0400 Subject: [PATCH 03/11] els use client_language labels --- src/el/besu/besu_launcher.star | 1 + src/el/erigon/erigon_launcher.star | 1 + src/el/ethereumjs/ethereumjs_launcher.star | 1 + src/el/geth/geth_launcher.star | 1 + src/el/nethermind/nethermind_launcher.star | 1 + src/el/nimbus-eth1/nimbus_launcher.star | 1 + src/el/reth/reth_launcher.star | 1 + 7 files changed, 7 insertions(+) diff --git a/src/el/besu/besu_launcher.star b/src/el/besu/besu_launcher.star index 785c04baa..17eb99613 100644 --- a/src/el/besu/besu_launcher.star +++ b/src/el/besu/besu_launcher.star @@ -263,6 +263,7 @@ def get_config( image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, extra_labels=participant.el_extra_labels, + client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.besu], supernode=participant.supernode, ), "user": User(uid=0, gid=0), diff --git a/src/el/erigon/erigon_launcher.star b/src/el/erigon/erigon_launcher.star index ff8639cc4..2bbe4dc89 100644 --- a/src/el/erigon/erigon_launcher.star +++ b/src/el/erigon/erigon_launcher.star @@ -268,6 +268,7 @@ def get_config( connected_client=cl_client_name, extra_labels=participant.el_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.erigon], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/el/ethereumjs/ethereumjs_launcher.star b/src/el/ethereumjs/ethereumjs_launcher.star index f859a56ca..241830b4b 100644 --- a/src/el/ethereumjs/ethereumjs_launcher.star +++ b/src/el/ethereumjs/ethereumjs_launcher.star @@ -254,6 +254,7 @@ def get_config( connected_client=cl_client_name, extra_labels=participant.el_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.ethereumjs], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/el/geth/geth_launcher.star b/src/el/geth/geth_launcher.star index 1fcbb3a00..980d30fb0 100644 --- a/src/el/geth/geth_launcher.star +++ b/src/el/geth/geth_launcher.star @@ -324,6 +324,7 @@ def get_config( image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, extra_labels=participant.el_extra_labels, + client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.geth], supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/el/nethermind/nethermind_launcher.star b/src/el/nethermind/nethermind_launcher.star index 1b6330eda..feaf1457c 100644 --- a/src/el/nethermind/nethermind_launcher.star +++ b/src/el/nethermind/nethermind_launcher.star @@ -246,6 +246,7 @@ def get_config( connected_client=cl_client_name, extra_labels=participant.el_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.nethermind], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/el/nimbus-eth1/nimbus_launcher.star b/src/el/nimbus-eth1/nimbus_launcher.star index c01f6302c..a2ff1f1ef 100644 --- a/src/el/nimbus-eth1/nimbus_launcher.star +++ b/src/el/nimbus-eth1/nimbus_launcher.star @@ -237,6 +237,7 @@ def get_config( connected_client=cl_client_name, extra_labels=participant.el_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.nimbus], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/el/reth/reth_launcher.star b/src/el/reth/reth_launcher.star index bf2554907..b447ce5fe 100644 --- a/src/el/reth/reth_launcher.star +++ b/src/el/reth/reth_launcher.star @@ -308,6 +308,7 @@ def get_config( connected_client=cl_client_name, extra_labels=participant.el_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.reth], ), "tolerations": tolerations, "node_selectors": node_selectors, From 87403e8e226433c5da352f544055407e6305a4ab Mon Sep 17 00:00:00 2001 From: 0xTylerHolmes Date: Sun, 22 Jun 2025 14:15:48 -0400 Subject: [PATCH 04/11] cls use client_language labels --- src/cl/grandine/grandine_launcher.star | 1 + src/cl/lighthouse/lighthouse_launcher.star | 1 + src/cl/lodestar/lodestar_launcher.star | 1 + src/cl/nimbus/nimbus_launcher.star | 1 + src/cl/prysm/prysm_launcher.star | 1 + src/cl/teku/teku_launcher.star | 1 + 6 files changed, 6 insertions(+) diff --git a/src/cl/grandine/grandine_launcher.star b/src/cl/grandine/grandine_launcher.star index e5542984b..f325a5902 100644 --- a/src/cl/grandine/grandine_launcher.star +++ b/src/cl/grandine/grandine_launcher.star @@ -367,6 +367,7 @@ def get_beacon_config( connected_client=el_context.client_name, extra_labels=participant.cl_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.grandine], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/lighthouse/lighthouse_launcher.star b/src/cl/lighthouse/lighthouse_launcher.star index 08d0ffbc7..e81e28d80 100644 --- a/src/cl/lighthouse/lighthouse_launcher.star +++ b/src/cl/lighthouse/lighthouse_launcher.star @@ -356,6 +356,7 @@ def get_beacon_config( connected_client=el_context.client_name, extra_labels=participant.cl_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.lighthouse], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/lodestar/lodestar_launcher.star b/src/cl/lodestar/lodestar_launcher.star index 16b33a3dc..b489956e3 100644 --- a/src/cl/lodestar/lodestar_launcher.star +++ b/src/cl/lodestar/lodestar_launcher.star @@ -343,6 +343,7 @@ def get_beacon_config( connected_client=el_context.client_name, extra_labels=participant.cl_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.lodestar], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/nimbus/nimbus_launcher.star b/src/cl/nimbus/nimbus_launcher.star index 092ed4424..1f741d8cb 100644 --- a/src/cl/nimbus/nimbus_launcher.star +++ b/src/cl/nimbus/nimbus_launcher.star @@ -373,6 +373,7 @@ def get_beacon_config( connected_client=el_context.client_name, extra_labels=participant.cl_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.nimbus], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/prysm/prysm_launcher.star b/src/cl/prysm/prysm_launcher.star index ec48ed560..84cab34a9 100644 --- a/src/cl/prysm/prysm_launcher.star +++ b/src/cl/prysm/prysm_launcher.star @@ -350,6 +350,7 @@ def get_beacon_config( connected_client=el_context.client_name, extra_labels=participant.cl_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.prysm], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/teku/teku_launcher.star b/src/cl/teku/teku_launcher.star index 05549ce8d..d5a4c3687 100644 --- a/src/cl/teku/teku_launcher.star +++ b/src/cl/teku/teku_launcher.star @@ -386,6 +386,7 @@ def get_beacon_config( connected_client=el_context.client_name, extra_labels=participant.cl_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.teku], ), "tolerations": tolerations, "node_selectors": node_selectors, From da45e9d26ce7c1a42b366eaee239951bf6d95ac3 Mon Sep 17 00:00:00 2001 From: 0xTylerHolmes Date: Sun, 22 Jun 2025 14:16:09 -0400 Subject: [PATCH 05/11] vcs use client_language labels --- src/vc/lighthouse.star | 1 + src/vc/lodestar.star | 1 + src/vc/nimbus.star | 1 + src/vc/prysm.star | 1 + src/vc/teku.star | 1 + src/vc/vero.star | 1 + 6 files changed, 6 insertions(+) diff --git a/src/vc/lighthouse.star b/src/vc/lighthouse.star index 9ffd9ab12..fa2937436 100644 --- a/src/vc/lighthouse.star +++ b/src/vc/lighthouse.star @@ -128,6 +128,7 @@ def get_config( connected_client=cl_context.client_name, extra_labels=participant.vc_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.lighthouse], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/lodestar.star b/src/vc/lodestar.star index 357c64ace..e39b00a17 100644 --- a/src/vc/lodestar.star +++ b/src/vc/lodestar.star @@ -142,6 +142,7 @@ def get_config( connected_client=cl_context.client_name, extra_labels=participant.vc_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.lodestar], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/nimbus.star b/src/vc/nimbus.star index 452407eca..b365e15c9 100644 --- a/src/vc/nimbus.star +++ b/src/vc/nimbus.star @@ -115,6 +115,7 @@ def get_config( connected_client=cl_context.client_name, extra_labels=participant.vc_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.nimbus], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/prysm.star b/src/vc/prysm.star index 602afa669..1e3e287e3 100644 --- a/src/vc/prysm.star +++ b/src/vc/prysm.star @@ -131,6 +131,7 @@ def get_config( connected_client=cl_context.client_name, extra_labels=participant.vc_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.prysm], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/teku.star b/src/vc/teku.star index 205419733..ffe77c7ec 100644 --- a/src/vc/teku.star +++ b/src/vc/teku.star @@ -133,6 +133,7 @@ def get_config( connected_client=cl_context.client_name, extra_labels=participant.vc_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.teku], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/vero.star b/src/vc/vero.star index f157a6f87..7d8d6597d 100644 --- a/src/vc/vero.star +++ b/src/vc/vero.star @@ -79,6 +79,7 @@ def get_config( connected_client=cl_context.client_name, extra_labels=participant.vc_extra_labels, supernode=participant.supernode, + client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.vero], ), "tolerations": tolerations, "node_selectors": node_selectors, From 5734ee98554838835bf5f566354a264601925d53 Mon Sep 17 00:00:00 2001 From: 0xTylerHolmes Date: Sun, 22 Jun 2025 14:16:44 -0400 Subject: [PATCH 06/11] remote-signer uses client_language --- src/remote_signer/remote_signer_launcher.star | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/remote_signer/remote_signer_launcher.star b/src/remote_signer/remote_signer_launcher.star index fd7e9569c..d70e8451a 100644 --- a/src/remote_signer/remote_signer_launcher.star +++ b/src/remote_signer/remote_signer_launcher.star @@ -165,6 +165,9 @@ def get_config( image=image, connected_client=vc_type, extra_labels=participant.remote_signer_extra_labels, + client_language=constants.CLIENT_LANGUAGES[ + constants.REMOTE_SIGNER_TYPE.web3signer + ], supernode=participant.supernode, ), "tolerations": tolerations, From 96263813e0e24b46963f0294ade2976b6628a197 Mon Sep 17 00:00:00 2001 From: 0xTylerHolmes Date: Sun, 22 Jun 2025 14:58:08 -0400 Subject: [PATCH 07/11] add client_language to extra_labels --- src/cl/grandine/grandine_launcher.star | 10 ++++++++-- src/cl/lighthouse/lighthouse_launcher.star | 10 ++++++++-- src/cl/lodestar/lodestar_launcher.star | 10 ++++++++-- src/cl/nimbus/nimbus_launcher.star | 10 ++++++++-- src/cl/prysm/prysm_launcher.star | 10 ++++++++-- src/cl/teku/teku_launcher.star | 10 ++++++++-- src/el/besu/besu_launcher.star | 10 ++++++++-- src/el/erigon/erigon_launcher.star | 10 ++++++++-- src/el/ethereumjs/ethereumjs_launcher.star | 10 ++++++++-- src/el/geth/geth_launcher.star | 10 ++++++++-- src/el/nethermind/nethermind_launcher.star | 10 ++++++++-- src/el/nimbus-eth1/nimbus_launcher.star | 10 ++++++++-- src/el/reth/reth_launcher.star | 10 ++++++++-- src/package_io/constants.star | 3 +++ src/remote_signer/remote_signer_launcher.star | 12 ++++++++---- src/shared_utils/shared_utils.star | 9 +-------- src/vc/lighthouse.star | 10 ++++++++-- src/vc/lodestar.star | 10 ++++++++-- src/vc/nimbus.star | 10 ++++++++-- src/vc/prysm.star | 10 ++++++++-- src/vc/teku.star | 10 ++++++++-- src/vc/vero.star | 10 ++++++++-- 22 files changed, 164 insertions(+), 50 deletions(-) diff --git a/src/cl/grandine/grandine_launcher.star b/src/cl/grandine/grandine_launcher.star index f325a5902..6247226f9 100644 --- a/src/cl/grandine/grandine_launcher.star +++ b/src/cl/grandine/grandine_launcher.star @@ -365,9 +365,15 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=participant.cl_extra_labels, + extra_labels=dict( + participant.cl_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.CL_TYPE.grandine + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.grandine], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/lighthouse/lighthouse_launcher.star b/src/cl/lighthouse/lighthouse_launcher.star index e81e28d80..42281a640 100644 --- a/src/cl/lighthouse/lighthouse_launcher.star +++ b/src/cl/lighthouse/lighthouse_launcher.star @@ -354,9 +354,15 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=participant.cl_extra_labels, + extra_labels=dict( + participant.cl_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.CL_TYPE.lighthouse + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.lighthouse], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/lodestar/lodestar_launcher.star b/src/cl/lodestar/lodestar_launcher.star index b489956e3..5e37aa6be 100644 --- a/src/cl/lodestar/lodestar_launcher.star +++ b/src/cl/lodestar/lodestar_launcher.star @@ -341,9 +341,15 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=participant.cl_extra_labels, + extra_labels=dict( + participant.cl_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.CL_TYPE.lodestar + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.lodestar], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/nimbus/nimbus_launcher.star b/src/cl/nimbus/nimbus_launcher.star index 1f741d8cb..c61f68bdf 100644 --- a/src/cl/nimbus/nimbus_launcher.star +++ b/src/cl/nimbus/nimbus_launcher.star @@ -371,9 +371,15 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=participant.cl_extra_labels, + extra_labels=dict( + participant.cl_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.CL_TYPE.nimbus + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.nimbus], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/prysm/prysm_launcher.star b/src/cl/prysm/prysm_launcher.star index 84cab34a9..751678b4e 100644 --- a/src/cl/prysm/prysm_launcher.star +++ b/src/cl/prysm/prysm_launcher.star @@ -348,9 +348,15 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=participant.cl_extra_labels, + extra_labels=dict( + participant.cl_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.CL_TYPE.prysm + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.prysm], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/cl/teku/teku_launcher.star b/src/cl/teku/teku_launcher.star index d5a4c3687..7c229b862 100644 --- a/src/cl/teku/teku_launcher.star +++ b/src/cl/teku/teku_launcher.star @@ -384,9 +384,15 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=participant.cl_extra_labels, + extra_labels=dict( + participant.cl_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.CL_TYPE.teku + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.CL_TYPE.teku], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/el/besu/besu_launcher.star b/src/el/besu/besu_launcher.star index 17eb99613..3b4ff08ef 100644 --- a/src/el/besu/besu_launcher.star +++ b/src/el/besu/besu_launcher.star @@ -262,8 +262,14 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=participant.el_extra_labels, - client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.besu], + extra_labels=dict( + participant.el_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.EL_TYPE.besu + ] + } + ), supernode=participant.supernode, ), "user": User(uid=0, gid=0), diff --git a/src/el/erigon/erigon_launcher.star b/src/el/erigon/erigon_launcher.star index 2bbe4dc89..d4b21d5d5 100644 --- a/src/el/erigon/erigon_launcher.star +++ b/src/el/erigon/erigon_launcher.star @@ -266,9 +266,15 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=participant.el_extra_labels, + extra_labels=dict( + participant.el_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.EL_TYPE.erigon + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.erigon], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/el/ethereumjs/ethereumjs_launcher.star b/src/el/ethereumjs/ethereumjs_launcher.star index 241830b4b..2ca12057f 100644 --- a/src/el/ethereumjs/ethereumjs_launcher.star +++ b/src/el/ethereumjs/ethereumjs_launcher.star @@ -252,9 +252,15 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=participant.el_extra_labels, + extra_labels=dict( + participant.el_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.EL_TYPE.ethereumjs + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.ethereumjs], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/el/geth/geth_launcher.star b/src/el/geth/geth_launcher.star index 980d30fb0..a3f9c9098 100644 --- a/src/el/geth/geth_launcher.star +++ b/src/el/geth/geth_launcher.star @@ -323,8 +323,14 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=participant.el_extra_labels, - client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.geth], + extra_labels=dict( + participant.el_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.EL_TYPE.geth + ] + } + ), supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/el/nethermind/nethermind_launcher.star b/src/el/nethermind/nethermind_launcher.star index feaf1457c..b823e0fe4 100644 --- a/src/el/nethermind/nethermind_launcher.star +++ b/src/el/nethermind/nethermind_launcher.star @@ -244,9 +244,15 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=participant.el_extra_labels, + extra_labels=dict( + participant.el_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.EL_TYPE.nethermind + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.nethermind], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/el/nimbus-eth1/nimbus_launcher.star b/src/el/nimbus-eth1/nimbus_launcher.star index a2ff1f1ef..a9298d360 100644 --- a/src/el/nimbus-eth1/nimbus_launcher.star +++ b/src/el/nimbus-eth1/nimbus_launcher.star @@ -235,9 +235,15 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=participant.el_extra_labels, + extra_labels=dict( + participant.el_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.EL_TYPE.nimbus + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.nimbus], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/el/reth/reth_launcher.star b/src/el/reth/reth_launcher.star index b447ce5fe..fb9a60e9d 100644 --- a/src/el/reth/reth_launcher.star +++ b/src/el/reth/reth_launcher.star @@ -306,9 +306,15 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=participant.el_extra_labels, + extra_labels=dict( + participant.el_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.EL_TYPE.reth + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.EL_TYPE.reth], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/package_io/constants.star b/src/package_io/constants.star index 06126f105..55fecfa57 100644 --- a/src/package_io/constants.star +++ b/src/package_io/constants.star @@ -329,6 +329,9 @@ CLIENT_LANGUAGES = { "web3signer": "java", } +# Label key constant for client language +CLIENT_LANGUAGE_LABEL_KEY = "ethereum-package.client-language" + VOLUME_SIZE["mainnet-shadowfork"] = VOLUME_SIZE["mainnet"] VOLUME_SIZE["sepolia-shadowfork"] = VOLUME_SIZE["sepolia"] VOLUME_SIZE["holesky-shadowfork"] = VOLUME_SIZE["holesky"] diff --git a/src/remote_signer/remote_signer_launcher.star b/src/remote_signer/remote_signer_launcher.star index d70e8451a..305cdecb3 100644 --- a/src/remote_signer/remote_signer_launcher.star +++ b/src/remote_signer/remote_signer_launcher.star @@ -164,10 +164,14 @@ def get_config( client_type=constants.CLIENT_TYPES.remote_signer, image=image, connected_client=vc_type, - extra_labels=participant.remote_signer_extra_labels, - client_language=constants.CLIENT_LANGUAGES[ - constants.REMOTE_SIGNER_TYPE.web3signer - ], + extra_labels=dict( + participant.remote_signer_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.REMOTE_SIGNER_TYPE.web3signer + ] + } + ), supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/shared_utils/shared_utils.star b/src/shared_utils/shared_utils.star index 2d39d7ce8..16dde5799 100644 --- a/src/shared_utils/shared_utils.star +++ b/src/shared_utils/shared_utils.star @@ -75,13 +75,7 @@ def zfill_custom(value, width): def label_maker( - client, - client_type, - image, - connected_client, - extra_labels, - client_language, - supernode=False, + client, client_type, image, connected_client, extra_labels, supernode=False ): # Extract sha256 hash if present sha256 = "" @@ -97,7 +91,6 @@ def label_maker( ), # drop the sha256 part of the image from the label "ethereum-package.sha256": sha256, "ethereum-package.connected-client": connected_client, - "ethereum-package.client-language": client_language, } if supernode: diff --git a/src/vc/lighthouse.star b/src/vc/lighthouse.star index fa2937436..aca974d95 100644 --- a/src/vc/lighthouse.star +++ b/src/vc/lighthouse.star @@ -126,9 +126,15 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=participant.vc_extra_labels, + extra_labels=dict( + participant.vc_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.VC_TYPE.lighthouse + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.lighthouse], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/lodestar.star b/src/vc/lodestar.star index e39b00a17..2f89461ba 100644 --- a/src/vc/lodestar.star +++ b/src/vc/lodestar.star @@ -140,9 +140,15 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=participant.vc_extra_labels, + extra_labels=dict( + participant.vc_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.VC_TYPE.lodestar + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.lodestar], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/nimbus.star b/src/vc/nimbus.star index b365e15c9..556e577be 100644 --- a/src/vc/nimbus.star +++ b/src/vc/nimbus.star @@ -113,9 +113,15 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=participant.vc_extra_labels, + extra_labels=dict( + participant.vc_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.VC_TYPE.nimbus + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.nimbus], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/prysm.star b/src/vc/prysm.star index 1e3e287e3..85b959ccb 100644 --- a/src/vc/prysm.star +++ b/src/vc/prysm.star @@ -129,9 +129,15 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=participant.vc_extra_labels, + extra_labels=dict( + participant.vc_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.VC_TYPE.prysm + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.prysm], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/teku.star b/src/vc/teku.star index ffe77c7ec..0333d6042 100644 --- a/src/vc/teku.star +++ b/src/vc/teku.star @@ -131,9 +131,15 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=participant.vc_extra_labels, + extra_labels=dict( + participant.vc_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.VC_TYPE.teku + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.teku], ), "tolerations": tolerations, "node_selectors": node_selectors, diff --git a/src/vc/vero.star b/src/vc/vero.star index 7d8d6597d..366a8d496 100644 --- a/src/vc/vero.star +++ b/src/vc/vero.star @@ -77,9 +77,15 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=participant.vc_extra_labels, + extra_labels=dict( + participant.vc_extra_labels, + **{ + constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ + constants.VC_TYPE.vero + ] + } + ), supernode=participant.supernode, - client_language=constants.CLIENT_LANGUAGES[constants.VC_TYPE.vero], ), "tolerations": tolerations, "node_selectors": node_selectors, From d09ee6e8a5aaeb7b3d221975c1b1693171e541c8 Mon Sep 17 00:00:00 2001 From: 0xTylerHolmes Date: Sun, 22 Jun 2025 15:06:48 -0400 Subject: [PATCH 08/11] update README to add new labels and fix paths of old ones. --- README.md | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 8548862af..81c569513 100644 --- a/README.md +++ b/README.md @@ -1256,34 +1256,38 @@ There are 4 custom labels that can be used to identify the nodes in the network. Execution Layer (EL) nodes: ```sh - "com.kurtosistech.custom.ethereum-package-client": "geth", - "com.kurtosistech.custom.ethereum-package-client-image": "ethereum-client-go-latest", - "com.kurtosistech.custom.ethereum-package-client-type": "execution", - "com.kurtosistech.custom.ethereum-package-connected-client": "lighthouse", + "kurtosistech.com.custom/ethereum-package.client": "geth", + "kurtosistech.com.custom/ethereum-package.client-image": "ethereum-client-go-latest", + "kurtosistech.com.custom/ethereum-package.client-language:": "go", + "kurtosistech.com.custom/ethereum-package.client-type": "execution", + "kurtosistech.com.custom/ethereum-package.connected-client": "lighthouse", ``` Consensus Layer (CL) nodes - Beacon: ```sh - "com.kurtosistech.custom.ethereum-package-client": "lighthouse", - "com.kurtosistech.custom.ethereum-package-client-image": "sigp-lighthouse-latest", - "com.kurtosistech.custom.ethereum-package-client-type": "beacon", - "com.kurtosistech.custom.ethereum-package-connected-client": "geth", + "kurtosistech.com.custom/ethereum-package.client": "lighthouse", + "kurtosistech.com.custom/ethereum-package.client-image": "sigp-lighthouse-latest", + "kurtosistech.com.custom/ethereum-package.client-language:": "rust", + "kurtosistech.com.custom/ethereum-package.client-type": "beacon", + "kurtosistech.com.custom/ethereum-package.connected-client": "geth", ``` Consensus Layer (CL) nodes - Validator: ```sh - "com.kurtosistech.custom.ethereum-package-client": "lighthouse", - "com.kurtosistech.custom.ethereum-package-client-image": "sigp-lighthouse-latest", - "com.kurtosistech.custom.ethereum-package-client-type": "validator", - "com.kurtosistech.custom.ethereum-package-connected-client": "geth", + "kurtosistech.com.custom/ethereum-package.client": "lighthouse", + "kurtosistech.com.custom/ethereum-package.client-image": "sigp-lighthouse-latest", + "kurtosistech.com.custom/ethereum-package.client-language:": "rust", + "kurtosistech.com.custom/ethereum-package.client-type": "validator", + "kurtosistech.com.custom/ethereum-package.connected-client": "geth", ``` -`ethereum-package-client` describes which client is running on the node. -`ethereum-package-client-image` describes the image that is used for the client. -`ethereum-package-client-type` describes the type of client that is running on the node (`execution`,`beacon` or `validator`). -`ethereum-package-connected-client` describes the CL/EL client that is connected to the EL/CL client. +* `ethereum-package.client` describes which client is running on the node. +* `ethereum-package.client-image` describes the image that is used for the client. +* `ethereum-package.client-type` describes the type of client that is running on the node (`execution`,`beacon` or `validator`). +* `ethereum-package.connected-client` describes the CL/EL client that is connected to the EL/CL client. +* `ethereum-package.client-language` describes the implementation language of the running service. ## Proposer Builder Separation (PBS) emulation From 8f779d4e222ae62e216801d7adaa33f998eb959b Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Mon, 23 Jun 2025 16:58:24 +0200 Subject: [PATCH 09/11] make it a bit more clean --- src/cl/grandine/grandine_launcher.star | 9 +-------- src/cl/lighthouse/lighthouse_launcher.star | 9 +-------- src/cl/lodestar/lodestar_launcher.star | 9 +-------- src/cl/nimbus/nimbus_launcher.star | 9 +-------- src/cl/prysm/prysm_launcher.star | 9 +-------- src/cl/teku/teku_launcher.star | 9 +-------- src/el/besu/besu_launcher.star | 9 +-------- src/el/erigon/erigon_launcher.star | 9 +-------- src/el/ethereumjs/ethereumjs_launcher.star | 9 +-------- src/el/geth/geth_launcher.star | 9 +-------- src/el/nethermind/nethermind_launcher.star | 9 +-------- src/el/nimbus-eth1/nimbus_launcher.star | 9 +-------- src/el/reth/reth_launcher.star | 9 +-------- src/remote_signer/remote_signer_launcher.star | 9 +-------- src/shared_utils/shared_utils.star | 4 ++++ src/vc/lighthouse.star | 9 +-------- src/vc/lodestar.star | 9 +-------- src/vc/nimbus.star | 9 +-------- src/vc/prysm.star | 9 +-------- src/vc/teku.star | 9 +-------- src/vc/vero.star | 9 +-------- 21 files changed, 24 insertions(+), 160 deletions(-) diff --git a/src/cl/grandine/grandine_launcher.star b/src/cl/grandine/grandine_launcher.star index 6247226f9..e5542984b 100644 --- a/src/cl/grandine/grandine_launcher.star +++ b/src/cl/grandine/grandine_launcher.star @@ -365,14 +365,7 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=dict( - participant.cl_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.CL_TYPE.grandine - ] - } - ), + extra_labels=participant.cl_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/cl/lighthouse/lighthouse_launcher.star b/src/cl/lighthouse/lighthouse_launcher.star index 42281a640..08d0ffbc7 100644 --- a/src/cl/lighthouse/lighthouse_launcher.star +++ b/src/cl/lighthouse/lighthouse_launcher.star @@ -354,14 +354,7 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=dict( - participant.cl_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.CL_TYPE.lighthouse - ] - } - ), + extra_labels=participant.cl_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/cl/lodestar/lodestar_launcher.star b/src/cl/lodestar/lodestar_launcher.star index 5e37aa6be..16b33a3dc 100644 --- a/src/cl/lodestar/lodestar_launcher.star +++ b/src/cl/lodestar/lodestar_launcher.star @@ -341,14 +341,7 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=dict( - participant.cl_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.CL_TYPE.lodestar - ] - } - ), + extra_labels=participant.cl_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/cl/nimbus/nimbus_launcher.star b/src/cl/nimbus/nimbus_launcher.star index c61f68bdf..092ed4424 100644 --- a/src/cl/nimbus/nimbus_launcher.star +++ b/src/cl/nimbus/nimbus_launcher.star @@ -371,14 +371,7 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=dict( - participant.cl_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.CL_TYPE.nimbus - ] - } - ), + extra_labels=participant.cl_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/cl/prysm/prysm_launcher.star b/src/cl/prysm/prysm_launcher.star index 751678b4e..ec48ed560 100644 --- a/src/cl/prysm/prysm_launcher.star +++ b/src/cl/prysm/prysm_launcher.star @@ -348,14 +348,7 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=dict( - participant.cl_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.CL_TYPE.prysm - ] - } - ), + extra_labels=participant.cl_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/cl/teku/teku_launcher.star b/src/cl/teku/teku_launcher.star index 7c229b862..05549ce8d 100644 --- a/src/cl/teku/teku_launcher.star +++ b/src/cl/teku/teku_launcher.star @@ -384,14 +384,7 @@ def get_beacon_config( client_type=constants.CLIENT_TYPES.cl, image=participant.cl_image[-constants.MAX_LABEL_LENGTH :], connected_client=el_context.client_name, - extra_labels=dict( - participant.cl_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.CL_TYPE.teku - ] - } - ), + extra_labels=participant.cl_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/el/besu/besu_launcher.star b/src/el/besu/besu_launcher.star index 3b4ff08ef..785c04baa 100644 --- a/src/el/besu/besu_launcher.star +++ b/src/el/besu/besu_launcher.star @@ -262,14 +262,7 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=dict( - participant.el_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.EL_TYPE.besu - ] - } - ), + extra_labels=participant.el_extra_labels, supernode=participant.supernode, ), "user": User(uid=0, gid=0), diff --git a/src/el/erigon/erigon_launcher.star b/src/el/erigon/erigon_launcher.star index d4b21d5d5..ff8639cc4 100644 --- a/src/el/erigon/erigon_launcher.star +++ b/src/el/erigon/erigon_launcher.star @@ -266,14 +266,7 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=dict( - participant.el_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.EL_TYPE.erigon - ] - } - ), + extra_labels=participant.el_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/el/ethereumjs/ethereumjs_launcher.star b/src/el/ethereumjs/ethereumjs_launcher.star index 2ca12057f..f859a56ca 100644 --- a/src/el/ethereumjs/ethereumjs_launcher.star +++ b/src/el/ethereumjs/ethereumjs_launcher.star @@ -252,14 +252,7 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=dict( - participant.el_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.EL_TYPE.ethereumjs - ] - } - ), + extra_labels=participant.el_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/el/geth/geth_launcher.star b/src/el/geth/geth_launcher.star index a3f9c9098..1fcbb3a00 100644 --- a/src/el/geth/geth_launcher.star +++ b/src/el/geth/geth_launcher.star @@ -323,14 +323,7 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=dict( - participant.el_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.EL_TYPE.geth - ] - } - ), + extra_labels=participant.el_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/el/nethermind/nethermind_launcher.star b/src/el/nethermind/nethermind_launcher.star index b823e0fe4..1b6330eda 100644 --- a/src/el/nethermind/nethermind_launcher.star +++ b/src/el/nethermind/nethermind_launcher.star @@ -244,14 +244,7 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=dict( - participant.el_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.EL_TYPE.nethermind - ] - } - ), + extra_labels=participant.el_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/el/nimbus-eth1/nimbus_launcher.star b/src/el/nimbus-eth1/nimbus_launcher.star index a9298d360..c01f6302c 100644 --- a/src/el/nimbus-eth1/nimbus_launcher.star +++ b/src/el/nimbus-eth1/nimbus_launcher.star @@ -235,14 +235,7 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=dict( - participant.el_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.EL_TYPE.nimbus - ] - } - ), + extra_labels=participant.el_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/el/reth/reth_launcher.star b/src/el/reth/reth_launcher.star index fb9a60e9d..bf2554907 100644 --- a/src/el/reth/reth_launcher.star +++ b/src/el/reth/reth_launcher.star @@ -306,14 +306,7 @@ def get_config( client_type=constants.CLIENT_TYPES.el, image=participant.el_image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_client_name, - extra_labels=dict( - participant.el_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.EL_TYPE.reth - ] - } - ), + extra_labels=participant.el_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/remote_signer/remote_signer_launcher.star b/src/remote_signer/remote_signer_launcher.star index 305cdecb3..fd7e9569c 100644 --- a/src/remote_signer/remote_signer_launcher.star +++ b/src/remote_signer/remote_signer_launcher.star @@ -164,14 +164,7 @@ def get_config( client_type=constants.CLIENT_TYPES.remote_signer, image=image, connected_client=vc_type, - extra_labels=dict( - participant.remote_signer_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.REMOTE_SIGNER_TYPE.web3signer - ] - } - ), + extra_labels=participant.remote_signer_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/shared_utils/shared_utils.star b/src/shared_utils/shared_utils.star index 16dde5799..58b073322 100644 --- a/src/shared_utils/shared_utils.star +++ b/src/shared_utils/shared_utils.star @@ -96,6 +96,10 @@ def label_maker( if supernode: labels["ethereum-package.supernode"] = str(supernode) + # Automatically add client language label if client is known + if client in constants.CLIENT_LANGUAGES: + labels[constants.CLIENT_LANGUAGE_LABEL_KEY] = constants.CLIENT_LANGUAGES[client] + # Add extra_labels to the labels dictionary labels.update(extra_labels) diff --git a/src/vc/lighthouse.star b/src/vc/lighthouse.star index aca974d95..9ffd9ab12 100644 --- a/src/vc/lighthouse.star +++ b/src/vc/lighthouse.star @@ -126,14 +126,7 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=dict( - participant.vc_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.VC_TYPE.lighthouse - ] - } - ), + extra_labels=participant.vc_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/vc/lodestar.star b/src/vc/lodestar.star index 2f89461ba..357c64ace 100644 --- a/src/vc/lodestar.star +++ b/src/vc/lodestar.star @@ -140,14 +140,7 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=dict( - participant.vc_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.VC_TYPE.lodestar - ] - } - ), + extra_labels=participant.vc_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/vc/nimbus.star b/src/vc/nimbus.star index 556e577be..452407eca 100644 --- a/src/vc/nimbus.star +++ b/src/vc/nimbus.star @@ -113,14 +113,7 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=dict( - participant.vc_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.VC_TYPE.nimbus - ] - } - ), + extra_labels=participant.vc_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/vc/prysm.star b/src/vc/prysm.star index 85b959ccb..602afa669 100644 --- a/src/vc/prysm.star +++ b/src/vc/prysm.star @@ -129,14 +129,7 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=dict( - participant.vc_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.VC_TYPE.prysm - ] - } - ), + extra_labels=participant.vc_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/vc/teku.star b/src/vc/teku.star index 0333d6042..205419733 100644 --- a/src/vc/teku.star +++ b/src/vc/teku.star @@ -131,14 +131,7 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=dict( - participant.vc_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.VC_TYPE.teku - ] - } - ), + extra_labels=participant.vc_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, diff --git a/src/vc/vero.star b/src/vc/vero.star index 366a8d496..f157a6f87 100644 --- a/src/vc/vero.star +++ b/src/vc/vero.star @@ -77,14 +77,7 @@ def get_config( client_type=constants.CLIENT_TYPES.validator, image=image[-constants.MAX_LABEL_LENGTH :], connected_client=cl_context.client_name, - extra_labels=dict( - participant.vc_extra_labels, - **{ - constants.CLIENT_LANGUAGE_LABEL_KEY: constants.CLIENT_LANGUAGES[ - constants.VC_TYPE.vero - ] - } - ), + extra_labels=participant.vc_extra_labels, supernode=participant.supernode, ), "tolerations": tolerations, From 1354b00c5bacc0cf58f5bb5f08b0a40f974695ad Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Tue, 24 Jun 2025 11:06:32 +0200 Subject: [PATCH 10/11] Update src/package_io/constants.star Signed-off-by: Barnabas Busa --- src/package_io/constants.star | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package_io/constants.star b/src/package_io/constants.star index 55fecfa57..9d5e30010 100644 --- a/src/package_io/constants.star +++ b/src/package_io/constants.star @@ -324,7 +324,7 @@ CLIENT_LANGUAGES = { "lodestar": "javascript", "grandine": "rust", # Validator Clients (VC) - inherit from CL clients - "vero": "rust", + "vero": "python", # Remote Signers "web3signer": "java", } From 4cac097b6989ff08eeb333ed6b8892b666c02850 Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Tue, 24 Jun 2025 11:07:50 +0200 Subject: [PATCH 11/11] Update src/package_io/constants.star Signed-off-by: Barnabas Busa --- src/package_io/constants.star | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package_io/constants.star b/src/package_io/constants.star index 9d5e30010..131deb262 100644 --- a/src/package_io/constants.star +++ b/src/package_io/constants.star @@ -321,7 +321,7 @@ CLIENT_LANGUAGES = { "lighthouse": "rust", "teku": "java", "prysm": "go", - "lodestar": "javascript", + "lodestar": "typescript", "grandine": "rust", # Validator Clients (VC) - inherit from CL clients "vero": "python",