Commit Graph
13954 Commits
Author SHA1 Message Date
subham rai da89b28ffa Merge pull request #17890 from rook/dependabot/github_actions/github/codeql-action/upload-sarif-4.36.3
build(deps): bump github/codeql-action/upload-sarif from 4.36.2 to 4.36.3
2026-07-06 18:45:46 +05:30
subham rai 1ee4102e8b Merge pull request #17891 from rook/dependabot/github_actions/dcarbone/install-jq-action-4.0.1
build(deps): bump dcarbone/install-jq-action from 3.2.0 to 4.0.1
2026-07-06 18:45:35 +05:30
subham rai dc0a09c52a Merge pull request #17892 from rook/dependabot/github_actions/DavidAnson/markdownlint-cli2-action-24.0.0
build(deps): bump DavidAnson/markdownlint-cli2-action from 23.2.0 to 24.0.0
2026-07-06 18:45:06 +05:30
dependabot[bot] 5731c4de3d build(deps): bump DavidAnson/markdownlint-cli2-action
Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 23.2.0 to 24.0.0.
- [Release notes](https://github.com/davidanson/markdownlint-cli2-action/releases)
- [Commits](https://github.com/davidanson/markdownlint-cli2-action/compare/ded1f9488f68a970bc66ea5619e13e9b52e601cd...8de2aa07cae85fd17c0b35642db70cf5495f1d25)

---
updated-dependencies:
- dependency-name: DavidAnson/markdownlint-cli2-action
  dependency-version: 24.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 12:43:10 +00:00
dependabot[bot] 85dbcb9e36 build(deps): bump dcarbone/install-jq-action from 3.2.0 to 4.0.1
Bumps [dcarbone/install-jq-action](https://github.com/dcarbone/install-jq-action) from 3.2.0 to 4.0.1.
- [Release notes](https://github.com/dcarbone/install-jq-action/releases)
- [Commits](https://github.com/dcarbone/install-jq-action/compare/b7ef57d46ece78760b4019dbc4080a1ba2a40b45...4fcb5062d7ce9bc4382d1a352d19ba3ba2c317c1)

---
updated-dependencies:
- dependency-name: dcarbone/install-jq-action
  dependency-version: 4.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 12:43:07 +00:00
dependabot[bot] d624542d8f build(deps): bump github/codeql-action/upload-sarif
Bumps [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) from 4.36.2 to 4.36.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a)

---
updated-dependencies:
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 12:43:01 +00:00
Joshua Hoblitt e2779459cf Merge pull request #17871 from jhoblitt/docs-supported-versions-matrix
docs: add Kubernetes and Ceph version support matrix
2026-07-01 14:23:50 -07:00
Joshua Hoblitt c4ac54cea0 Merge pull request #17853 from jhoblitt/convert-bucket-notification-test
test: convert the bucket notification suite to the shared store
2026-07-01 09:22:44 -07:00
Joshua Hoblitt 1e3eeef026 Merge pull request #17838 from jhoblitt/fix-comment-typos
docs: fix typos and grammar in code comments
2026-07-01 09:09:18 -07:00
Joshua Hoblitt c0eb360041 docs: fix typos and grammar in code comments
Fix duplicate words, incorrect articles (a/an), it's/its, and other small
grammar mistakes in Go comments and user-facing messages across pkg/, cmd/,
and tests/.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-07-01 08:34:11 -07:00
Joshua Hoblitt 031e449070 test: retire the unused bucket notification framework helpers
Converting the bucket notification test to typed clients left the
framework notification plumbing it was the last consumer of unused.
Remove the NotificationOperation client, TopicClient.CreateHTTPServer,
BucketClient.CreateObcNotification and CheckBucketNotificationSetonRGW
(and the now-dead UpdateObcNotification helpers), and the
GetBucketNotification and GetOBCNotification manifest builders.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-07-01 08:30:22 -07:00
Joshua Hoblitt 780f0cceb0 test: convert the bucket notification suite to the shared store
Rework the bucket notification integration test onto the shared
CephObjectStore fixture and the wait4 toolkit, following the object
suite conversion playbook. The old test stood up its own object store
and drove everything through tests/framework/clients and kubectl with
fixed-interval polling.

The new tests/integration/object/notification package is an ordered
t.Run script on typed clients and watch-based waits. It deploys an HTTP
sink, drives a CephBucketTopic (HTTP endpoint), CephBucketNotification,
and a notification-labelled OBC, and verifies both end-to-end delivery
(matched in the sink's logs) and the notification configured on the rgw
bucket (read over the S3 API), covering the label add/remove and
notification-before-topic orderings.

Running against the shared store, it no longer creates a dedicated
object store and now exercises both the TLS and non-TLS suite passes.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-07-01 08:30:22 -07:00
Joshua Hoblitt 9e35153876 docs: note the support matrix update in the release process
Add a step to the release process, when creating a new release branch,
to add a row for the new release series to the support matrix in the
Maintenance and Support page. This keeps the matrix current as new
minor versions are released.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-07-01 08:18:20 -07:00
Joshua Hoblitt a346690ae3 docs: add Kubernetes and Ceph version support matrix
Rename the Release Cycle page to "Maintenance and Support" and add a
table of the Kubernetes and Ceph versions supported by each Rook minor
release series (1.12 through 1.20).

The per-series numbers are sourced from each release branch's
prerequisites/quickstart guide (Kubernetes) and Ceph upgrade guide
(Ceph), giving users a single place to check version compatibility
across releases. A redirect preserves the previous release-cycle URL.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-07-01 08:18:04 -07:00
Blaine Gardner 6bfe0bf45c Merge pull request #17874 from anxkhn/fix/use-passed-context-for-s3-v2-api
object: use passed context for S3 v2 API calls
2026-07-01 08:37:37 -06:00
Anas Khan 67bf4baab8 object: use passed context for S3 v2 API calls
The AWS SDK v1 to v2 migration in #17468 left the S3Agent wrapper methods
calling the SDK with context.TODO(), so S3 operations could not be cancelled
when the controller context is cancelled. Add a leading context.Context
parameter to CreateBucket, PutObjectInBucket, GetObjectInBucket,
DeleteObjectInBucket, PutBucketPolicy, and GetBucketPolicy, forward it to the
underlying client, and pass clusterInfo.Context from the bucket provisioner.

Resolves #17526

Signed-off-by: Anas Khan <83116240+anxkhn@users.noreply.github.com>
2026-07-01 13:15:40 +05:30
Travis Nielsen 1d8ba6bec3 Merge pull request #17869 from blackflytech/master
core: use slices.Backward to simplify the code
2026-06-30 14:02:29 -06:00
Travis Nielsen 915c2ade02 Merge pull request #17827 from OdedViner/fix_mg_netpolicy
security: restrict mgr NetworkPolicy to ingress-only
2026-06-30 11:40:57 -06:00
blackflytech c65663c529 core: use slices.Backward to simplify the code
Signed-off-by: blackflytech <blackflytech@outlook.com>
2026-07-01 00:37:50 +08:00
Joshua Hoblitt e281600bb5 Merge pull request #17855 from jhoblitt/narrow-bare-nolint
core: narrow bare //nolint directives to specific linters
2026-06-30 08:14:46 -07:00
Joshua Hoblitt 5065ea7973 Merge pull request #17829 from jhoblitt/ci-provision-disks-no-extra
ci: provision extra disks when the runner starts with none
2026-06-30 08:13:13 -07:00
Joshua Hoblitt 1f8a5cf918 Merge pull request #17854 from jhoblitt/convert-cosi-test
test: convert the COSI driver suite to the object test toolkit
2026-06-30 08:11:10 -07:00
Travis Nielsen bc812da37e Merge pull request #17858 from subhamkrai/resolve-csi-upgrade
docs: remove csi-operator label based verification
2026-06-30 08:28:31 -06:00
subhamkrai afff9dbdf4 docs: remove csi-operator label based verification
the label could be different based on differnt cluster
setup so no need for label vased verification of csi-op.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-06-30 16:03:31 +05:30
Joshua Hoblitt e5c6d75a73 core: narrow bare //nolint directives to specific linters
The //nolint directives at these sites omit the linter name, so each
suppresses every linter on its line rather than the one check it needs.
That hides any unrelated errcheck/gosec/govet finding later introduced
on the same line. Name the specific linter for each:

- staticcheck for the two operator sites: SA4004 (the intentional
  single-iteration loop in the OSD PVC host lookup) and SA1019 (the
  deliberate read of the deprecated S3.Enabled field in the RGW
  API-enable builder).
- errcheck for the rbd-mirror deferred token-file cleanup and the
  test-framework logging helpers (WriteString / writeHeader).

No behavior change.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-29 16:32:59 -07:00
Joshua Hoblitt 3a4dc64f5b test: convert the COSI driver suite to the object test toolkit
Rework the COSI driver integration test onto the shared-store object test
toolkit: an ordered t.Run script with the (t, k8sh, store) signature, typed
clients, and watch-based waits, replacing kubectl-string manifests and
fixed-interval polling.

Drive the COSI bucket resources (BucketClass, BucketClaim, Bucket) with the
upstream sigs.k8s.io/container-object-storage-interface typed client, exposed
as k8sh.COSIClientset alongside the existing OBC client. Create the
CephCOSIDriver and its privileged user through typed clients, wait for the
driver Deployment with wait4, and verify the provisioned bucket through the
shared store's rgw admin client.

Install the COSI CRDs and central controller from the consolidated upstream
repo pinned to v0.2.2 (the former -api and -controller repos are retired) via
a kubectl -k fixture that is removed with t.Cleanup. The driver cannot trust
a TLS RGW endpoint, so the suite skips itself in the TLS pass rather than
being special-cased in the dispatcher.

Retire the now-unused COSIOperation client and the GetCOSIDriver,
GetBucketClass, and GetBucketClaim manifest helpers.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-29 15:36:13 -07:00
Joshua Hoblitt 802c4e0e6e Merge pull request #17663 from jhoblitt/maint-integration-sharedstore-improvements
test: improve the shared-store object suite tests
2026-06-29 13:33:28 -07:00
Joshua Hoblitt 457d0657ef Merge pull request #17837 from jhoblitt/docs-fix-typos
docs: fix typos and grammar in documentation and design docs
2026-06-29 12:04:43 -07:00
Joshua Hoblitt 993be34a24 Merge pull request #17834 from jhoblitt/docs/fix-stale-doc-comment-names
docs: fix function comments to match their declaration names
2026-06-29 12:04:25 -07:00
Joshua Hoblitt 8ee5d92022 test: document the object suite test conventions
Add a conventions doc and conversion playbook so the remaining old-style
object tests (store lifecycle, notifications, COSI, bucket rw/quota/policy/
lifecycle) can be converted to this pattern mechanically.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-29 11:10:52 -07:00
Joshua Hoblitt eb404e6677 test: rework the shared-store user/bucket/topic suites
The object store user (caps/keys/opmask), bucket-owner, and bucket topic
tests already shared a CephObjectStore but polled with count-based
utils.Retry behind a wide entry signature. Move them onto the wait4 toolkit
and a slim (t, k8sh, store) signature: each is an ordered t.Run script using
typed clients and watch-based waits, with per-package check helpers for
repeated verification. Extend the shared store fixture to provision the
realm/zonegroup/zone pools and serve TLS, build its rgw admin and SNS clients
through the consolidated util/client package (replacing the separate
admin/sns/s3 packages), and run every package in both the TLS and non-TLS
passes (now separate parallel jobs).

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-29 11:10:52 -07:00
Joshua Hoblitt b59101d8e8 test: add the object suite test util toolkit
Add the shared helpers the object test packages build on:
- wait4: watch-based Assert/Require waiters (Create/Delete/Condition/Absent)
  that block on Kubernetes watch events rather than fixed-interval polling,
  plus Eventually for non-k8s state (rgw admin/S3/SNS), a pod-log waiter, and
  the readiness predicates used with them.
- secrets: verification of the Secret references CRDs publish in status.
- fixture: create-with-t.Cleanup helpers for pure-cleanup resources, and
  constructors for ObjectBucketClaim test resources.
- client: rgw admin and SNS client builders, S3 credentials/endpoint, and the
  store's TLS cert plus a verification-skipping HTTP client.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-29 11:10:52 -07:00
Blaine Gardner 485529056d Merge pull request #17764 from subhamkrai/mute-ceph-errors
core: add api changes to mute ceph warnings
2026-06-29 09:50:13 -06:00
subham rai 97f033ae4c Merge pull request #17845 from rook/dependabot/go_modules/github-dependencies-c2d6a278da
build(deps): bump github.com/aws/smithy-go from 1.27.2 to 1.27.3 in the github-dependencies group
2026-06-29 21:00:09 +05:30
subham rai 54188cea75 Merge pull request #17846 from rook/dependabot/github_actions/actions/checkout-7.0.0
build(deps): bump actions/checkout from 6.0.3 to 7.0.0
2026-06-29 20:59:37 +05:30
subham rai 7e25667488 Merge pull request #17844 from rook/dependabot/github_actions/actions/setup-go-6.5.0
build(deps): bump actions/setup-go from 6.4.0 to 6.5.0
2026-06-29 20:59:09 +05:30
subham rai 93be2032a8 Merge pull request #17843 from rook/dependabot/github_actions/aws-actions/configure-aws-credentials-6.2.1
build(deps): bump aws-actions/configure-aws-credentials from 6.2.0 to 6.2.1
2026-06-29 20:58:53 +05:30
subham rai 2bdd63bef1 Merge pull request #17842 from rook/dependabot/github_actions/actions/setup-python-6.3.0
build(deps): bump actions/setup-python from 6.2.0 to 6.3.0
2026-06-29 20:58:24 +05:30
subham rai 8f15aeb06e Merge pull request #17841 from rook/dependabot/github_actions/azure/setup-helm-5.0.1
build(deps): bump azure/setup-helm from 5.0.0 to 5.0.1
2026-06-29 20:58:00 +05:30
Travis Nielsen af7cd44554 Merge pull request #17825 from taraasrita10/remove-v-prefix-helm
build: remove v prefix from helm chart version tag
2026-06-29 07:39:17 -06:00
dependabot[bot] e5a1b6f2af build(deps): bump actions/checkout from 6.0.3 to 7.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6.0.3...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 12:43:12 +00:00
dependabot[bot] c64e860cda build(deps): bump github.com/aws/smithy-go
Bumps the github-dependencies group with 1 update: [github.com/aws/smithy-go](https://github.com/aws/smithy-go).


Updates `github.com/aws/smithy-go` from 1.27.2 to 1.27.3
- [Release notes](https://github.com/aws/smithy-go/releases)
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/smithy-go/compare/v1.27.2...v1.27.3)

---
updated-dependencies:
- dependency-name: github.com/aws/smithy-go
  dependency-version: 1.27.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 12:43:05 +00:00
dependabot[bot] 1154e920a3 build(deps): bump actions/setup-go from 6.4.0 to 6.5.0
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6.4.0 to 6.5.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/4a3601121dd01d1626a1e23e37211e3254c1c06c...924ae3a1cded613372ab5595356fb5720e22ba16)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 6.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 12:42:49 +00:00
dependabot[bot] 1eb1bd1f7b build(deps): bump aws-actions/configure-aws-credentials
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/e7f100cf4c008499ea8adda475de1042d6975c7b...254c19bd240aabef8777f48595e9d2d7b972184b)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: 6.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 12:42:41 +00:00
dependabot[bot] 27b3e28a52 build(deps): bump actions/setup-python from 6.2.0 to 6.3.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/a309ff8b426b58ec0e2a45f0f869d46889d02405...ece7cb06caefa5fff74198d8649806c4678c61a1)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 12:42:36 +00:00
dependabot[bot] 5ca11334ab build(deps): bump azure/setup-helm from 5.0.0 to 5.0.1
Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/azure/setup-helm/compare/dda3372f752e03dde6b3237bc9431cdc2f7a02a2...9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310)

---
updated-dependencies:
- dependency-name: azure/setup-helm
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 12:42:31 +00:00
Prabhala Tara Aasrita f699960a31 build: remove v prefix from helm chart version tag
Removed the leading v from the Helm OCI chart version tag so that helm pull can auto-resolve the latest version without specifying the tag explicitly.

Signed-off-by: Prabhala Tara Aasrita <taraasrita@ibm.com>
2026-06-29 11:25:14 +05:30
Oded Viner 9cec9780fd security: restrict mgr NetworkPolicy to ingress-only
The MGR watch-active sidecar needs Kubernetes API access to
read configmaps and monitor active-standby state. The API
server is host-networked and cannot be targeted by
pod/namespace selectors, making egress restrictions
impractical.

Switch the rook-ceph-mgr NetworkPolicy from egress-only to
ingress-only:
- Allow MON/OSD/MDS/tools pods on ports 6800-7300
- Allow Prometheus scraping on port 9283
- Remove egress rules that blocked API server access and
  caused CrashLoopBackOff in the watch-active container

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-06-28 17:54:39 +03:00
Joshua Hoblitt 029b13b000 ci: provision extra disks when the runner starts with none
find_extra_block_devs reads the runner's current extra disks with
`lsblk ... | egrep -v "($boot_dev|loop|nbd)"` to decide how many more to
provision. When the runner has no extra disk, that egrep matches nothing
and exits 1; under the script's `set -eo pipefail` the assignment aborts
the function before it ever calls create_extra_disk, so callers get zero
disks and fail with "expected >= N extra disks, found 0" (or a bare /dev/
path) on those runners.

Guard that first read with `|| true` (as the adjacent device-count line
already is) so an empty result means "no extra disks yet" and the
provisioning path runs. The second read, after create_extra_disk, is left
strict on purpose: if provisioning produced no disk, egrep's non-zero exit
should abort there rather than silently return nothing.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-26 15:00:37 -07:00
Joshua Hoblitt d395d1916b docs: fix typos and grammar in documentation and design docs
Correct duplicate words, incorrect articles, subject/verb agreement, and
other small grammar mistakes across the user-facing Documentation/ pages
and the design/ records. No content or behavior changes.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-06-26 13:40:03 -07:00