Channel Revision Published Runs on
latest/stable 88 24 Sep 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
latest/stable 70 11 Feb 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
latest/candidate 60 13 Dec 2024
Ubuntu 22.04 Ubuntu 20.04
latest/beta 88 26 Aug 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
latest/beta 70 11 Feb 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
latest/edge 86 27 Jun 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
latest/edge 76 06 Mar 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1.34/stable 88 24 Sep 2025
Ubuntu 24.04 Ubuntu 22.04
1.34/beta 88 25 Aug 2025
Ubuntu 24.04 Ubuntu 22.04
1.34/edge 87 04 Aug 2025
Ubuntu 24.04 Ubuntu 22.04
1.33/stable 85 27 Jun 2025
Ubuntu 24.04 Ubuntu 22.04
1.33/beta 85 26 Jun 2025
Ubuntu 24.04 Ubuntu 22.04
1.33/edge 86 27 Jun 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1.33/edge 76 06 Mar 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1.32/stable 70 11 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
1.32/beta 70 11 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
1.32/edge 75 25 Feb 2025
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1.31/stable 60 16 Dec 2024
Ubuntu 22.04 Ubuntu 20.04
1.31/candidate 60 13 Dec 2024
Ubuntu 22.04 Ubuntu 20.04
1.31/edge 57 04 Sep 2024
Ubuntu 22.04 Ubuntu 20.04
1.30/stable 50 31 Jul 2024
Ubuntu 22.04 Ubuntu 20.04
1.30/candidate 50 17 Jul 2024
Ubuntu 22.04 Ubuntu 20.04
1.30/beta 47 15 Jun 2024
Ubuntu 22.04 Ubuntu 20.04
1.30/edge 52 18 Jul 2024
Ubuntu 22.04 Ubuntu 20.04
1.29/stable 51 31 Jul 2024
Ubuntu 22.04 Ubuntu 20.04
1.29/candidate 51 17 Jul 2024
Ubuntu 22.04 Ubuntu 20.04
1.29/beta 43 17 Apr 2024
Ubuntu 22.04 Ubuntu 20.04
1.29/edge 41 28 Feb 2024
Ubuntu 22.04 Ubuntu 20.04
1.28/stable 37 07 Nov 2023
Ubuntu 22.04 Ubuntu 20.04
1.28/candidate 37 01 Nov 2023
Ubuntu 22.04 Ubuntu 20.04
1.28/beta 32 07 Aug 2023
Ubuntu 22.04 Ubuntu 20.04
1.28/edge 33 09 Aug 2023
Ubuntu 22.04 Ubuntu 20.04
1.27/stable 29 12 Jun 2023
Ubuntu 22.04 Ubuntu 20.04
1.27/candidate 29 12 Jun 2023
Ubuntu 22.04 Ubuntu 20.04
1.27/beta 24 10 Apr 2023
Ubuntu 22.04 Ubuntu 20.04
1.27/edge 22 08 Apr 2023
Ubuntu 22.04 Ubuntu 20.04
1.26/stable 19 27 Feb 2023
Ubuntu 22.04 Ubuntu 20.04
1.26/candidate 19 25 Feb 2023
Ubuntu 22.04 Ubuntu 20.04
1.26/beta 14 09 Apr 2023
Ubuntu 22.04 Ubuntu 20.04
1.26/edge 14 19 Nov 2022
Ubuntu 22.04 Ubuntu 20.04
1.25/stable 12 30 Sep 2022
Ubuntu 22.04 Ubuntu 20.04
1.25/candidate 12 28 Sep 2022
Ubuntu 22.04 Ubuntu 20.04
1.25/beta 15 01 Dec 2022
Ubuntu 22.04 Ubuntu 20.04
1.25/edge 3 16 Aug 2022
Ubuntu 22.04 Ubuntu 20.04
juju deploy ceph-csi
Show information

Platform:

Ubuntu
24.04 22.04 20.04

Learn about configurations >

  • ceph-ext4-storage-class-name-formatter | string

    Default: ceph-ext4

    Formatter for the ceph ext4 storage class name

    The formatter is a string that can contain the following placeholders:

    • {app} - the name of the juju application
    • {namespace} - the charm configured namespace

    Example: juju config ceph-csi ceph-ext4-storage-class-name-formatter="ceph-ext4-{app}"

    The default is to use the storage class name

  • ceph-ext4-storage-class-parameters | string

    Default: imageFeatures=layering

    Parameters to be used when creating the the ceph-ext4 storage class. Changes are only applied to the storage class if it does not exist.

    Declare additional/replacement parameters in key=value format, separated by spaces. Declare removed parameters in the key- format, separated by spaces.

    Optional parameters can be found in the ceph-csi documentation: https://github.com/ceph/ceph-csi/blob/devel/examples/rbd/storageclass.yaml

  • ceph-rbac-name-formatter | string

    Default: {name}

    Formatter for colliding kubernetes rbac resources

    The formatter is used to create a unique name for the resource when the name collides with an existing resource. This is useful when deploying multiple ceph-csi charms.

    This is a list of non-namespaced resources affected by this formatter:

    • ClusterRole/cephfs-csi-nodeplugin
    • ClusterRoleBinding/cephfs-csi-nodeplugin
    • ClusterRole/cephfs-external-provisioner-runner
    • ClusterRoleBinding/cephfs-external-provisioner-runner
    • ClusterRole/rbd-csi-nodeplugin
    • ClusterRoleBinding/rbd-csi-nodeplugin
    • ClusterRole/rbd-external-provisioner-runner
    • ClusterRoleBinding/rbd-csi-provisioner-role

    The formatter is a string that can contain the following placeholders:

    • {app} - the name of the juju application
    • {name} - the name of the kubernetes resource
    • {namespace} - the charm configured namespace

    Example: juju config ceph-csi ceph-rbac-name-formatter="{name}-{app}"

    The default is to use the {name} of the resource

  • ceph-rbd-enable | boolean

    Default: True

    Whether or not ceph-rbd manifests should be installed. This controls both storage classes xfs and ext4

  • ceph-rbd-tolerations | string

    Tolerations to be used when creating the rbd pods for Daemonsets and Deployments.

    Declare tolerations in key=value,operator,effect format, separating each by spaces.

    Optional tolerations can be found in the kubernetes documentation: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

  • ceph-xfs-storage-class-name-formatter | string

    Default: ceph-xfs

    Formatter for the ceph xfs storage class name

    The formatter is a string that can contain the following placeholders:

    • {app} - the name of the juju application
    • {namespace} - the charm configured namespace

    Example: juju config ceph-csi ceph-xfs-storage-class-name-formatter="ceph-xfs-{app}"

    The default is to use the storage class name

  • ceph-xfs-storage-class-parameters | string

    Default: imageFeatures=layering

    Parameters to be used when creating the ceph-xfs storage class. Changes are only applied to the storage class if it does not exist.

    Declare additional/replacement parameters in key=value format, separated by spaces. Declare removed parameters in the key- format, separated by spaces.

    Optional parameters can be found in the ceph-csi documentation: https://github.com/ceph/ceph-csi/blob/devel/examples/rbd/storageclass.yaml

  • cephfs-enable | boolean

    Whether or not cephfs manifests should be installed

    Only enable if ceph-fs is deployed and related to ceph-mon

  • cephfs-mounter | string

    The driver can use either ceph-fuse (fuse) or ceph kernelclient (kernel). If omitted, default volume mounter will be used - this is determined by probing for ceph-fuse and mount.ceph

  • cephfs-storage-class-name-formatter | string

    Default: cephfs

    Formatter for the cephfs storage class name

    The formatter is a string that can contain the following placeholders:

    • {app} - the name of the juju application
    • {namespace} - the charm configured namespace
    • {name} - the name of the filesystem
    • {pool} - the name of the data-pool
    • {pool-id} - the id of the data-pool

    Example: juju config ceph-csi cephfs-storage-class-name-formatter="cephfs-{namespace}-{pool}"

    The default is to use the storage class name

  • cephfs-storage-class-parameters | string

    Parameters to be used when creating the cephfs storage classes. Changes are only applied to the storage classes if they do not exist.

    Declare additional/replacement parameters in key=value format, separated by spaces. Declare removed parameters in the key- format, separated by spaces.

    Optional parameters can be found in the ceph-csi documentation: https://github.com/ceph/ceph-csi/blob/devel/examples/rbd/storageclass.yaml

  • cephfs-tolerations | string

    Default: $csi-cephfsplugin-legacy$

    Tolerations to be used when creating the cephfs pods for Daemonsets and Deployments.

    Declare tolerations in key=value,operator,effect format, separating each by spaces.

    Optional tolerations can be found in the kubernetes documentation: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

    Note: The default value "$csi-cephfsplugin-legacy$" is a special token which applies a "=,Exists" toleration only to pods associated with csi-cephfsplugin.

  • create-namespace | boolean

    Whether or not the charm should create the namespace specified in the namespace configuration option.

    If set to true, the charm will create the namespace if it does not exist. If set to false, the charm will not create the namespace and will expect it to be created by the user.

    NOTE: Can only be specified on deployment since some attributes of kubernetes resources are non-modifiable.

  • csidriver-name-formatter | string

    Default: {name}

    Formatter for the 2 CSIDrivers managed by this charm:

    • rbd.csi.ceph.com
    • cephfs.csi.ceph.com

    The formatter is a string that can contain the following placeholders:

    • {name} - original name from the manifest
    • {app} - the name of the juju application
    • {namespace} - the charm configured namespace

    Example: juju config ceph-csi csidriver-name-formatter="{app}.{name}"

    The default is to use the built-in storage classname

    NOTE: Can only be specified on deployment since some attributes of kubernetes resources cannot be modified once installed.

  • default-storage | string

    Default: ceph-xfs

    Default storage class to use. Allowed values: 'ceph-ext4', 'ceph-xfs', 'cephfs'

  • enable-host-networking | boolean

    Whether or not csi-*plugin-provisioner deployments use host-networking

  • image-registry | string

    Default: rocks.canonical.com/cdk

    Image registry for all Ceph CSI container images.

    This value replaces the image registry in image URLs from the release manifests. For example, an image URL like quay.io/cephcsi/cephcsi:v3.8.0 becomes rocks.canonical.com/cdk/cephcsi/cephcsi:v3.8.0 if set to rocks.canonical.com/cdk.

    Example: juju config ceph-csi image-registry="rocks.canonical.com/cdk"

  • metrics-port-cephfsplugin | int

    Default: -1

    Port for csi-cephfsplugin liveness-prometheus metrics

    If set to -1, the metrics service will not be created

  • metrics-port-cephfsplugin-provisioner | int

    Default: -1

    Port for csi-cephfsplugin-provisioner liveness-prometheus metrics

    If set to -1, the metrics service will not be created

  • metrics-port-rbdplugin | int

    Default: -1

    Port for csi-rbdplugin liveness-prometheus metrics

    If set to -1, the metrics service will not be created

  • metrics-port-rbdplugin-provisioner | int

    Default: -1

    Port for csi-rbdplugin-provisioner liveness-prometheus metrics

    If set to -1, the metrics service will not be created

  • namespace | string

    Kubernetes namespace in which to install the rbd and cephfs components including deployments, daemonsets, secrets, configmaps.

    if unspecified, "default" is assumed

    NOTE: Can only be specified on deployment since some attributes of kubernetes resources are non-modifiable. The admin is responsible for creating the namespace.

  • provisioner-replicas | int

    Default: 3

    Number of replicas of any csi-*plugin-provisioner deployment

  • release | string

    Default: v3.9.0

    Specify the version of ceph-csi as defined by the release tags of https://github.com/ceph/ceph-csi

    example) juju config ceph-csi release='v3.7.2'

    A list of supported versions is available through the action: juju run ceph-csi/leader list-versions

    To reset by to the latest supported by the charm use: juju config ceph-csi --reset release

    The current release deployed is available by viewing juju status ceph-csi