Skip to content

feat: move some config options out of configmap#7164

Merged
kamiyaa merged 26 commits intomainfrom
jeff/configmap-2
Oct 13, 2025
Merged

feat: move some config options out of configmap#7164
kamiyaa merged 26 commits intomainfrom
jeff/configmap-2

Conversation

@kamiyaa
Copy link
Copy Markdown
Contributor

@kamiyaa kamiyaa commented Oct 6, 2025

Description

  • move the following fields into a config file so we don't run into kubernetes limit
    • metricAppContexts
  • Also make metricAppContexts not a string. Makes it easier to diff and read for human
  • update CONFIG_FILES env var to read from these files
  • update update-agent-config.ts to write config file with metricAppContexts

Summary by CodeRabbit

  • New Features

    • Introduced a separate app-contexts configuration generated alongside the agent config.
    • Relayer now loads app-contexts at runtime for improved configurability.
  • Refactor

    • Partitioned relayer configuration to cleanly separate app-contexts from other settings.
  • Chores

    • Docker image now includes app-contexts at runtime.
    • Deployment configuration updated to load the additional app-contexts config file.
    • Updated container tags for relayer and validators in the testnet4 ReleaseCandidate environment.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Oct 6, 2025

⚠️ No Changeset found

Latest commit: d58bf21

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@kamiyaa kamiyaa changed the title Jeff/configmap 2 feat: move some config options out of configmap Oct 6, 2025
@codecov
Copy link
Copy Markdown

codecov Bot commented Oct 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (20272dc) to head (d58bf21).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #7164   +/-   ##
=====================================
  Coverage   0.00%   0.00%           
=====================================
  Files          1       1           
  Lines         14      14           
=====================================
  Misses        14      14           
Components Coverage Δ
core ∅ <ø> (∅)
hooks ∅ <ø> (∅)
isms ∅ <ø> (∅)
token ∅ <ø> (∅)
middlewares ∅ <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kamiyaa kamiyaa marked this pull request as ready for review October 7, 2025 02:06
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 7, 2025

📝 Walkthrough

Walkthrough

Adds app-contexts config handling alongside existing agent config: new path helpers, script writes a separate app-contexts JSON, relayer config/types split to isolate metricAppContexts, Helm includes the new JSON at runtime, Docker image now ships app-contexts directory, and testnet4 image tags updated.

Changes

Cohort / File(s) Summary
Path helpers
typescript/infra/scripts/agent-utils.ts
Adds getAgentAppContextConfigDirectory() and getAgentAppContextConfigJsonPath(environment) to locate app-contexts config alongside agent config.
Config writer script
typescript/infra/scripts/agents/update-agent-config.ts
Adds writeAgentAppContexts(...); main now writes both agent config and app-contexts JSON; logs target paths.
Relayer config/types
typescript/infra/src/config/agent/relayer.ts
Removes metricAppContexts from RelayerConfigMapConfig; adds RelayerAppContextConfig; RelayerEnvConfig omits app-context keys; assigns metricAppContexts directly from getter.
Agents helm values assembly
typescript/infra/src/agents/index.ts
Excludes metricAppContexts from envConfig; removes it from configMapConfig.
Runtime packaging
rust/Dockerfile
Copies rust/main/app-contexts to /app/app-contexts in runtime image.
Helm relayer
rust/main/helm/hyperlane-agent/templates/relayer-statefulset.yaml
Appends /app/app-contexts/mainnet_config.json to CONFIG_FILES.
Env image tags
typescript/infra/config/environments/testnet4/agent.ts
Updates relayer and validator docker tags to bf57e3e-20251009-163636.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Dev
  participant Script as update-agent-config.ts
  participant Helper as RelayerConfigHelper
  participant FS as Filesystem

  Dev->>Script: run main()
  Script->>Helper: buildConfig(multiProvider, env)
  Helper-->>Script: RelayerConfig (includes metricAppContexts)
  Script->>FS: writeAgentConfig -> relayer-config.json
  Script->>FS: writeAgentAppContexts -> app-contexts/<env>_config.json
  Note over FS: Two JSON files produced side-by-side
Loading
sequenceDiagram
  autonumber
  participant K8s as Kubernetes
  participant Pod as Relayer Pod
  participant Ctr as Container (/app)
  participant Relayer as Relayer Process

  K8s->>Pod: Start StatefulSet
  Pod->>Ctr: Mount configmap relayer-config.json
  Pod->>Ctr: Use bundled /app/app-contexts/<env>_config.json
  Ctr->>Relayer: Start with CONFIG_FILES=relayer-config.json, app-contexts.json
  Relayer-->>Relayer: Load both configs and merge at startup
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • Mo-Hussain
  • yjamin
  • yorhodes
  • ltyu

Poem

New paths in the swamp, configs side-by-side,
The relayer grabs both for a steady ride.
Helm points the way, Docker packs the sacks,
metricAppContexts now travel lighter backs.
Ship it, my friend—logs blink like fireflies at night. 🪄✨

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings, 1 inconclusive)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The PR description explains moving metricAppContexts into a separate config file and updating related tooling, but it lacks the other sections required by the repository template, including Drive-by changes, Related issues, Backward compatibility, and Testing, leaving the template incomplete. Please expand the description to include all template sections by detailing any drive-by changes, linking related issues, stating backward compatibility considerations, and describing what testing has been performed.
Docstring Coverage ⚠️ Warning Docstring coverage is 14.29% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title Check ❓ Inconclusive The title indicates a feature to move config options out of the configmap, which touches on the actual change of extracting metricAppContexts into its own file, but it’s quite generic and doesn’t specify which option or why, making it hard to immediately grasp the core update. Consider updating the title to explicitly reference the key change, for example “feat: extract metricAppContexts from configmap into separate config file” so teammates can understand the primary modification at a glance.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch jeff/configmap-2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
typescript/sdk/src/metadata/agentConfig.ts (1)

428-430: Consider aligning other comma-separated fields for consistency.

Now that addressBlacklist uses an array, you've got a bit of a mixed bag—relayChains (line 406) and skipTransactionGasLimitFor (line 434) still use comma-separated strings via CommaSeparatedChainList and CommaSeparatedDomainList.

For consistency and better developer experience, you might want to migrate those fields to arrays as well in a future update. Arrays are easier to manipulate and more idiomatic in TypeScript.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 877881d and 442743f.

📒 Files selected for processing (6)
  • rust/main/config/mainnet_config.json (114 hunks)
  • typescript/infra/scripts/agent-utils.ts (1 hunks)
  • typescript/infra/scripts/agents/update-agent-config.ts (5 hunks)
  • typescript/infra/src/agents/index.ts (2 hunks)
  • typescript/infra/src/config/agent/relayer.ts (3 hunks)
  • typescript/sdk/src/metadata/agentConfig.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
typescript/sdk/src/**/*.ts

📄 CodeRabbit inference engine (CLAUDE.md)

Keep TypeScript SDK source under typescript/sdk/src/ using the documented abstractions (MultiProvider, HyperlaneCore, MultiProtocolCore)

Files:

  • typescript/sdk/src/metadata/agentConfig.ts
rust/main/config/**

📄 CodeRabbit inference engine (CLAUDE.md)

Store all chain configuration files under rust/main/config so agents can auto-discover them

Files:

  • rust/main/config/mainnet_config.json
🧬 Code graph analysis (1)
typescript/infra/scripts/agents/update-agent-config.ts (4)
typescript/infra/src/agents/index.ts (6)
  • environment (73-75)
  • RelayerHelmManager (190-313)
  • helmValues (81-135)
  • helmValues (199-248)
  • helmValues (326-336)
  • helmValues (356-384)
typescript/infra/scripts/agent-utils.ts (2)
  • getAgentConfig (489-503)
  • getAgentConfigMapJsonPath (730-732)
typescript/infra/src/utils/utils.ts (2)
  • readJSONAtPath (220-222)
  • writeAndFormatJsonAtPath (171-174)
typescript/utils/src/objects.ts (1)
  • objMerge (116-151)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: e2e-matrix (evm)
🔇 Additional comments (1)
rust/main/config/mainnet_config.json (1)

8488-8517: CoinGecko slug confirmed

Slug’s solid—galactica-com returns a USD price, so we’re all set.

Comment thread typescript/infra/scripts/agents/update-agent-config.ts
Comment thread typescript/infra/src/config/agent/relayer.ts Outdated
Comment thread typescript/sdk/src/metadata/agentConfig.ts Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
typescript/infra/scripts/agents/update-agent-config.ts (1)

228-257: Remove unused whitelist field from agentConfigMap
whitelist isn't present in any existing environment configs and wasn’t mentioned in the PR objectives—drop it unless you plan to support it.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 08f748a and c45da18.

📒 Files selected for processing (2)
  • typescript/infra/scripts/agents/update-agent-config.ts (5 hunks)
  • typescript/infra/src/agents/index.ts (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
typescript/infra/scripts/agents/update-agent-config.ts (5)
typescript/infra/src/config/environment.ts (2)
  • DeployEnvironment (31-31)
  • envNameToAgentEnv (40-44)
typescript/infra/scripts/agent-utils.ts (2)
  • getAgentConfig (489-503)
  • getAgentConfigMapJsonPath (730-732)
typescript/infra/src/config/agent/relayer.ts (2)
  • RelayerConfigHelper (132-280)
  • RelayerConfigMapConfig (86-94)
typescript/infra/src/utils/utils.ts (2)
  • readJSONAtPath (220-222)
  • writeAndFormatJsonAtPath (171-174)
typescript/utils/src/objects.ts (1)
  • objMerge (116-151)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (52)
  • GitHub Check: infra-test
  • GitHub Check: cli-evm-e2e-matrix (warp-extend-basic)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-2)
  • GitHub Check: cli-evm-e2e-matrix (warp-send)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-2)
  • GitHub Check: cli-evm-e2e-matrix (warp-rebalancer)
  • GitHub Check: cli-evm-e2e-matrix (warp-read)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-1)
  • GitHub Check: cli-evm-e2e-matrix (warp-bridge-2)
  • GitHub Check: cli-evm-e2e-matrix (warp-init)
  • GitHub Check: cli-evm-e2e-matrix (warp-extend-config)
  • GitHub Check: cli-evm-e2e-matrix (core-apply)
  • GitHub Check: cli-evm-e2e-matrix (warp-deploy)
  • GitHub Check: cli-evm-e2e-matrix (relay)
  • GitHub Check: cli-evm-e2e-matrix (core-read)
  • GitHub Check: cli-evm-e2e-matrix (warp-bridge-1)
  • GitHub Check: cli-evm-e2e-matrix (core-check)
  • GitHub Check: cli-evm-e2e-matrix (warp-extend-recovery)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-3)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-1)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-submitters)
  • GitHub Check: env-test-matrix (mainnet3, inevm, core)
  • GitHub Check: env-test-matrix (mainnet3, arbitrum, core)
  • GitHub Check: cli-evm-e2e-matrix (core-deploy)
  • GitHub Check: cosmos-sdk-e2e-run
  • GitHub Check: env-test-matrix (mainnet3, optimism, igp)
  • GitHub Check: cli-evm-e2e-matrix (core-init)
  • GitHub Check: env-test-matrix (mainnet3, inevm, igp)
  • GitHub Check: env-test-matrix (testnet4, sepolia, core)
  • GitHub Check: env-test-matrix (mainnet3, arbitrum, igp)
  • GitHub Check: env-test-matrix (mainnet3, optimism, core)
  • GitHub Check: env-test-matrix (mainnet3, ethereum, igp)
  • GitHub Check: cli-cosmos-e2e-matrix (warp-read)
  • GitHub Check: cli-cosmos-e2e-matrix (core-read)
  • GitHub Check: env-test-matrix (mainnet3, ethereum, core)
  • GitHub Check: cli-cosmos-e2e-matrix (core-apply)
  • GitHub Check: cli-cosmos-e2e-matrix (warp-deploy)
  • GitHub Check: cli-cosmos-e2e-matrix (core-deploy)
  • GitHub Check: cli-cosmos-e2e-matrix (core-check)
  • GitHub Check: cli-install-test-run
  • GitHub Check: yarn-test-run
  • GitHub Check: build-and-push-to-gcr
  • GitHub Check: lint-rs
  • GitHub Check: lander-coverage
  • GitHub Check: test-rs
  • GitHub Check: build-and-push-to-gcr
  • GitHub Check: e2e-matrix (sealevel)
  • GitHub Check: e2e-matrix (cosmwasm)
  • GitHub Check: e2e-matrix (cosmosnative)
  • GitHub Check: e2e-matrix (radix)
  • GitHub Check: e2e-matrix (starknet)
  • GitHub Check: e2e-matrix (evm)
🔇 Additional comments (5)
typescript/infra/scripts/agents/update-agent-config.ts (4)

30-33: Well, look at that - direct path to the config helper.

The import changes properly address the past review feedback. Using RelayerConfigHelper directly instead of going through RelayerHelmManager.helmValues() keeps things straightforward and avoids unnecessary AWS credential dependencies.

Also applies to: 51-51


61-61: Config map generation flows naturally after agent config.

Good sequencing - generating the agent config map right after the agent config keeps the workflow clean.


207-207: Filepath logging adds helpful context.

Nice touch - knowing where configs are being written makes debugging easier.


233-235: Heads up - this makes network calls to fetch sanctioned addresses.

The buildConfig() method fetches sanctioned address lists from external GitHub URLs. The script will need network connectivity and will fail if those endpoints are unreachable. Based on learnings, this is expected behavior for address blacklist population.

typescript/infra/src/agents/index.ts (1)

9-9: Import looks good for what's visible.

The ProtocolType import is properly retained since it's used later in the file (lines 100 and 110). The annotated code only shows this one line as changed, so can't verify the other import/export removals mentioned in the AI summary.

Comment thread rust/main/config/mainnet_config.json
Comment thread rust/main/app-contexts/mainnet_config.json
Comment thread typescript/infra/scripts/agents/update-agent-config.ts Outdated
Comment thread typescript/infra/scripts/agents/update-agent-config.ts Outdated
Comment thread typescript/infra/scripts/agents/update-agent-config.ts Outdated
Comment thread typescript/infra/src/agents/index.ts Outdated
Comment thread rust/main/config/mainnet_config.json Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8d12390 and 17ce7c6.

📒 Files selected for processing (3)
  • typescript/infra/config/environments/testnet4/agent/configmap.json (1 hunks)
  • typescript/infra/scripts/agent-utils.ts (1 hunks)
  • typescript/infra/scripts/agents/update-agent-config.ts (5 hunks)
🧰 Additional context used
🧬 Code graph analysis (2)
typescript/infra/scripts/agent-utils.ts (1)
typescript/infra/src/config/environment.ts (1)
  • DeployEnvironment (31-31)
typescript/infra/scripts/agents/update-agent-config.ts (4)
typescript/infra/scripts/agent-utils.ts (2)
  • getAgentConfig (489-503)
  • getAgentConfigMapJsonPath (730-732)
typescript/infra/src/config/agent/relayer.ts (2)
  • RelayerConfigHelper (132-280)
  • RelayerConfigMapConfig (86-94)
typescript/infra/src/utils/utils.ts (2)
  • readJSONAtPath (220-222)
  • writeAndFormatJsonAtPath (171-174)
typescript/utils/src/objects.ts (1)
  • objMerge (116-151)
🔇 Additional comments (1)
typescript/infra/scripts/agents/update-agent-config.ts (1)

228-257: Implementation looks solid.

The function properly uses RelayerConfigHelper to build the config and extract just the fields needed for the configmap, avoiding the heavyweight helmValues() path that was flagged in previous reviews. The merge logic with existing config follows the same pattern as writeAgentConfig, which maintains consistency.

One thing worth noting: the whitelist field is included in the config map extraction (line 240), but the static configmap.json doesn't define it. This is fine since objMerge handles undefined fields gracefully, but if whitelist is actually used, you might want to add it to the static config for clarity.

Comment thread typescript/infra/config/environments/testnet4/agent/configmap.json Outdated
@yjamin
Copy link
Copy Markdown
Contributor

yjamin commented Oct 10, 2025

I'm questioning whether or not this has to be part of the version control. What stopping us from building a second docker image thats only for our infra, where we generate all the configs in the build step and include them in the image?

This would keep the repo leaner and we wouldn't have another dependency that might get out of sync, like agents config & registry rn.

@yjamin
Copy link
Copy Markdown
Contributor

yjamin commented Oct 10, 2025

I'm also curios if configuring the agent with the deploy script via the HTTP API is a valid option? I think this would make deploys take very long, but maybe I'm mistaken.

Comment thread typescript/infra/config/environments/testnet4/agent.ts
@kamiyaa
Copy link
Copy Markdown
Contributor Author

kamiyaa commented Oct 10, 2025

I'm questioning whether or not this has to be part of the version control. What stopping us from building a second docker image thats only for our infra, where we generate all the configs in the build step and include them in the image?

This would keep the repo leaner and we wouldn't have another dependency that might get out of sync, like agents config & registry rn.

Yeah, that's also an option; to build a second docker image. Might need more opinions from others though

@kamiyaa
Copy link
Copy Markdown
Contributor Author

kamiyaa commented Oct 10, 2025

I'm also curios if configuring the agent with the deploy script via the HTTP API is a valid option? I think this would make deploys take very long, but maybe I'm mistaken.

Also possible, but now we will need to put behind an Arc<RwLock<>>

Comment thread rust/main/app-contexts/testnet_config.json Outdated
Comment thread typescript/infra/scripts/agents/update-agent-config.ts Outdated
Comment thread typescript/infra/scripts/agent-utils.ts
Comment thread rust/main/config/mainnet_config.json
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
typescript/infra/scripts/agents/update-agent-config.ts (1)

207-207: Keep the logging consistent across the swamp.

You've got rootLogger humming along nicely in the rest of the file (see lines 155, 180), but here you're using console.log. Might want to stick with rootLogger.info() so everything stays in harmony. Same goes for line 244 down below.

Apply this diff:

-  console.log(`Writing config to ${filepath}`);
+  rootLogger.info(`Writing agent config to ${filepath}`);

And for line 244:

-  console.log(`Writing config to ${filepath}`);
+  rootLogger.info(`Writing app contexts config to ${filepath}`);
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 622065e and 4587593.

📒 Files selected for processing (3)
  • rust/main/helm/hyperlane-agent/templates/relayer-statefulset.yaml (1 hunks)
  • typescript/infra/scripts/agent-utils.ts (1 hunks)
  • typescript/infra/scripts/agents/update-agent-config.ts (5 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • rust/main/helm/hyperlane-agent/templates/relayer-statefulset.yaml
🧰 Additional context used
🧬 Code graph analysis (1)
typescript/infra/scripts/agents/update-agent-config.ts (6)
typescript/infra/src/agents/index.ts (1)
  • environment (75-77)
typescript/infra/src/config/environment.ts (2)
  • DeployEnvironment (31-31)
  • envNameToAgentEnv (40-44)
typescript/infra/scripts/agent-utils.ts (2)
  • getAgentConfig (496-510)
  • getAgentAppContextConfigJsonPath (741-748)
typescript/infra/src/config/agent/relayer.ts (2)
  • RelayerConfigHelper (130-280)
  • RelayerAppContextConfig (92-92)
typescript/infra/src/utils/utils.ts (2)
  • readJSONAtPath (239-241)
  • writeAndFormatJsonAtPath (171-174)
typescript/utils/src/objects.ts (1)
  • objMerge (116-151)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (48)
  • GitHub Check: cli-evm-e2e-matrix (warp-deploy)
  • GitHub Check: cli-evm-e2e-matrix (warp-extend-config)
  • GitHub Check: cli-evm-e2e-matrix (warp-bridge-2)
  • GitHub Check: cli-evm-e2e-matrix (warp-send)
  • GitHub Check: cli-evm-e2e-matrix (warp-rebalancer)
  • GitHub Check: cli-evm-e2e-matrix (warp-init)
  • GitHub Check: cli-evm-e2e-matrix (warp-extend-recovery)
  • GitHub Check: cli-evm-e2e-matrix (warp-extend-basic)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-3)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-2)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-1)
  • GitHub Check: cli-evm-e2e-matrix (relay)
  • GitHub Check: cli-evm-e2e-matrix (warp-read)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-submitters)
  • GitHub Check: cli-evm-e2e-matrix (core-init)
  • GitHub Check: cli-evm-e2e-matrix (core-deploy)
  • GitHub Check: cli-evm-e2e-matrix (warp-bridge-1)
  • GitHub Check: cli-evm-e2e-matrix (core-apply)
  • GitHub Check: cli-evm-e2e-matrix (core-read)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-2)
  • GitHub Check: env-test-matrix (mainnet3, ethereum, core)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-1)
  • GitHub Check: cli-evm-e2e-matrix (core-check)
  • GitHub Check: env-test-matrix (mainnet3, inevm, igp)
  • GitHub Check: env-test-matrix (testnet4, sepolia, core)
  • GitHub Check: env-test-matrix (mainnet3, inevm, core)
  • GitHub Check: env-test-matrix (mainnet3, optimism, core)
  • GitHub Check: env-test-matrix (mainnet3, arbitrum, core)
  • GitHub Check: cli-cosmos-e2e-matrix (warp-deploy)
  • GitHub Check: cli-cosmos-e2e-matrix (core-apply)
  • GitHub Check: cosmos-sdk-e2e-run
  • GitHub Check: cli-cosmos-e2e-matrix (core-read)
  • GitHub Check: cli-cosmos-e2e-matrix (warp-read)
  • GitHub Check: cli-cosmos-e2e-matrix (core-check)
  • GitHub Check: cli-cosmos-e2e-matrix (core-deploy)
  • GitHub Check: cli-cross-chain-e2e-matrix (warp-deploy)
  • GitHub Check: cli-cross-chain-e2e-matrix (warp-apply)
  • GitHub Check: build-and-push-to-gcr
  • GitHub Check: build-and-push-to-gcr
  • GitHub Check: lint-rs
  • GitHub Check: lander-coverage
  • GitHub Check: test-rs
  • GitHub Check: e2e-matrix (starknet)
  • GitHub Check: e2e-matrix (sealevel)
  • GitHub Check: e2e-matrix (radix)
  • GitHub Check: e2e-matrix (evm)
  • GitHub Check: e2e-matrix (cosmwasm)
  • GitHub Check: e2e-matrix (cosmosnative)
🔇 Additional comments (2)
typescript/infra/scripts/agent-utils.ts (1)

737-748: Clean path helpers, nicely done!

These follow the same pattern as the existing agent config helpers and address the previous review feedback. The directory structure mirrors the agent config layout, which keeps things consistent.

typescript/infra/scripts/agents/update-agent-config.ts (1)

228-254: Solid implementation, this one.

The function properly:

  • Uses RelayerConfigHelper directly (avoiding the HelmManager detour mentioned in past reviews)
  • Handles file existence with merge logic matching writeAgentConfig
  • Uses type-safe RelayerAppContextConfig to extract only what's needed

One thing to be aware of: buildConfig() fetches sanctioned addresses from GitHub even though we only need metricAppContexts. That's a bit of extra work, but since the config building is a single cohesive process, it's probably not worth splitting up just to save a network call.

@kamiyaa kamiyaa enabled auto-merge October 13, 2025 15:04
@kamiyaa kamiyaa added this pull request to the merge queue Oct 13, 2025
Merged via the queue into main with commit 3472d11 Oct 13, 2025
142 of 146 checks passed
@kamiyaa kamiyaa deleted the jeff/configmap-2 branch October 13, 2025 15:48
@github-project-automation github-project-automation Bot moved this from In Review to Done in Hyperlane Tasks Oct 13, 2025
@github-actions github-actions Bot mentioned this pull request Oct 13, 2025
This was referenced Nov 5, 2025
danwt pushed a commit to dymensionxyz/hyperlane-monorepo that referenced this pull request Dec 12, 2025
Co-authored-by: pbio <10051819+paulbalaji@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants