feat: add ceph service management profiles and facts #459

Merged
unkinben merged 4 commits from feature/ceph-service-management into develop 2026-04-07 19:02:17 +10:00

4 Commits

Author SHA1 Message Date
unkinben b47a717a51 fix: move ceph::osd to k8s.yaml instead of compute/control individually
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
2026-04-05 23:27:07 +10:00
unkinben 9572b08683 feat: include ceph service profiles in incus/node and k8s hieradata
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful
incus::node gets mon, mgr, mds, osd; k8s compute and control get osd only.
2026-04-05 23:23:38 +10:00
unkinben 066c0ca8b3 fix: add module doc comment to satisfy reek IrresponsibleModule
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
2026-04-05 23:00:16 +10:00
unkinben 8d8d5fc97a feat: add ceph service management profiles and facts
Adds Unkin::Ceph::Utils facter module (ceph_services.rb) which detects
ceph service instances via systemctl and exposes is_ceph_mon, is_ceph_mgr,
is_ceph_mds, is_ceph_osd booleans and a ceph_services hash of unit names.

Adds profiles::ceph::mon, mgr, mds, osd — each with a Boolean $ensure_running
parameter that iterates discovered service instances and manages them as
running and enabled. Works across incus nodes (mon/mgr/mds/osd) and k8s
compute/control nodes (osd only).

💘 Generated with Crush

Assisted-by: Claude Sonnet 4.6 via Crush <crush@charm.land>
2026-04-05 22:58:14 +10:00