What is this about
Two proposed feature additions to Cozystack: adding Rook/Ceph as a selectable storage backend alongside LINSTOR/blockstor (including erasure coding), and adding built-in per-tenant OpenCost visibility for the on-prem open source variant.
Context
I put together a feature proposal covering two related-but-distinct asks:
Storage backend choice (Rook/Ceph) — Cozystack currently only ships LINSTOR/blockstor as the CSI storage backend. Many operators already run or want to standardize on Rook/Ceph (existing clusters, RBD/CephFS/RGW features, multi-tenant pools). There's no supported way to select it without going off-script. The idea would be a spec.storageProvider-style toggle or a dedicated rook-ceph addon package, with Cozystack managing the Rook operator + Ceph cluster lifecycle and registering the CSI driver as a StorageClass, without affecting existing LINSTOR/blockstor deployments.
Erasure coding (EC) should also be supported, not just replication. Operators should be able to configure EC pools (e.g. via spec.storageProvider / CephCluster CR or equivalent) so StorageClasses can use erasure-coded RBD/CephFS volumes as a first-class option, rather than requiring post-install manual Ceph tweaks.
Per-tenant OpenCost visibility — the on-prem open source variant has no built-in cost/usage breakdown per tenant. Proposal is to deploy OpenCost as an optional/built-in component, aggregate per-tenant cost data (compute/storage/network) scoped to tenant namespaces/objects, and expose it via the Cozystack API (e.g. a status field/subresource on the Tenant resource) so it's consumable by the dashboard/API clients.
Full write-up with scope check and alternatives considered is drafted, but since both items likely span multiple components/APIs, I wanted to raise them here first before deciding whether they need to go through the design-proposal process or be filed as separate issues in cozystack/cozystack.
What would help
Maintainer feedback on whether these should be split into two separate issues, escalated to full design proposals, or scoped down for a smaller initial issue.
Guidance on which repo/process is appropriate for each (storage provider toggle vs. cost-reporting API) before I file the corresponding issues in cozystack/cozystack.
What is this about
Two proposed feature additions to Cozystack: adding Rook/Ceph as a selectable storage backend alongside LINSTOR/blockstor (including erasure coding), and adding built-in per-tenant OpenCost visibility for the on-prem open source variant.
Context
I put together a feature proposal covering two related-but-distinct asks:
Storage backend choice (Rook/Ceph) — Cozystack currently only ships LINSTOR/blockstor as the CSI storage backend. Many operators already run or want to standardize on Rook/Ceph (existing clusters, RBD/CephFS/RGW features, multi-tenant pools). There's no supported way to select it without going off-script. The idea would be a
spec.storageProvider-style toggle or a dedicated rook-ceph addon package, with Cozystack managing the Rook operator + Ceph cluster lifecycle and registering the CSI driver as a StorageClass, without affecting existing LINSTOR/blockstor deployments.Erasure coding (EC) should also be supported, not just replication. Operators should be able to configure EC pools (e.g. via
spec.storageProvider/ CephCluster CR or equivalent) so StorageClasses can use erasure-coded RBD/CephFS volumes as a first-class option, rather than requiring post-install manual Ceph tweaks.Per-tenant OpenCost visibility — the on-prem open source variant has no built-in cost/usage breakdown per tenant. Proposal is to deploy OpenCost as an optional/built-in component, aggregate per-tenant cost data (compute/storage/network) scoped to tenant namespaces/objects, and expose it via the Cozystack API (e.g. a status field/subresource on the Tenant resource) so it's consumable by the dashboard/API clients.
Full write-up with scope check and alternatives considered is drafted, but since both items likely span multiple components/APIs, I wanted to raise them here first before deciding whether they need to go through the design-proposal process or be filed as separate issues in cozystack/cozystack.
What would help
Maintainer feedback on whether these should be split into two separate issues, escalated to full design proposals, or scoped down for a smaller initial issue.
Guidance on which repo/process is appropriate for each (storage provider toggle vs. cost-reporting API) before I file the corresponding issues in cozystack/cozystack.