cephadm: Introduce 'container' specification to deploy custom containers
By introducing a 'ContainerSpec' it is possible to deploy custom containers and configurations using cephadm without poluting the code base with things that are not related to Ceph.
E.g. there are plans to deploy a container containing a Prometheus Alertmanager SNMP webhook via cephadm which has absolute no relation to Ceph, but cephadm is needed downstream to deploy that container.
This example is surely the first but not the last potential scenario where such a 'Custom' specification makes sense.
A specification may look like
service_type: container service_id: snmp-reciever placement: hosts: - myhost spec: image: registry.suse.com... config_files: config.yaml: | foobarbaz
#3 Updated by Sebastian Wagner 6 months ago
src/python-common/ceph.deployment.service_spec needs a new sub class of ServiceSpec
mgr/cephadm.services.cephadmservice needs a new sub class of CephadmService
and the container should have a daemon_id similar to