'jaeger-agent': PlacementSpec(host_pattern='*'),
'jaeger-collector': PlacementSpec(count=1),
'jaeger-query': PlacementSpec(count=1),
+ 'node-proxy': PlacementSpec(host_pattern='*'),
SMBService.TYPE: PlacementSpec(count=1),
}
spec.placement = defaults[spec.service_type]
if not self.mgr.http_server.agent:
raise OrchestratorError('Cannot deploy node-proxy before creating cephadm endpoint')
+ super().register_for_certificates(daemon_spec)
keyring = self.get_keyring_with_caps(self.get_auth_entity(daemon_id, host=host), [])
daemon_spec.keyring = keyring
self.mgr.node_proxy_cache.update_keyring(host, keyring)
'alertmanager': {'user_cert_allowed': False, 'scope': 'host', 'requires_ca_cert': False},
'ceph-exporter': {'user_cert_allowed': False, 'scope': 'host', 'requires_ca_cert': False},
'node-exporter': {'user_cert_allowed': False, 'scope': 'host', 'requires_ca_cert': False},
+ 'node-proxy': {'user_cert_allowed': False, 'scope': 'host', 'requires_ca_cert': False},
# 'loki' : {'user_cert_allowed': False, 'scope': 'host'},
# 'promtail' : {'user_cert_allowed': False, 'scope': 'host'},
# 'jaeger-agent': {'user_cert_allowed': False, 'scope': 'host'},
'jaeger-collector': TracingSpec,
'jaeger-query': TracingSpec,
'jaeger-tracing': TracingSpec,
+ 'node-proxy': NodeProxySpec,
SMBSpec.service_type: SMBSpec,
}.get(service_type, cls)
if ret == ServiceSpec and not service_type:
return obj
+class NodeProxySpec(ServiceSpec):
+ def __init__(self,
+ service_type: str,
+ placement: Optional[PlacementSpec] = None,
+ ) -> None:
+ assert service_type == 'node-proxy'
+ super(NodeProxySpec, self).__init__('node-proxy', placement=placement)
+ self.ssl: bool = True
+ self.validate()
+
+
yaml.add_representer(SMBSpec, ServiceSpec.yaml_representer)