[DX-4048] support dynamic host port mapping for ChIP Ingress and Router #2564
[DX-4048] support dynamic host port mapping for ChIP Ingress and Router #2564
Conversation
…e CI port collisions
|
👋 Tofel, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
There was a problem hiding this comment.
Pull request overview
This PR aims to eliminate CI port-collision failures by allowing Chip Ingress (docker-compose stack) and Chip Router (testcontainers container) to use dynamically allocated host ports, while also updating related examples and CI workflows.
Changes:
- Add dynamic host-port allocation for Chip Ingress gRPC and Chip Router gRPC/admin endpoints.
- Rename Chip Ingress image/port environment variables toward a
CTF_prefix and adjust wait/health behavior. - Add/adjust smoke examples and GitHub Actions workflows to exercise the updated components.
Reviewed changes
Copilot reviewed 14 out of 16 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| framework/observability/compose/docker-compose.yaml | Updates cadvisor image/version and volume mount options in the observability compose stack. |
| framework/observability.go | Skips copying local dashboards when the dashboards directory does not exist. |
| framework/examples/chip_rotuer/smoke_chip_router.toml | Adds a minimal Chip Router example config. |
| framework/examples/chip_rotuer/smoke_chip_router_test.go | Adds Chip Router smoke tests for dynamic and static port behavior. |
| framework/examples/chip_rotuer/go.mod | Introduces a standalone example module for the Chip Router example. |
| framework/examples/chip_rotuer/go.sum | Adds module sums for the Chip Router example module. |
| framework/examples/chip_rotuer/.tool-versions | Pins the Go toolchain version for the Chip Router example module. |
| framework/examples/chip_ingress/smoke_chip_ingress.toml | Adds a Chip Ingress example config pointing at the Chip Ingress compose file. |
| framework/examples/chip_ingress/smoke_chip_ingress_test.go | Updates env-var checks to use exported constants for Chip Ingress images. |
| framework/components/dockercompose/chip_ingress_set/docker-compose.yml | Switches image env vars to CTF_... and makes Chip Ingress gRPC host port default to 0 (dynamic). |
| framework/components/dockercompose/chip_ingress_set/chip_ingress.go | Implements dynamic host-port resolution via mapped ports and updates compose wait conditions and env-var handling. |
| framework/components/dockercompose/.changeset/v0.1.22.md | Adds a changeset describing the Chip Ingress dockercompose changes. |
| framework/components/chiprouter/chiprouter.go | Implements dynamic host-port behavior when ports are set to 0, plus an env var image override. |
| framework/components/chiprouter/.changeset/v1.0.3.md | Adds a changeset describing Chip Router dynamic port allocation support. |
| .github/workflows/framework-golden-tests-private.yml | Updates Chainlink image to a public ECR image and adds a public ECR login step. |
| .github/workflows/framework-dockercompose-tests.yml | Extends dockercompose CI to run per-example directories via matrix and adds a Chip Router matrix entry. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
3eeb606 to
b8d2af7
Compare
b8d2af7 to
2c8b6d1
Compare
why? to solve CI port collisions like: