Repository navigation
Migrate SD performance test from nats to nats-tls - #377
Merged
Merged
Conversation
nats-release removed the plain `nats` job after v57.23.0, so the service-discovery performance test deployment failed with "Job 'nats' not found in release 'nats'". TNZ-189085 - performance-test-sd job consumes the `nats-tls` link and renders the NATS CA, client cert chain and private key (new nats.cert_chain / nats.private_key properties). - The Go performance test dials tls:// with RootCAs and ClientCert for mutual TLS; the monitoring port still comes from the link. - The test fixture manifest deploys nats-tls on port 4222 with external and client TLS, and issues client certs for the errand and SDC plus a server cert carrying the NATS IP SAN. ai-assisted=yes AI-Tool-Used: Claude, Codex AI-Tool-Use-Level: High AI-Code-Category: Production Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
The perf test now verifies the NATS server certificate against the host it dials. instances[0].address can be a BOSH DNS name that the server cert SANs do not cover, so prefer the link's nats.hostname (the SAN-covered name, as service-discovery-controller does) and fall back to the instance address. TNZ-189085 ai-assisted=yes AI-Tool-Used: Claude AI-Tool-Use-Level: High AI-Code-Category: Production Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Feedback addressed 🤞 |
kart2bc
approved these changes
Nov 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
nats-release removed the plain
natsjob after v57.23.0 (cloudfoundry/nats-release#102), so therun-service-discovery-performance-testsCI job fails to deploy with "Job 'nats' not found in release 'nats'" against nats-release 57.26.0. TNZ-189085performance-test-sdjob consumes thenats-tlslink. It renders the NATS CA, client cert chain and private key from the newnats.cert_chainandnats.private_keyproperties.nats_urluses the link'snats.hostname(the SAN-covered name, the same way service-discovery-controller does it) and falls back to the instance address.tls://with RootCAs and ClientCert for mutual TLS. Monitoring stays on plain HTTP via the link'smonitor_port.nats-tlson port 4222 with external and client TLS. It issues client certs for the errand and SDC, plus a server cert that carries the NATS IP SAN.Companion CI change (merge first): cloudfoundry/wg-app-platform-runtime-ci
fix/sd-perf-nats-tls@ d8b213ce updatescf-networking-release/manifests/performance-sd.ymlto deploynats-tls.Backward Compatibility
Breaking Change? Yes, for the
performance-test-sderrand job only.natslink was removed, and thenats-tlslink is now required.nats.cert_chainandnats.private_keyhave no defaults and must be set to a client cert signed by the nats-tlsclient.tlsCA.natswill fail at deploy time. Migrate it to thenats-tlsjob as in d8b213ce.nats-tls.🤖 Generated with Claude Code