diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/op_mode/config_sync.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/op_mode/config_sync.py b/src/op_mode/config_sync.py index 8d473cc70..828cd8623 100644 --- a/src/op_mode/config_sync.py +++ b/src/op_mode/config_sync.py @@ -73,13 +73,22 @@ def _load_config_sync_settings() -> dict: key = secondary.get('key') port = int(secondary.get('port', 443)) timeout = int(secondary.get('timeout')) if secondary.get('timeout') else None + # config-sync talks to a remote secondary over HTTPS. TLS verification is + # off by default because secondary nodes typically present a self-signed + # certificate; an operator can opt in (True, or a CA bundle path) once the + # runtime config exposes it. + # TODO(T9396): expose ca-certificate / peer-fingerprint under + # service config-sync secondary + verify_tls = secondary.get('verify_tls', False) if not address or not key: raise opmode.UnconfiguredObject( 'Config-sync is not fully configured: missing secondary address/key' ) - return dict(host=address, key=key, port=port, timeout=timeout) + return dict( + host=address, key=key, port=port, timeout=timeout, verify_tls=verify_tls + ) class ConfigSyncDiffManager: |
