From 127459e8e914cd0d0f7e04b47f91ad6c1f1d56cd Mon Sep 17 00:00:00 2001 From: skudasov Date: Fri, 13 Feb 2026 16:28:06 +0100 Subject: [PATCH 1/5] do not expose p2p --- framework/components/clnode/clnode.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/framework/components/clnode/clnode.go b/framework/components/clnode/clnode.go index 3e1323eb3..45fff5d99 100644 --- a/framework/components/clnode/clnode.go +++ b/framework/components/clnode/clnode.go @@ -200,8 +200,7 @@ func natPortsToK8sFormat(nat nat.PortMap) []string { // exposes custom_ports in format "host:docker" or map 1-to-1 if only "host" port is provided func generatePortBindings(in *Input) ([]string, nat.PortMap, error) { httpPort := fmt.Sprintf("%s/tcp", DefaultHTTPPort) - p2pPort := fmt.Sprintf("%s/udp", DefaultP2PPort) - exposedPorts := []string{httpPort, p2pPort} + exposedPorts := []string{httpPort} portBindings := nat.PortMap{ nat.Port(httpPort): []nat.PortBinding{ { @@ -209,12 +208,6 @@ func generatePortBindings(in *Input) ([]string, nat.PortMap, error) { HostPort: strconv.Itoa(in.Node.HTTPPort), }, }, - nat.Port(p2pPort): []nat.PortBinding{ - { - HostIP: "0.0.0.0", - HostPort: strconv.Itoa(in.Node.P2PPort), - }, - }, } if os.Getenv("CTF_CLNODE_DLV") == "true" { innerDebuggerPort := fmt.Sprintf("%d/tcp", DefaultDebuggerPort) From d92eb6ffd1cb0ef79d522383df90b8a9b5e6e515 Mon Sep 17 00:00:00 2001 From: skudasov Date: Fri, 13 Feb 2026 17:16:04 +0100 Subject: [PATCH 2/5] gomod --- framework/examples/myproject/go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/examples/myproject/go.mod b/framework/examples/myproject/go.mod index 1fa2a325c..d38eaeb90 100644 --- a/framework/examples/myproject/go.mod +++ b/framework/examples/myproject/go.mod @@ -16,7 +16,7 @@ require ( github.com/go-resty/resty/v2 v2.16.5 github.com/jhump/protoreflect v1.17.0 github.com/smartcontractkit/chainlink-testing-framework/framework v0.12.6 - github.com/smartcontractkit/chainlink-testing-framework/framework/components/fake v0.0.0-20250707095700-c7855f06ddd1 + github.com/smartcontractkit/chainlink-testing-framework/framework/components/fake v0.14.1-0.20260213152806-127459e8e914 github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.10 github.com/smartcontractkit/chainlink-testing-framework/wasp v1.51.2 github.com/smartcontractkit/chainlink/v2 v2.20.0 From 895e6febd04030af49a938c11ee6ec9c4cde70d6 Mon Sep 17 00:00:00 2001 From: skudasov Date: Fri, 13 Feb 2026 17:48:28 +0100 Subject: [PATCH 3/5] fix --- framework/components/clnode/clnode.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/framework/components/clnode/clnode.go b/framework/components/clnode/clnode.go index 45fff5d99..1c257baec 100644 --- a/framework/components/clnode/clnode.go +++ b/framework/components/clnode/clnode.go @@ -185,13 +185,14 @@ func generateEntryPoint() []string { // natPortsToK8sFormat transforms nat.PortMap // to Pods port pair format: $external_port:$internal_port -func natPortsToK8sFormat(nat nat.PortMap) []string { +func natPortsToK8sFormat(in *Input, nat nat.PortMap) []string { out := make([]string, 0) for port, portBinding := range nat { for _, b := range portBinding { out = append(out, fmt.Sprintf("%s:%s", b.HostPort, strconv.Itoa(port.Int()))) } } + out = append(out, fmt.Sprintf("%s:%d", DefaultP2PPort, in.Node.P2PPort)) return out } @@ -321,7 +322,7 @@ func newNode(ctx context.Context, in *Input, pgOut *postgres.Output) (*NodeOut, Env: pods.EnvsFromMap(in.Node.EnvVars), Requests: pods.ResourcesMedium(), Limits: pods.ResourcesMedium(), - Ports: natPortsToK8sFormat(portBindings), + Ports: natPortsToK8sFormat(in, portBindings), ContainerSecurityContext: &v1.SecurityContext{ // these are specific things we need for staging cluster RunAsNonRoot: pods.Ptr(true), From 53a9c1c61856d151a4da4d32489f78af4c8cb2d5 Mon Sep 17 00:00:00 2001 From: skudasov Date: Fri, 13 Feb 2026 18:03:29 +0100 Subject: [PATCH 4/5] remove gen env test from default suite --- framework/components/clnode/clnode.go | 3 ++- framework/examples/myproject/go.mod | 2 +- framework/tmpl_gen_test.go | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/framework/components/clnode/clnode.go b/framework/components/clnode/clnode.go index 1c257baec..6213c67b8 100644 --- a/framework/components/clnode/clnode.go +++ b/framework/components/clnode/clnode.go @@ -192,7 +192,8 @@ func natPortsToK8sFormat(in *Input, nat nat.PortMap) []string { out = append(out, fmt.Sprintf("%s:%s", b.HostPort, strconv.Itoa(port.Int()))) } } - out = append(out, fmt.Sprintf("%s:%d", DefaultP2PPort, in.Node.P2PPort)) + // we are exposing P2P port in K8s via service + out = append(out, fmt.Sprintf("%d:%s", in.Node.P2PPort, DefaultP2PPort)) return out } diff --git a/framework/examples/myproject/go.mod b/framework/examples/myproject/go.mod index d38eaeb90..86fb0a29b 100644 --- a/framework/examples/myproject/go.mod +++ b/framework/examples/myproject/go.mod @@ -16,7 +16,7 @@ require ( github.com/go-resty/resty/v2 v2.16.5 github.com/jhump/protoreflect v1.17.0 github.com/smartcontractkit/chainlink-testing-framework/framework v0.12.6 - github.com/smartcontractkit/chainlink-testing-framework/framework/components/fake v0.14.1-0.20260213152806-127459e8e914 + github.com/smartcontractkit/chainlink-testing-framework/framework/components/fake v0.14.1-0.20260213164828-895e6febd040 github.com/smartcontractkit/chainlink-testing-framework/seth v1.50.10 github.com/smartcontractkit/chainlink-testing-framework/wasp v1.51.2 github.com/smartcontractkit/chainlink/v2 v2.20.0 diff --git a/framework/tmpl_gen_test.go b/framework/tmpl_gen_test.go index 9239746b2..1aec1770e 100644 --- a/framework/tmpl_gen_test.go +++ b/framework/tmpl_gen_test.go @@ -38,8 +38,8 @@ type TestCfg struct { NodeSets []*ns.Input `toml:"nodesets" validate:"required"` } -// TestSmokeGenerateDevEnv top-down approach tests until all the environment variations aren't stable -func TestSmokeGenerateDevEnv(t *testing.T) { +// TestGenerateDevEnv top-down approach tests until all the environment variations aren't stable +func TestGenerateDevEnv(t *testing.T) { tests := []struct { name string cliName string From b86031b77ee544f696e7345edffa37a8832ed8f9 Mon Sep 17 00:00:00 2001 From: skudasov Date: Fri, 13 Feb 2026 18:07:21 +0100 Subject: [PATCH 5/5] changeset --- framework/.changeset/v0.14.2.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 framework/.changeset/v0.14.2.md diff --git a/framework/.changeset/v0.14.2.md b/framework/.changeset/v0.14.2.md new file mode 100644 index 000000000..7da317602 --- /dev/null +++ b/framework/.changeset/v0.14.2.md @@ -0,0 +1 @@ +- Expose P2P only in K8s \ No newline at end of file