README.md

July 15, 2025 ยท View on GitHub

Shows a black logo in light color mode and a white one in dark color mode.
Storage Add-On Module

Release License Slack

Storage Add-On Module provides the Rook Kubernetes Operator for Ceph add-on for SIGHUP Distribution (SD).

If you are new to SD please refer to the official documentation on how to get started with SD.

Overview

Storage Add-On Module uses the Rook operator to install and manage Ceph clusters in a Kubernetes environment.

All the components are deployed in the rook-ceph namespace of the cluster.

Packages

The following packages are included in the Storage Add-On Module katalog:

PackageVersionDescription
rook-operatorv1.17.2Rook provides a way to run a highly available, durable Ceph storage in your Kubernetes cluster.
rook-hostclusterNARook CRDs to run a production ready Ceph cluster providing Block and File storage.
nfs-subdir-external-provisionerv4.0.2Dynamic sub-dir volume provisioner on a remote NFS server.

Click on each package to see its full documentation.

Compatibility

  • The minimum supported Kubernetes version is v1.28.x.
  • The minimum supported Ceph version is v18.2.0

Check the compatibility matrix for additional information about previous releases of the module.

The module is still in version 0.X.X but can be used in production.

Usage

Prerequisites

ToolVersionDescription
furyctl>=0.29.0The recommended tool to download and manage SD modules and their packages. To learn more about furyctl read the official documentation.
prometheus-opeator>=2.0.1prometheus-operator is needed by Rook in order to install the ServiceMonitor needed to monitor the Ceph cluster.

Deployment

SIGHUP Distribution

In your furyctl.yaml specify the storage-add-on as a plugin:

plugins:
  kustomize:
    - name: rook-operator
      folder: https://github.com/sighupio/add-on-storage/katalog/rook-operator?ref=v0.4.1
    - name: rook-hostcluster
      folder: https://github.com/sighupio/add-on-storage/katalog/rook-hostcluster?ref=v0.4.1

Then, use furyctl apply to deploy cheph in your cluster.

Legacy

  1. List the packages you want to deploy and their version in a Furyfile.yml

    bases:
      - name: ingress/cert-manager
        version: "v1.13.1"
      - name: monitoring/promtheus-operator
        version: "v2.0.1"
      - name: storage/rook-operator
        version: "v0.4.1"
      - name: storage/rook-hostcluster
        version: "v0.4.1"
    

    [!INFO] See furyctl documentation for additional details about Furyfile.yml format.

  2. Execute furyctl vendor -H (before v0.11.1), starting from fury v0.25.0 use furyctl legacy vendor -H to download the packages

  3. Inspect the downloaded packages under ./vendor/katalog/storage.

  4. Define a kustomization.yaml that includes the ./vendor/katalog/storage directory as resource.

    resources:
      - ./vendor/katalog/ingress/cert-manager
      - ./vendor/katalog/monitoring/prometheus-operator
      - ./vendor/katalog/storage/rook-operator
      - ./vendor/katalog/storage/rook-hostcluster
    
  5. To deploy the packages to your cluster, execute:

kustomize build . | kubectl apply -f - --server-side

Contributing

Before contributing, please read first the Contributing Guidelines.

Reporting Issues

In case you experience any problem with the module, please open a new issue.

License

This module is open-source and it's released under the following LICENSE