WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@gabber235
Copy link

Adds a new consolidated natsLeaf configuration block that includes:

  • All NATS-related settings (image, address, ports, domain, credentials)
  • TLS configuration with ca, cert, and key path options
  • Extra volumes and volume mounts for the NATS leaf container

The existing top-level NATS fields are deprecated but still functional for backwards compatibility. The new natsLeaf fields take precedence.

This allows users to:

  1. Mount custom TLS certificates via extraVolumes/extraVolumeMounts
  2. Configure NATS leaf TLS by specifying paths to the mounted certs
  3. Consolidate all NATS leaf configuration in one place

Feature or Problem

When connecting wasmCloud hosts to a NATS server that uses TLS with self-signed or private CA certificates, users previously had no way to configure the NATS leaf sidecar to trust the CA. This resulted in certificate signed by unknown authority errors when connecting to TLS-enabled NATS clusters.

Additionally, NATS-related configuration was scattered across multiple top-level fields (natsLeafImage, secretName, leafNodeDomain, natsAddress, natsClientPort, natsLeafnodePort, jetstreamDomain), making it harder to understand and configure.

Related Issues

None

Release Information

Next release

Consumer Impact

Low impact - This is a backwards-compatible change. Existing configurations using the top-level NATS fields will continue to work. Users are encouraged to migrate to the new natsLeaf block for new deployments.

New natsLeaf fields take precedence over the deprecated top-level fields when both are specified.

Testing

Unit Test(s)

Existing unit tests pass. No new unit tests were added.

Acceptance or Integration

No changes to acceptance or integration tests.

Manual Verification

  1. Built the operator locally with cargo build
  2. Ran cargo check - completed successfully
  3. Ran cargo test - all tests passed
  4. Deployed to a local Kubernetes cluster with a TLS-enabled NATS server using a private CA
  5. Verified the generated nats.conf ConfigMap includes the TLS block with correct paths
  6. Verified the NATS leaf container successfully connects to the NATS server using TLS

@gabber235 gabber235 requested a review from a team as a code owner December 5, 2025 10:29
Adds a new consolidated natsLeaf configuration block that includes:
- All NATS-related settings (image, address, ports, domain, credentials)
- TLS configuration with ca, cert, and key path options
- Extra volumes and volume mounts for the NATS leaf container

The existing top-level NATS fields are deprecated but still functional
for backwards compatibility. The new natsLeaf fields take precedence.

This allows users to:
1. Mount custom TLS certificates via extraVolumes/extraVolumeMounts
2. Configure NATS leaf TLS by specifying paths to the mounted certs
3. Consolidate all NATS leaf configuration in one place

Signed-off-by: Gabber235 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant