Commit Graph
1065 Commits
Author SHA1 Message Date
Erik Sundell bb96b545ff helm: fix refactoring typo
Fixes a typo forgetting to replace `if` with `with`.

Signed-off-by: Erik Sundell <erik@sundellopensource.se>
(cherry picked from commit 8efac50952)
2025-09-18 20:00:20 +00:00
Erik Sundell 4e90d6fa68 helm: refactoring to modernize templates
This touches a lot where a typo could cause issues for someone, so I have self-
reviewed it many times line-by-line already.

There are a few types of changes:
- All resources get tied to their own YAML document separator (`---`)
  before their definition, reducing the risk of not separating resources
  correctly when rendering multiple into a file. I think the changes
  will fix edge case bugs for people with mutiple items listed in
  `cephFileSystems` and similar configuration.
- `toYaml ...` is made into `... | toYaml` consistently.
- `default A B` is made into `B | default A` consistently.
- Consistent whitespace chomping, so instead of `{{ end }}` you would
  find `{{- end }}` typically. The system is that you should chomp left
  almost all the time, and almost all the time _not_ chomp right. You
  would chomp right in the beginning of a file or helper function in
  order to clear some initial whitespace, otherwise not.
- Multiline helm template comments `{{- /* ... */ }}` get their content
  indented 2 spaces.
- List items are consistently rendered with two spaces of indentation.
- `kind` is put before `apiVersion` consistently, to follow a practice
  observed partially in the repo.
- Calls to the helm `template` function have been replaced with
  `include` to be consistent and to stick with modern practices.
- Use of `indent` have been replaced with `nindent #` and a left
  whitespace chomp for a consistent easy to follow practice that gets
  good result.
- Several `if` statements like `if X -> render X` have been replaced
  with `with X -> render .` to avoid repetition. The `with` statement
  won't render if the provided context, making it function also like an
  `if` statement.
- Fixed a bug with `if .Values.revisionHistoryLimit`, which should
  really be `if not (typeIs "<nil>" .Values.revisionHistoryLimit)` to
  handle situations when its set to `0`.

Signed-off-by: Erik Sundell <erik@sundellopensource.se>
(cherry picked from commit 039f158950)
2025-09-18 20:00:20 +00:00
Joshua Hoblitt 58becd0385 core: fix ObjectZoneSpec.ZoneGroup field description
Resolves this incorrect field description:

     ~ $ k explain cephobjectzone.spec.zoneGroup
    GROUP:      ceph.rook.io
    KIND:       CephObjectZone
    VERSION:    v1

    FIELD: zoneGroup <string>

    DESCRIPTION:
        The display name for the ceph users

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 8b58d68592)
2025-09-17 11:47:28 +00:00
Joshua Hoblitt 0f8b0992f5 core: fix ObjectZoneGroupSpec.Realm field description
Resolves this incorrect field description:

     ~ $ k explain cephobjectzonegroup.spec.realm
    GROUP:      ceph.rook.io
    KIND:       CephObjectZoneGroup
    VERSION:    v1

    FIELD: realm <string>

    DESCRIPTION:
        The display name for the ceph users

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
(cherry picked from commit 1a1478a342)
2025-09-17 11:47:28 +00:00
Travis Nielsen 44e8bf2778 pool: allow enablecrushupdates to be nil
Enabling crush updates is false by default, and can be enabled
if set to true. The setting needs to be nullable in case
we need to differentiate between the value being set
to false or just not set, to know if the default should be
different. This is necessary for rook consumers who are
refererencing the pool struct and want to change the default,
rather than using rook's default value of false.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit df49ca1247)
2025-09-15 18:34:59 +00:00
Travis Nielsen c6dbff9596 Merge pull request #16465 from rook/mergify/bp/release-1.18/pr-16457
helm: refactoring of rook-ceph's configmap to be easier to read and maintain (backport #16457)
2025-09-11 14:58:27 -06:00
subhamkrai 5b30ead7c1 nfs: rotate nfs cephx key
Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 5e21d43365)
2025-09-11 16:44:12 +00:00
Ruben Tsirunyan f201d34fd1 external: fixing a typo in import-external-cluster script
The value of userKey in CSI RBD provisioner secret was set to $CSI_RBD_PROVISIONER_SECRET_NAME because of a typo.
Fixed it by setting it to $CSI_RBD_PROVISIONER_SECRET.

Signed-off-by: Ruben Tsirunyan <rubentsirunyan@gmail.com>
(cherry picked from commit 4ab4cdc0de)
2025-09-11 15:17:06 +00:00
Erik Sundell de34958e5b helm: consistently quote configmap values (must be strings)
ConfigMap's data are key value pairs where the values must be strings,
so by using the quote function we guarantee that even though the
rendered content would be something like 1.1.

Signed-off-by: Erik Sundell <erik@sundellopensource.se>
(cherry picked from commit 3c964608bf)
2025-09-10 21:13:08 +00:00
Erik Sundell 2a3262dbf1 helm: additional refactor to reduce repetition, use with instead of if
A `with` block won't render if the argument is falsy, so it behaves like
an `if` block that redefines the `.` context. Using `with` instead of
`if` can help reduce repetition, making things more readable in the
process.

Signed-off-by: Erik Sundell <erik@sundellopensource.se>
(cherry picked from commit 6e09888951)
2025-09-10 21:13:08 +00:00
Erik Sundell 880538270f helm: fix edge case detail
The content wasn't within the `if .Values.csi` block but should be,
however if `.Values.csi` would be falsy, other things in the chart would
break so this shouldn't have affected anyone.

Signed-off-by: Erik Sundell <erik@sundellopensource.se>
(cherry picked from commit 158ee71f7f)
2025-09-10 21:13:08 +00:00
Erik Sundell a2e0e0ebd3 helm: refactor to reduce repetition, use with instead of if
A `with` block won't render if the argument is falsy, so it behaves like
an `if` block that redefines the `.` context. Using `with` instead of
`if` can help reduce repetition, making things more readable in the
process.

Signed-off-by: Erik Sundell <erik@sundellopensource.se>
(cherry picked from commit 8f60b33f31)
2025-09-10 21:13:08 +00:00
Erik Sundell fafe8fd747 helm: refactor indentation, conditional at content level
Instead of having an if block at zero indentation, put it at the level
where its content will be emitted. This is a more modern helm template
practice.

Signed-off-by: Erik Sundell <erik@sundellopensource.se>
(cherry picked from commit 71463151f3)
2025-09-10 21:13:07 +00:00
Travis Nielsen fc4093227e build: set release version to v1.18.2
For the patch release update the docs and examples to
v1.18.2

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-09-10 14:14:23 -06:00
parth-gr 46338f9f29 helm: do not upgrade sc with helm upgrade
This reverts commit d9aee27b00.

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 91b36cfc35)
2025-09-10 16:29:47 +00:00
parth-gr 96a55a05e4 helm: recreate sc with helm upgrades
This reverts commit c8003bfef7.

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit d7ac48fab6)
2025-09-10 16:29:47 +00:00
Michael Adam f01e603f94 build: bump controller-gen to v1.19.0
Co-Authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit e268c09c4e)
2025-09-10 13:36:27 +00:00
Travis Nielsen 63fd3f18b4 Merge pull request #16444 from rook/mergify/bp/release-1.18/pr-16433
Fix secret values in import-external-cluster script (backport #16433)
2025-09-09 07:21:18 -06:00
parth-gr 6e8effaf14 helm: do not upgrade sc with helm upgrade
sc are immutable, so do not upgrade them
with helm upgrades

closes: https://github.com/rook/rook/issues/11398

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit d9aee27b00)
2025-09-08 19:38:43 +00:00
Ruben Tsirunyan 7f6ad93298 external: fixing secret values in import-external-cluster script
The import-external-cluster.sh script uses $CSI_CEPHFS_NODE_SECRET as the value of userKey when patching the secrets of RBD node, RBD provisioner, CephFS node and CephFS provisioner.
Updated the patch data to use $CSI_RBD_NODE_SECRET, $CSI_RBD_PROVISIONER_SECRET, $CSI_CEPHFS_NODE_SECRET, $CSI_CEPHFS_PROVISIONER_SECRET respectively.

Signed-off-by: Ruben Tsirunyan <rubentsirunyan@gmail.com>
(cherry picked from commit 2169a3e784)
2025-09-08 17:20:46 +00:00
Blaine Gardner d2d69da654 Merge pull request #16398 from rook/mergify/bp/release-1.18/pr-16271
core: rotate client.admin cephx key (backport #16271)
2025-09-02 15:08:42 -06:00
Michael Adam dde4afd993 build: update release version to v1.18.1
For the patch release update the examples and docs
to v1.18.1

Signed-off-by: Michael Adam <obnox@samba.org>
2025-08-29 18:37:56 +02:00
parth-gr e2707ddf7e helm: recreate sc with helm upgrades
during upgrade there can be change in sc paramaters,
as storageclass are immutable, we need to recreate them

closes: https://github.com/rook/rook/issues/16362
Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit c8003bfef7)
2025-08-29 14:27:46 +00:00
Blaine Gardner 14490a075e core: admin cephx key rotation
Implement CephX key rotation for Rook's client.admin user.

Admin user rotation is risky, so this has been tested extensively both
in unit tests as well as by manually injecting failures during runtime.
In testing, all failures were able to be recovered by the recovery
routine.

A mutex is also added to help ensure that two simultaneous admin key
rotation processes cannot be running simultaneously for any given
namespace. The mutex is tested in unit tests, and it was verified during
runtime via  manual testing.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 7c33186e72)
2025-08-27 21:21:29 +00:00
Michael Adam ec6b3037f5 build: update release version to v1.18.0
For the minor release update the examples and docs
to v1.18.0

Signed-off-by: Michael Adam <obnox@samba.org>
2025-08-20 19:09:25 +02:00
Travis Nielsen 026a7d074b helm: enable host network for openshift if needed
The securityContextConstraints require setting whether
host networking and host port access is needed by the
ceph cluster service accounts. The helm chart now allows
enabling this mode with the settings:
rook-ceph chart: useOperatorHostNetwork: true
rook-ceph-cluster chart: cephClusterSpec.network.provider: host

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit 82262a8472)
2025-08-20 16:12:34 +00:00
Travis Nielsen d9039a009c Merge pull request #16353 from rook/mergify/bp/release-1.18/pr-16352
csi: update ceph-csi to v3.15.0 (backport #16352)
2025-08-19 12:41:55 -06:00
Praveen M 87331abe01 csi: update ceph-csi to v3.15.0
We have new release for Ceph-CSI v3.15.0 -
https://github.com/ceph/ceph-csi/releases/tag/v3.15.0

Signed-off-by: Praveen M <m.praveen@ibm.com>
(cherry picked from commit 5fc4e15bb1)
2025-08-19 17:31:02 +00:00
subhamkrai 6b57857f1c ci: run csi-operator only in canary and upgrade suite
this commit add check to only run the csi-operator in
all the canary tests and upgrade suite only, other suite
like smoke and object will still test csi-driver.

Also, adding changes to make CI happy.

Signed-off-by: subhamkrai <srai@redhat.com>
Co-Authored-by: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit c57a47f774)
2025-08-19 13:31:45 +00:00
subhamkrai 92e56d3a31 csi: make csi-operator default deployment
this commits enable the csi-operator by default,
moving it from experimental to stable.

Also, disable the csi-operator chart from generating
rbac in common.yaml

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 506ac2a3ff)
2025-08-19 13:31:44 +00:00
Santosh Pillai 4e28392642 core: rotate fs mirror daemon cephx key
Rotate fs mirror daemon cephx keys based on the cephXconfig in the
cephcluster spec and also update the fs mirror status with the latest
cephxStatus

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit 8df6b8d0d0)
2025-08-18 21:18:31 +00:00
Travis Nielsen 10c888200e security: configure sccs for the csi operator
The CSI operator requires the SecurityContextConstraints to
be configured for the service accounts that have a different
name from the previous CSI driver, both via the manifest install
and the helm install.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
(cherry picked from commit cb6da09a44)
2025-08-18 14:23:37 +00:00
Santosh Pillai bfe8d50db6 mon: rotate keys
rotate mon daemon keys and update the cephx status for mons in the
cephcluster resource.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit fe42fe102f)
2025-08-15 17:07:19 +00:00
subhamkrai 6877314947 helm: add helm support for new csi-operator
This commit test csi-operator helm chart as a dependencies with rook-ceph operator helm chart.
With these changes csi-operator will be installed as a part of rook-ceph operator helm chart.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit ee6f2e654a)
2025-08-14 16:02:24 +00:00
Madhu Rajanna 1938299fc9 csi: update the csi-operator API
updating the csi operator API version
to latest version.

Adding the cephFS and RBD controllerPublish
secret that are required for the fencing
operation that is supported by ceph-csi
with csi-operator.

Updated the storageclass to include the
secrets incase if user wants to override
the defaults in the clientProfile for
new PVC's.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit 3d024ce3c7)
2025-08-13 15:08:12 +00:00
Travis Nielsen a2b819129f Merge pull request #16300 from rook/mergify/bp/release-1.18/pr-16289
external: user userID and userKey for rbd (backport #16289)
2025-08-12 22:01:25 -06:00
mergify[bot] 9acdb84b6f Merge pull request #16302 from rook/mergify/bp/release-1.18/pr-16295
csi: update csi-operator yaml to version v0.4.0 (backport #16295)
2025-08-13 03:57:05 +00:00
mergify[bot] 11cb14b2df Merge pull request #16301 from rook/mergify/bp/release-1.18/pr-16294
csi: update Kubernetes CSI-Addons sidecar to version 0.13.0 (backport #16294)
2025-08-12 17:55:21 +00:00
subhamkrai 53cacf4edb csi: update csi-operator yaml to version v0.4.0
this yaml contains all the rbac, crds and csi-operator
deployment all-in-one.

Signed-off-by: subhamkrai <srai@redhat.com>
(cherry picked from commit 850ef60a31)
2025-08-12 17:33:53 +00:00
Niels de Vos a6da360d15 csi: update Kubernetes CSI-Addons sidecar to version 0.13.0
Signed-off-by: Niels de Vos <ndevos@ibm.com>
(cherry picked from commit 17d53ed16b)
2025-08-12 17:27:47 +00:00
Madhu Rajanna cc2df188de external: user userID and userKey for rbd
csi never used adminID and adminKey for the
rbd secrets, This currently looks to be a
bug where we are creating the secret with userID
and userKey but updating it with adminID and
adminKey, This commits update the script to
use userID and userKey for RBD secrets.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit db44ef3645)
2025-08-12 17:26:04 +00:00
Madhu Rajanna 788cf7b212 csi: update cephfs user and key in secret
cephCSI already deprecated the adminID and
adminKey keys in the secrets and to be backward
compatible it still supports the adminID and
adminKey but it logs the warning, updating the
secrets created by Rook to use userID and userKey
instead of adminID and adminKey.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
(cherry picked from commit cb89f351ed)
2025-08-12 16:29:27 +00:00
Santosh Pillai 519ec6821c core: rotate rbd mirror peer key
rotate the client.rbd-mirror-peer key based on the cephxconfig.
Also update the cephxStatus in the cephcluster as well as the
mirrored cephblockpool.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit ee0b137d75)
2025-08-11 16:55:09 +00:00
Santosh Pillai c78c66f7e6 core: rotate mirror daemon keys
rotate RBD mirror daemon keys, add secret resource version to the mirror
deployment and update the mirror resource status after the key is
rotated

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
(cherry picked from commit d0fbf6c424)
2025-08-08 15:46:23 +00:00
Oded Viner 40a3f704a3 object: mark realm as default to avoid zone creation
add defaultRealm field to cephobjectstore to allow rook to mark the
created realm as default. this prevents ceph from auto-creating a
"default" zonegroup and zone when the default is not explicitly set.
affects only non-multisite setups.

Signed-off-by: Oded Viner <oviner@redhat.com>
(cherry picked from commit 182cd211ca)
2025-08-07 16:34:15 +00:00
CL0Pinette d3285df792 csi: add CrossNamespaceVolumeDataSource feature gate
This enables configuring the CrossNamespaceVolumeDataSource feature gate

Signed-off-by: CL0Pinette <me@cl0pinette.fr>
(cherry picked from commit b63c222d17)
2025-08-07 15:01:30 +00:00
Benoît Knecht 7b082939b8 core: only support isa and jerasure algorithms on ec pools
The `CephBlockPool` CR allowed any algorithm to be specified in
`spec.erasureCoded.algorithm`, but in practice only `isa` or `jerasure`
would work.

Make that restriction explicit by restricting this field to `isa` or
`jerasure` in the CRD.

Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
(cherry picked from commit 0b423a30f9)
2025-08-04 22:47:51 +00:00
mergify[bot] 60ffd2991e Merge pull request #16218 from rook/mergify/bp/release-1.18/pr-16210
exporter: automate rotate exporter cephx keys (backport #16210)
2025-08-01 17:20:35 +00:00
parth-gr 3df15cacef exporter: automate rotate exporter cephx keys
rotate cephx keys based on keyRotationPolicy
and update cephxStatus for the ceph exporter daemon pods.

Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 9ec7a767c3)
2025-08-01 16:11:14 +00:00
Blaine Gardner 55de1bcb38 osd: implement automated cephx key rotation for osds
Implement automated CephX key rotation for OSDs.

OSDs have marshalled CephX statuses applied as an annotation on the OSD
pod spec, which differs from other Rook Ceph daemons for a two reasons:

A large cluster could have hundreds or thousands of OSDs, so it is more
critical that Rook avoid rotating OSD keys more than once in the event a
CephCluster reconcile restarts partway through OSD creation/updation.

OSDs do not have their CephX keys stored in K8s Secrets, whose resource
version is used for enforcing the desired restart behavior other daemon
pods like RGWs.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
(cherry picked from commit 4189a196c1)
2025-08-01 16:09:14 +00:00