Commit Graph
440 Commits
Author SHA1 Message Date
Oded Viner 67925c9bbe core: update rook to go 1.24.3
update rook to go 1.24.3

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-07-16 12:24:50 +03:00
Michael AdamandTravis Nielsen 987e9c8bb5 build: merge helm indexes instead of recreating for every release (really)
A new helm repo index was created from scratch for every new release
    which meant that the release timestamps in the index were basically all
    identical.

    This change intends to fix that by merging the new index with the
    existing one

The first attempt to fix this (PR #16033) did not work properly.
This change is intended to fix the issue for good by closing the gap the
previuous PR has left.

    Fixes: #15604

Co-Authored-By: Travis Nielsen <tnielsen@redhat.com>
Signed-off-by: Michael Adam <obnox@samba.org>
2025-06-23 16:57:33 +02:00
Michael Adam 2704f23ea7 build: merge helm indexes instead of recreating for every release
A new helm repo index was created from scratch for every new release
which meant that the release timestamps in the index were basically all
identical.

This change intends to fix that by merging the new index with the
existing one

Fixes: #15604

Signed-off-by: Michael Adam <obnox@samba.org>
2025-06-19 22:24:07 +02:00
Michael Adam 7c05f532ce helm: use the latest version
update the helm version used to the latest (v3.18.2)

Signed-off-by: Michael Adam <obnox@samba.org>
2025-06-04 19:01:47 +02:00
Travis Nielsen 0f0b3b2df8 Revert "ci: only publish docs in master and tagged releases"
This reverts commit 28fa387dff.
2025-05-08 12:19:13 -06:00
subham rai 3be9c92f1a Merge pull request #15830 from travisn/docs-publish
ci: Only publish docs in master and tagged releases
2025-05-06 11:08:17 +05:30
Travis Nielsen 28fa387dff ci: only publish docs in master and tagged releases
Until now, docs have been published for every master and
release branch build. This can lead to confusion if a new
feature is backported to the release branch and the docs
are published to the website, even though the feature will
not be available until the next tagged release.

This does have the effect that small doc-only fixes will
not be in the latest release docs until we actually tag
a release.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-05-05 13:44:07 -06:00
Michael Adam d7f2a4b4d8 build: move se-release-ver script to better place
The script sel-release-ver.sh was added in a somewhat unnatural place
tests/scripts .
This moves it to a more natural location build/release .

Signed-off-by: Michael Adam <obnox@samba.org>
2025-05-05 17:02:39 +02:00
a1b941f969 build: add a script for setting the release version in examples,docs, and charts
This script updates examples and docs for a new release.

Invocation in principle: set-release-ver.sh  NEW_VER
For example: set-release-ver.sh v1.16.8

Fixes: #15749

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
2025-05-01 10:36:26 -06:00
Michael Adam 47a3ec3466 docs: slightly improve wording in release guide
Reading the release process documentation, I found the description
of steps in one place to not quite match the intended effect of the
actual command steps due to a slight imprecision in used terminology.

This change improves and clarifies the corresponding wording to hopefully
prevent others from facing the same confusion.

Signed-off-by: Michael Adam <obnox@samba.org>
2025-04-23 12:25:53 +02:00
Travis Nielsen 63e13868ea build: push arch specific images to the registries
The arch specific images were not be pushed since the make
target was missing.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-04-21 14:37:19 -06:00
Travis Nielsen 7d908d0a5e build: stop publishing charts in master branch
The helm charts will now only be published when it is
an officially tagged release build.

The images will only be published to all repos for
dockerhub, quay, and ghcr when it is a tagged release.

The images will be published only to dockerhub for all
master and interim release branch builds.

Remove obsolete makefile option for images.
Ceph is the only image Rook ever expects to build.
Simplify the makefile by removing the legacy option
to select which image to build.

Also included are other small improvements to clean up
the release scripts.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-04-18 10:40:29 -06:00
Joshua Hoblitt b721c30dd1 core: fix golangci-lint warn caused by comment in nolint directive
Resolves this warning:

    WARN [runner/nolint_filter] Found unknown linters in //nolint directives: just configuration keys., value not credential

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-03-27 09:43:16 -07:00
Joshua Hoblitt c5f59db859 core: replace gofmt with golangci-lint
This has the effect of running gofmt and gofumpt at the same time.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-03-26 16:17:37 -07:00
Allen Conlon 1291045c7f ci: fix push version mismatch
Signed-off-by: Allen Conlon <software@conlon.dev>
2025-03-25 17:04:48 -04:00
Allen Conlon 2cbcbffd52 ci: fix version of chart not existing
Signed-off-by: Allen Conlon <software@conlon.dev>
2025-03-25 15:50:13 -04:00
Travis Nielsen 4aec70601c Merge pull request #15542 from a1994sc/feature/oci-chart
ci: publish helm charts to oci repos
2025-03-24 13:42:49 -06:00
Allen Conlon fa2e499727 ci: publish helm charts to oci repos
Signed-off-by: Allen Conlon <software@conlon.dev>
2025-03-21 20:15:59 -04:00
subham rai dd6cd626f8 Merge pull request #15540 from subhamkrai/add-go-1.24
build: add support for golang 1.24
2025-03-19 11:55:54 +05:30
subhamkrai 3bbfe8a70e build: add support for golang 1.24
rook now supports two recent version of golang
i.e 1.23, 1.24 and also run canary test on go 1.24

Signed-off-by: subhamkrai <srai@redhat.com>
2025-03-18 22:08:06 +05:30
subhamkrai df3c757141 ci: push rook image to other oci like quay,ghcr
currently rook images are only available in docker,
let's start pushing rook images to quay.io and ghcr.io as well.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-02-27 09:44:29 +05:30
Michael Adam 5c39ac537a build: remove broken make target lint
The lint make target is not used anywhere in the codebase and is particular not run in the CI.
It was recently discovered that `make lint` does not even work at all.
It was subsequently suggested to remove the broken and unused target altogether.

This change settles that issue by removing the lint target and the preparatory
 golint installation target.

Fixes: #15317

Signed-off-by: Michael Adam <obnox@samba.org>
2025-01-24 18:20:49 +01:00
9e725b6214 build: upgrade codegen tooling to the latest version
This includes and is based on the changes of:

https://github.com/rook/rook/pull/14894

Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Co-authored-by: subhamkrai <srai@redhat.com>
Signed-off-by: Michael Adam <obnox@samba.org>

Fixes: #14894
2024-12-04 21:00:10 +01:00
Michael Adam 9ecd6a2500 build: support golang 1.23
Signed-off-by: Michael Adam <obnox@samba.org>
2024-09-23 18:07:01 +02:00
Blaine Gardner 5da7feb9d7 test: fix 'make test' on arm mac
make test was failing when running on arm macbooks. Fix it so that it
isn't running with hardcoded GOOS=linux.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-08-20 11:19:12 -06:00
Blaine Gardner 33f5407dd4 multus: add host checking to validation tool
In order to help users check that they have implemented the newly-added
Multus host configuration prerequisites, add a check to the validation
tool to verify connectivity.

Because users who are already running clusters with Multus enabled, add
a flag that allows users to only check for host configuration
prerequisites. This mode will not start the large number of clients that
would normally be started because those clients could disrupt a running
Rook cluster negatively.

Host checking pods require host network access. Many Kubernetes
distributions have pod security features enabled. In order to allow
non-Vanilla distros to run this tool, allow specifying a service account
that pods will run as, which can be configured by the admin to allow
test pods.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-07-10 13:41:38 -06:00
subhamkrai d116429f75 build: upgrade to go 1.22
this commit upgrade to go 1.22 in go mod file and ci related files.
Also remove go 1.21 support

Signed-off-by: subhamkrai <srai@redhat.com>
2024-07-03 17:01:33 +05:30
Michael Adam 212ecb6a0f build: update to use the latest version of go-junit-report
`make test` failed for me on MacOS with this error:

```console
$ make test

...

=== installing go-junit-report
tar: Error opening archive: Unrecognized archive format
make[2]: ***
$
```

So it seems the version v2.0.0 of go-junit-report has a broken source
tarball

Going to the latest version v2.1.0 fixes the problem for me.

Signed-off-by: Michael Adam <obnox@samba.org>
2024-06-04 17:45:31 +02:00
subhamkrai ea159ad9b7 ci: remove extra comma from platforms
The last pr missed removing the extra comma after the platform
so, instead of ` linux/amd64,linux/arm64,` it should be
` linux/amd64,linux/arm64`.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-05-16 14:47:51 +05:30
subhamkrai f89540c4ef ci: push image ci failing in ubuntu 22.04
since we moved to ubuntu 22.04, ci push image build is failing
due wrong parameter `--platforms linux/amd64 linux/arm64,` it should
be instead `--platforms linux/amd64, linux/arm64`.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-05-15 22:09:16 +05:30
subhamkrai 43e0c1cdb3 build: add support for go 1.22
Few day's back go 1.22 is release. Let's add that
as valid version to build on. Also, adding 1.22 as
test matric for linux build CI.

https://tip.golang.org/doc/go1.22

Signed-off-by: subhamkrai <srai@redhat.com>
2024-03-27 10:34:21 +05:30
subhamkrai dd8c3c9974 build: remove csv related files
remove csv related files/content which are not used/required for
upstream uses.

Signed-off-by: subhamkrai <srai@redhat.com>
2024-03-11 21:01:53 +05:30
Travis Nielsen d77cee791c Merge pull request #13362 from parth-gr/service-account-deafult
core: Set default service account on all Ceph daemons
2024-02-28 10:52:12 -07:00
parth-gr f7a9d8ff7b core: added rook-ceph-default service account
When a private docker registry is used and an
image pull secret is specified in the chart,
the pods with default Service Account fail to pull
the image due to authentication issues.
Added rook-ceph-default service account and modify the pods
specifications by adding the serviceAccountName

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

Closes: https://github.com/rook/rook/issues/6673
Co-authored-by: Tareq Sharafy <tareq.sha@gmail.com>
Signed-off-by: parth-gr <partharora1010@gmail.com>
(cherry picked from commit 737fb099fe)
Signed-off-by: parth-gr <partharora1010@gmail.com>
2024-02-28 13:32:55 +05:30
Redouane KachachandBlaine Gardner bd7477ec61 manifest: reduce CRD size by removing some descriptions
Reduce CRD size by removing some descriptions for things that
(a) are long, (b) are repeated, and (c) are commong kubernetes types.

Remove the `Status` field from VolumeClaimTemplates (a.k.a. PVCs) in
types.go to remove all unnecessary status-related fields.

Use `yq` to go through generated `crds.yaml` to strip out descriptions
for well-known k8s types that are long and repeated where we can't
remove them from types.go. This is mostly placement descriptions and
volumeSource descriptions.

The overall `crds.yaml` file is reduced to less than 60% of its original
size.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
Co-authored-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-02-20 10:08:44 +01:00
Scott Miller e28c107a76 build: fix bad quotation in make help
Signed-off-by: Scott Miller <smiller1@coreweave.com>
2024-01-25 13:01:01 +00:00
travisn 3c1b0692e4 manifest: shorten crd descriptions to 100 chars
Long CRD descriptions were pushing the size of the CRDs manifest
over 1MB, which causes issues when creating the CRDs. To shorten
the manifest, the descriptions are now limited to 100 chars.
This still gives some ability for dev tools to show a brief
description if needed. The generated CRD docs still contain
the full descriptions for reference.

Signed-off-by: travisn <tnielsen@redhat.com>
2024-01-05 09:10:36 -07:00
subhamkrai 0c115927e1 build: remove go1.20 support and default to go1.21
Signed-off-by: subhamkrai <srai@redhat.com>
2023-12-19 11:55:03 +05:30
Blaine Gardner b2d6459f2a doc: update release doc
Update the release doc to include the latest process used to create the
new 1.13 release branch.

Make a few minor changes to the patch update process to keep formatting
the same between new-release-branch and new-patch processes.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2023-12-06 09:43:44 -07:00
Alexander Trost fcf52207f8 build: use /usr/bin/env to look up script interpreters
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2023-11-21 14:38:22 +01:00
Travis Nielsen 96b24097c2 Merge pull request #13150 from koor-tech/fix_mike_deploy
ci: fix mike deploy flags
2023-11-03 10:11:43 -06:00
Alexander Trost 4a48c14861 ci: fix mike deploy flags
This fixes the docs deploy issues caused by the mike 2.0.0 release that
removed/renamed some flags, see
https://github.com/jimporter/mike/releases/tag/v2.0.0

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2023-11-03 17:03:08 +01:00
travisn 0e0598c155 build: add go modules for apis subdir
To keep the go dependencies minimal, add the go packages
just for the pkg/apis directory. Projects that only reference
the rook apis can then have a smaller footprint for Go
dependencies.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-10-26 16:25:56 -06:00
subhamkrai c4cf300358 ci: skip csv generation for mac
mac build ci is failing during csv gen
when trying to move files to some folder.
Skipping csv gen for mac since it is not required.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-10-25 20:30:24 +05:30
subhamkrai b186150e1c ci: fix mkdocs deprecated imports
migrate to using mkdocs-material's material.extensions.emoji.twemoji
and material.extensions.emoji.to_svg in place of the respective
materialx.emoji.twemoji and materialx.emoji.to_svg. Also, this requires
latest version of mkdocs-material.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-10-18 15:54:46 +05:30
subhamkrai 1b652f8176 build: add check to validate crd in csv
In the past we had few cases where the new crd
was missed adding in metadata-common.yaml file.
So, now we'll check if crds.yaml and metadata-common.yaml
crd name are matching.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-09-06 19:37:25 +05:30
Blaine Gardner 6a0f5fbf42 Merge pull request #12774 from obnoxxx/multus-validation-job-autogen
Multus validation job automated update
2023-08-25 11:51:40 -06:00
Michael AdamandBlaine Gardner 22882c5358 multus: auto-update the validation job manifest file with help text
Signed-off-by: Michael Adam <obnox@samba.org>

this change  introduces a new 'make target 'docs'that generates part of the documentation

It particular, it runs the `helm-docs` target.

Additionally, `make docs`  updates the  multus validation job manifest
by inserting the output of `rook multus validation run --help` between
two newly introduced markers.

The result of running `make docs` is intended to be committed to git after running

Fixes: #12706

Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Co-authored-by: Michael Adam <obnox@samba.org>

Update build/deploy/generate-deploy-examples.sh

Signed-off-by: Michael Adam <obnox@samba.org>
2023-08-25 18:37:16 +02:00
subhamkrai e9cc7ed7b9 build: update go version to 1.21 from 1.20
Signed-off-by: subhamkrai <srai@redhat.com>
2023-08-25 12:23:21 +05:30
travisn 1a4917de78 build: remove go modules under apis directory
The go package dependencies (go.mod and go.sum) were created
under the pkg/apis directory to simplify the dependencies for
other projects referencing the rook repo. The downside is that
the dependabot can no longer open a working and valid PR since
the bot is not aware of the go.mod and go.sum in the apis directory.

Since the reduction of dependencies for vault in #12455,
the list of extra dependencies is not quite so extensive.
We are putting effort into shrinking the dependency list instead
of using the modules files in the apis subdirectory.

Note that #12419 updated the dependencies for the latest controller
runtime which also increased the size of the modules
list in the pkgs subdirectory, which means the difference
in dependencies in the pkgs subdirectory is no longer
signficant anyway.

Signed-off-by: travisn <tnielsen@redhat.com>
2023-08-21 15:13:33 -06:00