From af912b8b1ad2c825733e73830246d23f833ebe1c Mon Sep 17 00:00:00 2001 From: Nimrod Weiss Date: Tue, 14 Jul 2026 15:42:48 +0300 Subject: [PATCH] deployment,scripts: remove dead configList config key configList was a vestige of the retired preset config path (removed along with loaders.py/NodeConfigLoader and the --config_format flag). Its path value has been dead since native became the sole config loader; only the key's presence still gated the ConfigMap volume/mount and the --config_file arg. The ConfigMap is now built unconditionally for every service (from node.jsonnet) and every service carries a config block, so those gates key off config presence instead. Removes the schema field, the configmap guard, the three pod_builder gates, the merger special-casing, the configList line from all layout/overlay service YAMLs, the dead get_config_list() in liveness_check.py, and the orphaned replacer_deployment_common.json / replacer_common.json test fixtures. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../configs/layouts/consolidated/services/node.yaml | 1 - .../configs/layouts/hybrid/services/committer.yaml | 1 - .../sequencer/configs/layouts/hybrid/services/core.yaml | 1 - .../configs/layouts/hybrid/services/gateway.yaml | 1 - .../sequencer/configs/layouts/hybrid/services/l1.yaml | 1 - .../configs/layouts/hybrid/services/mempool.yaml | 1 - .../configs/layouts/hybrid/services/sierra-compiler.yaml | 1 - .../overlays/hybrid/common/services/committer.yaml | 3 --- .../configs/overlays/hybrid/common/services/core.yaml | 2 -- .../configs/overlays/hybrid/common/services/gateway.yaml | 3 --- .../configs/overlays/hybrid/common/services/l1.yaml | 3 --- .../configs/overlays/hybrid/common/services/mempool.yaml | 2 -- .../overlays/hybrid/common/services/sierra-compiler.yaml | 3 --- .../overlays/hybrid/testing/all-constructs/common.yaml | 3 --- .../hybrid/testing/node-0/services/committer.yaml | 3 --- .../overlays/hybrid/testing/node-0/services/core.yaml | 3 --- .../overlays/hybrid/testing/node-0/services/gateway.yaml | 3 --- .../overlays/hybrid/testing/node-0/services/l1.yaml | 3 --- .../overlays/hybrid/testing/node-0/services/mempool.yaml | 3 --- .../hybrid/testing/node-0/services/sierra-compiler.yaml | 3 --- deployments/sequencer/src/config/merger.py | 7 ++----- deployments/sequencer/src/config/schema.py | 3 --- deployments/sequencer/src/constructs/configmap.py | 4 ---- .../sequencer/src/constructs/helpers/pod_builder.py | 6 +++--- .../test/app_configs/sequencer/replacer_common.json | 3 --- .../app_configs/sequencer/replacer_deployment_common.json | 3 --- scripts/system_tests/liveness_check.py | 8 +------- 27 files changed, 6 insertions(+), 72 deletions(-) delete mode 100644 deployments/sequencer/test/app_configs/sequencer/replacer_common.json delete mode 100644 deployments/sequencer/test/app_configs/sequencer/replacer_deployment_common.json diff --git a/deployments/sequencer/configs/layouts/consolidated/services/node.yaml b/deployments/sequencer/configs/layouts/consolidated/services/node.yaml index b8d9ca75e14..57e499aa034 100644 --- a/deployments/sequencer/configs/layouts/consolidated/services/node.yaml +++ b/deployments/sequencer/configs/layouts/consolidated/services/node.yaml @@ -20,7 +20,6 @@ image: # Config Configuration # See docs/CONFIGMAP_CONFIGURATION.md for all available options config: - configList: crates/apollo_deployments/resources/services/consolidated/replacer_deployment_node.json # mountPath: "/config/sequencer/presets" # Override default mount path # readOnly: true # Whether the config map is read only. Defaults to true. diff --git a/deployments/sequencer/configs/layouts/hybrid/services/committer.yaml b/deployments/sequencer/configs/layouts/hybrid/services/committer.yaml index 3ee40d3e351..64865055d89 100644 --- a/deployments/sequencer/configs/layouts/hybrid/services/committer.yaml +++ b/deployments/sequencer/configs/layouts/hybrid/services/committer.yaml @@ -12,7 +12,6 @@ replicas: 1 # Config Configuration # See docs/CONFIGMAP_CONFIGURATION.md for all available options config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_committer.json # mountPath: "/config/sequencer/presets" # Override default mount path sequencerConfig: {} diff --git a/deployments/sequencer/configs/layouts/hybrid/services/core.yaml b/deployments/sequencer/configs/layouts/hybrid/services/core.yaml index 774d300fa1e..d1f46a6a510 100644 --- a/deployments/sequencer/configs/layouts/hybrid/services/core.yaml +++ b/deployments/sequencer/configs/layouts/hybrid/services/core.yaml @@ -12,7 +12,6 @@ replicas: 1 # Config Configuration # See docs/CONFIGMAP_CONFIGURATION.md for all available options config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_core.json # mountPath: "/config/sequencer/presets" # Override default mount path # readOnly: true # Whether the config map is read only. Defaults to true. diff --git a/deployments/sequencer/configs/layouts/hybrid/services/gateway.yaml b/deployments/sequencer/configs/layouts/hybrid/services/gateway.yaml index 9a12c160cb3..c252ed95ee4 100644 --- a/deployments/sequencer/configs/layouts/hybrid/services/gateway.yaml +++ b/deployments/sequencer/configs/layouts/hybrid/services/gateway.yaml @@ -12,7 +12,6 @@ replicas: 1 # Config Configuration # See docs/CONFIGMAP_CONFIGURATION.md for all available options config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_gateway.json # mountPath: "/config/sequencer/presets" # Override default mount path # readOnly: true # Whether the config map is read only. Defaults to true. diff --git a/deployments/sequencer/configs/layouts/hybrid/services/l1.yaml b/deployments/sequencer/configs/layouts/hybrid/services/l1.yaml index dd1deabe3bd..dce53c79e15 100644 --- a/deployments/sequencer/configs/layouts/hybrid/services/l1.yaml +++ b/deployments/sequencer/configs/layouts/hybrid/services/l1.yaml @@ -12,7 +12,6 @@ replicas: 1 # Config Configuration # See docs/CONFIGMAP_CONFIGURATION.md for all available options config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_l1.json # mountPath: "/config/sequencer/presets" # Override default mount path # readOnly: true # Whether the config map is read only. Defaults to true. diff --git a/deployments/sequencer/configs/layouts/hybrid/services/mempool.yaml b/deployments/sequencer/configs/layouts/hybrid/services/mempool.yaml index 4248055137c..e7a260b9194 100644 --- a/deployments/sequencer/configs/layouts/hybrid/services/mempool.yaml +++ b/deployments/sequencer/configs/layouts/hybrid/services/mempool.yaml @@ -12,7 +12,6 @@ replicas: 1 # Config Configuration # See docs/CONFIGMAP_CONFIGURATION.md for all available options config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_mempool.json # mountPath: "/config/sequencer/presets" # Override default mount path # readOnly: true # Whether the config map is read only. Defaults to true. diff --git a/deployments/sequencer/configs/layouts/hybrid/services/sierra-compiler.yaml b/deployments/sequencer/configs/layouts/hybrid/services/sierra-compiler.yaml index 8e9aeaaa420..9f8ccdac3b4 100644 --- a/deployments/sequencer/configs/layouts/hybrid/services/sierra-compiler.yaml +++ b/deployments/sequencer/configs/layouts/hybrid/services/sierra-compiler.yaml @@ -12,7 +12,6 @@ replicas: 1 # Config Configuration # See docs/CONFIGMAP_CONFIGURATION.md for all available options config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_sierra_compiler.json # mountPath: "/config/sequencer/presets" # Override default mount path # readOnly: true # Whether the config map is read only. Defaults to true. diff --git a/deployments/sequencer/configs/overlays/hybrid/common/services/committer.yaml b/deployments/sequencer/configs/overlays/hybrid/common/services/committer.yaml index fa70f496a04..39b30cfc0bd 100644 --- a/deployments/sequencer/configs/overlays/hybrid/common/services/committer.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/common/services/committer.yaml @@ -1,7 +1,4 @@ name: committer -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_committer.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/configs/overlays/hybrid/common/services/core.yaml b/deployments/sequencer/configs/overlays/hybrid/common/services/core.yaml index 16e71bd942d..f15a0c40aea 100644 --- a/deployments/sequencer/configs/overlays/hybrid/common/services/core.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/common/services/core.yaml @@ -1,6 +1,4 @@ name: core -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_core.json service: ports: - name: batcher diff --git a/deployments/sequencer/configs/overlays/hybrid/common/services/gateway.yaml b/deployments/sequencer/configs/overlays/hybrid/common/services/gateway.yaml index 1f81f36d26e..1da596450ab 100644 --- a/deployments/sequencer/configs/overlays/hybrid/common/services/gateway.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/common/services/gateway.yaml @@ -1,7 +1,4 @@ name: gateway -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_gateway.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/configs/overlays/hybrid/common/services/l1.yaml b/deployments/sequencer/configs/overlays/hybrid/common/services/l1.yaml index e0ddcc597a7..dd3ae711c14 100644 --- a/deployments/sequencer/configs/overlays/hybrid/common/services/l1.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/common/services/l1.yaml @@ -1,7 +1,4 @@ name: l1 -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_l1.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/configs/overlays/hybrid/common/services/mempool.yaml b/deployments/sequencer/configs/overlays/hybrid/common/services/mempool.yaml index d7b30a73083..55c526dbd0b 100644 --- a/deployments/sequencer/configs/overlays/hybrid/common/services/mempool.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/common/services/mempool.yaml @@ -1,6 +1,4 @@ name: mempool -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_mempool.json service: ports: - name: mempool diff --git a/deployments/sequencer/configs/overlays/hybrid/common/services/sierra-compiler.yaml b/deployments/sequencer/configs/overlays/hybrid/common/services/sierra-compiler.yaml index 30983bd9c5c..a5fdd63f426 100644 --- a/deployments/sequencer/configs/overlays/hybrid/common/services/sierra-compiler.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/common/services/sierra-compiler.yaml @@ -1,7 +1,4 @@ name: sierracompiler -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_sierra_compiler.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/all-constructs/common.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/all-constructs/common.yaml index 6aa5516f56a..89a08949c9f 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/all-constructs/common.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/all-constructs/common.yaml @@ -13,9 +13,6 @@ image: digest: '' imagePullPolicy: IfNotPresent -config: - configList: deployments/sequencer/test/app_configs/sequencer/replacer_deployment_common.json - service: enabled: true type: "ClusterIP" diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/committer.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/committer.yaml index 437c48cc979..e945c2793ec 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/committer.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/committer.yaml @@ -5,9 +5,6 @@ name: committer replicas: 1 -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_committer.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/core.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/core.yaml index 8c6baa664b8..5e544ef2b7c 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/core.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/core.yaml @@ -6,9 +6,6 @@ name: core replicas: 1 -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_core.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/gateway.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/gateway.yaml index d26447cf844..269a36b6689 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/gateway.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/gateway.yaml @@ -5,9 +5,6 @@ name: gateway replicas: 1 -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_gateway.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/l1.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/l1.yaml index 995c3a0cd18..3aede477fc4 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/l1.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/l1.yaml @@ -5,9 +5,6 @@ name: l1 replicas: 1 -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_l1.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/mempool.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/mempool.yaml index 8a3ead2b180..42641b9af68 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/mempool.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/mempool.yaml @@ -5,9 +5,6 @@ name: mempool replicas: 1 -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_mempool.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/sierra-compiler.yaml b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/sierra-compiler.yaml index 97fa8152009..0c88c14d185 100644 --- a/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/sierra-compiler.yaml +++ b/deployments/sequencer/configs/overlays/hybrid/testing/node-0/services/sierra-compiler.yaml @@ -5,9 +5,6 @@ name: sierracompiler replicas: 1 -config: - configList: crates/apollo_deployments/resources/services/hybrid/replacer_deployment_sierra_compiler.json - service: enabled: true type: ClusterIP diff --git a/deployments/sequencer/src/config/merger.py b/deployments/sequencer/src/config/merger.py index 586818e3f52..61e977fd292 100644 --- a/deployments/sequencer/src/config/merger.py +++ b/deployments/sequencer/src/config/merger.py @@ -47,7 +47,7 @@ def _load_common_yaml(path: str, config_base_dir: str | None = None) -> dict | N def _merge_common_into_service( common_config: CommonConfig | dict | None, service_config: ServiceConfig ) -> ServiceConfig: - """Merge common config into service config. Common first, service overrides. Special handling for service.ports (merge by name), config.sequencerConfig, config.configList.""" + """Merge common config into service config. Common first, service overrides. Special handling for service.ports (merge by name), config.sequencerConfig.""" service_dict = service_config.model_dump(mode="python", exclude_unset=True, exclude_none=True) if common_config is None: return service_config @@ -98,11 +98,8 @@ def deep_merge(base: dict, overlay: dict) -> dict: **deepcopy(common_val["sequencerConfig"]), **merged_cfg.get("sequencerConfig", {}), } - # Common first, service overrides: only set configList from common when service has none - if "configList" in common_val and "configList" not in merged_cfg: - merged_cfg["configList"] = deepcopy(common_val["configList"]) for k, v in common_val.items(): - if k in ("sequencerConfig", "configList"): + if k == "sequencerConfig": continue if k not in merged_cfg: merged_cfg[k] = deepcopy(v) diff --git a/deployments/sequencer/src/config/schema.py b/deployments/sequencer/src/config/schema.py index 3ddc6aa29eb..7c56c57d09f 100644 --- a/deployments/sequencer/src/config/schema.py +++ b/deployments/sequencer/src/config/schema.py @@ -467,9 +467,6 @@ class PriorityClass(StrictBaseModel): class Config(StrictBaseModel): - configList: Optional[ - str - ] = None # Path to JSON file containing list of config paths (required for service configs, optional for shared config) mountPath: Optional[str] = None # Default: "/config/sequencer/presets/" readOnly: Optional[bool] = None # Whether the config map mount is read-only. Defaults to True. sequencerConfig: Optional[ diff --git a/deployments/sequencer/src/constructs/configmap.py b/deployments/sequencer/src/constructs/configmap.py index aa9303717ff..a90f0877620 100644 --- a/deployments/sequencer/src/constructs/configmap.py +++ b/deployments/sequencer/src/constructs/configmap.py @@ -35,10 +35,6 @@ def _get_config_map(self) -> k8s.KubeConfigMap: raise ValueError( f"config is required for service '{self.service_config.name}' but was not provided" ) - if not self.service_config.config.configList: - raise ValueError( - f"config.configList is required for service '{self.service_config.name}' but was not provided" - ) node_config = self._build_native_node_config() diff --git a/deployments/sequencer/src/constructs/helpers/pod_builder.py b/deployments/sequencer/src/constructs/helpers/pod_builder.py index 653cc4989b6..15b49fed1a8 100644 --- a/deployments/sequencer/src/constructs/helpers/pod_builder.py +++ b/deployments/sequencer/src/constructs/helpers/pod_builder.py @@ -88,7 +88,7 @@ def _build_container_args(self) -> list[str]: # Add --config_file /config/sequencer/presets/config (ConfigMap) # Note: node version uses directory mount, so path is just the directory + "config" - if self.service_config.config and self.service_config.config.configList: + if self.service_config.config: mount_path = ( getattr(self.service_config.config, "mountPath", None) or "/config/sequencer/presets/" @@ -194,7 +194,7 @@ def _build_volume_mounts(self) -> list[k8s.VolumeMount]: volume_mounts: list[k8s.VolumeMount] = [] # Auto-mount ConfigMap if config exists (as directory, not file) - if self.service_config.config and self.service_config.config.configList: + if self.service_config.config: # Default mountPath is "/config/sequencer/presets/" (with trailing slash to match node/) mount_path = ( getattr(self.service_config.config, "mountPath", None) @@ -315,7 +315,7 @@ def _build_volumes(self) -> list[k8s.Volume]: volumes: list[k8s.Volume] = [] # Always create ConfigMap volume if config exists - if self.service_config.config and self.service_config.config.configList: + if self.service_config.config: volumes.append( k8s.Volume( name=f"sequencer-{self.service_config.name}-config", diff --git a/deployments/sequencer/test/app_configs/sequencer/replacer_common.json b/deployments/sequencer/test/app_configs/sequencer/replacer_common.json deleted file mode 100644 index 579d85c5685..00000000000 --- a/deployments/sequencer/test/app_configs/sequencer/replacer_common.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "components.fake_field": "$$$_COMPONENTS-FAKE_FIELD_$$$" -} diff --git a/deployments/sequencer/test/app_configs/sequencer/replacer_deployment_common.json b/deployments/sequencer/test/app_configs/sequencer/replacer_deployment_common.json deleted file mode 100644 index b8fc29f0b33..00000000000 --- a/deployments/sequencer/test/app_configs/sequencer/replacer_deployment_common.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "deployments/sequencer/test/app_configs/sequencer/replacer_common.json" -] diff --git a/scripts/system_tests/liveness_check.py b/scripts/system_tests/liveness_check.py index 593727a64bd..d7b49abb061 100644 --- a/scripts/system_tests/liveness_check.py +++ b/scripts/system_tests/liveness_check.py @@ -6,7 +6,7 @@ import sys import time from multiprocessing import Process, Queue -from typing import Any, Dict, List, Optional, Union +from typing import Any, Dict, List, Union import numbers import requests @@ -18,12 +18,6 @@ def get_services_from_configs(services: List[Dict[str, Any]]) -> List[str]: return [s["name"] for s in services] -def get_config_list(service_config: Dict[str, Any]) -> Optional[str]: - """Extract configList path from merged service config.""" - config = service_config.get("config", {}) - return config.get("configList") - - def get_monitoring_endpoint_port(service_config: Dict[str, Any]) -> Union[int, float]: """Extract monitoring endpoint port from merged service config.""" # Check sequencerConfig first (most common location)