Skip to content

deploy_component peer replication ignores client rejectUnauthorized setting #1375

Description

@kriszyp

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:

  1. 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
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions