Problem
deploy_component with replicated: true propagates the deployment to peer nodes via an internal replication mechanism. However, this peer-to-peer step uses the node's default TLS settings — it does not respect the rejectUnauthorized: false (or equivalent) flag that the requesting client may have passed on the add_node call.
In environments using self-signed TLS certificates (integration tests, on-prem clusters without a trusted CA), the peer replication step fails with:
self-signed certificate in certificate chain
Before core PR #1334, these failures were silent — the deploy_component still returned 200 and the deployment was simply not replicated to the failing peer. After #1334, the operation correctly returns non-2xx, surfacing the failure — but this exposed how many callers were silently relying on the previous behavior.
The immediate workaround (ignore_replication_errors: true) suppresses the error response, but it doesn't fix the underlying problem: deployments don't replicate to peers when self-signed certs are in use.
Expected behavior
Either:
deploy_component peer replication should inherit the cluster's configured rejectUnauthorized / TLS settings (the replication connection already negotiated these on add_node — peer deploy should reuse the same trust chain), or
- A
replication.rejectUnauthorized: false config option (already discussed for the WS replication path, see partitionHealConvergence.test.mjs header) should also apply to peer-deploy calls.
Impact
Notes
The self-signed cert issue is distinct from the rejectUnauthorized: false flag on add_node operations — that flag gates the subscription-setup WS handshake, not subsequent peer-deploy calls. These two code paths apparently use different TLS contexts.
Problem
deploy_componentwithreplicated: truepropagates the deployment to peer nodes via an internal replication mechanism. However, this peer-to-peer step uses the node's default TLS settings — it does not respect therejectUnauthorized: false(or equivalent) flag that the requesting client may have passed on theadd_nodecall.In environments using self-signed TLS certificates (integration tests, on-prem clusters without a trusted CA), the peer replication step fails with:
Before core PR #1334, these failures were silent — the
deploy_componentstill returned 200 and the deployment was simply not replicated to the failing peer. After #1334, the operation correctly returns non-2xx, surfacing the failure — but this exposed how many callers were silently relying on the previous behavior.The immediate workaround (
ignore_replication_errors: true) suppresses the error response, but it doesn't fix the underlying problem: deployments don't replicate to peers when self-signed certs are in use.Expected behavior
Either:
deploy_componentpeer replication should inherit the cluster's configuredrejectUnauthorized/ TLS settings (the replication connection already negotiated these onadd_node— peer deploy should reuse the same trust chain), orreplication.rejectUnauthorized: falseconfig option (already discussed for the WS replication path, seepartitionHealConvergence.test.mjsheader) should also apply to peer-deploy calls.Impact
ignore_replication_errors: trueto avoid false failures (harper-pro Eliminate TypeScript Errors and Convert foundational .js files to .ts #413).Notes
The self-signed cert issue is distinct from the
rejectUnauthorized: falseflag onadd_nodeoperations — that flag gates the subscription-setup WS handshake, not subsequent peer-deploy calls. These two code paths apparently use different TLS contexts.