Cleanup #50117
Updated by Sebastian Wagner about 3 years ago
*Current situation*
Right now, we have already three different type of things that *ceph orch apply* supports:
* Standard services: *service_type: mon|mgr|rgw...*
* Host specs: *service_type: host*
* Generic Deployments: *service_type: container*
*Idea*
The idea is to distinguish them better for the user. Make it clear that a host spec is not a service.
<pre><code class="yaml">
kind: host
hostname: foobar
addr; 127.0.0.1
</code></pre>
is better than
<pre><code class="yaml">
service_type: host
hostname: foobar
addr 127.0.0.1
</code></pre>
Thus, I propose to add another layer called *kind: host|service|deployment* on top of service_type.
Like so:
<pre><code class="yaml">
kind: host
hostname: myhost1
labels:
- rgw
---
kind: service
service_type: rgw
service_id: foobar
spec:
realm: myrealm
zone: myzone
---
kind: rgw_realm
name: realm-a
pull_endpoint: http://10.2.105.133:80
---
kind: rgw_zone
name: zone-a
---
kind: deployment
service_name: prometheus-webhook-snmp
placement:
ADD_PLACEMENT_HERE
image: hello:latest
ports:
- 999: 999
envs:
- args="--debug --snmp-host=ADD_HOST_GATEWAY_HERE --metrics"
</code></pre>
<pre>
ceph orch apply -i cluster.yaml
</pre>
or
<pre>
cephadm bootstrap --apply-spec cluster.yaml
</pre>