From c0fb5fa2db16772b36a3fc31b6a638566a8b01bf Mon Sep 17 00:00:00 2001 From: Techassi Date: Wed, 29 Oct 2025 16:40:24 +0100 Subject: [PATCH 1/3] ci: Run pre-commit on merge-queue (#416) --- .github/workflows/pr_pre-commit.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr_pre-commit.yml b/.github/workflows/pr_pre-commit.yml index abbe3384..0e0a5f86 100644 --- a/.github/workflows/pr_pre-commit.yml +++ b/.github/workflows/pr_pre-commit.yml @@ -3,6 +3,7 @@ name: pre-commit on: pull_request: + merge_group: env: CARGO_TERM_COLOR: always From f5df6045a4f81d8d651714bb690b1a167a652ebe Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Tue, 4 Nov 2025 12:33:00 +0100 Subject: [PATCH 2/3] fix: Don't crash during `release upgrade` for SDP 25.11 (#418) * fix: Don't crash during `release upgrade` for SDP 25.11 * changelog * Update rust/stackable-cockpit/src/platform/release/spec.rs Co-authored-by: Techassi * Improve docs * Fix typo --------- Co-authored-by: Techassi --- .../src/platform/release/spec.rs | 35 +++++++++++++++---- rust/stackablectl/CHANGELOG.md | 7 ++++ 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/rust/stackable-cockpit/src/platform/release/spec.rs b/rust/stackable-cockpit/src/platform/release/spec.rs index 7367c29d..21a5ef82 100644 --- a/rust/stackable-cockpit/src/platform/release/spec.rs +++ b/rust/stackable-cockpit/src/platform/release/spec.rs @@ -1,9 +1,10 @@ use futures::{StreamExt as _, TryStreamExt}; use indexmap::IndexMap; +use reqwest::StatusCode; use serde::{Deserialize, Serialize}; use snafu::{ResultExt, Snafu}; use tokio::task::JoinError; -use tracing::{Instrument, Span, info, instrument}; +use tracing::{Instrument, Span, debug, info, instrument}; use tracing_indicatif::span_ext::IndicatifSpanExt as _; #[cfg(feature = "openapi")] use utoipa::ToSchema; @@ -181,18 +182,38 @@ impl ReleaseSpec { } }; - let request_url = &format!( + let request_url_string = &format!( "https://raw.githubusercontent.com/stackabletech/{product_name}-operator/{release_branch}/deploy/helm/{product_name}-operator/crds/crds.yaml" ); - let request_url = request_url.into_path_or_url().context(ParsePathOrUrlSnafu { - path_or_url: request_url.clone(), + let request_url = request_url_string.into_path_or_url().context(ParsePathOrUrlSnafu { + path_or_url: request_url_string, })?; // Get CRD manifests from request_url - let crd_manifests: String = transfer_client + let crd_manifests = transfer_client .get(&request_url, &Text) - .await - .context(FileTransferSnafu)?; + .await; + let crd_manifests = match crd_manifests { + Ok(crd_manifests) => crd_manifests, + Err(crate::xfer::Error::FetchRemoteContent{source: reqwest_error}) + if reqwest_error.status() == Some(StatusCode::NOT_FOUND) => { + // Ignore 404, as CRD versioning is rolled out to operators. + // Starting with secret-operator 25.11.0, the CRD is maintained by the operator, + // making this entire functionality obsolete. + // As only some of the operators are migrated yet, some operator crds.yaml's + // return a 404, others don't. + debug!( + product = product_name, + // https://opentelemetry.io/docs/specs/semconv/http/http-spans/#http-client-span + url.full = request_url_string, + "Skipped updating CRD, as it doesn't exist in the upstream GitHub repo because the operator most likely uses CRD versioning" + ); + return Ok(()); + }, + Err(err) => { + return Err(Error::FileTransfer { source: err }); + }, + }; // Upgrade CRDs k8s_client diff --git a/rust/stackablectl/CHANGELOG.md b/rust/stackablectl/CHANGELOG.md index 78c20681..68908e55 100644 --- a/rust/stackablectl/CHANGELOG.md +++ b/rust/stackablectl/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Fixed + +- Don't crash during `release upgrade` for SDP 25.11. + Previously it errored with `HTTP status client error (404 Not Found) for url (https://raw.githubusercontent.com/stackabletech/secret-operator/main/deploy/helm/secret-operator/crds/crds.yaml)`, as the secret-operator now maintains the CRD itself ([#418]). + +[#418]: https://github.com/stackabletech/stackable-cockpit/pull/418 + ## [1.2.0] - 2025-10-29 ### Added From 545748b6914fafb593231a8993f58d43fddaf122 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Tue, 18 Nov 2025 10:04:09 +0100 Subject: [PATCH 3/3] chore: Release stackablectl 1.2.1 (#420) --- Cargo.lock | 2 +- Cargo.nix | 2 +- docs/modules/stackablectl/pages/installation.adoc | 10 +++++----- docs/modules/stackablectl/pages/release-notes.adoc | 3 +++ .../partials/release-notes/release-1.2.1.adoc | 5 +++++ extra/man/stackablectl.1 | 4 ++-- rust/stackablectl/Cargo.toml | 2 +- 7 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 docs/modules/stackablectl/partials/release-notes/release-1.2.1.adoc diff --git a/Cargo.lock b/Cargo.lock index be70db85..6b4fc025 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3605,7 +3605,7 @@ dependencies = [ [[package]] name = "stackablectl" -version = "1.2.0" +version = "1.2.1" dependencies = [ "clap", "clap_complete", diff --git a/Cargo.nix b/Cargo.nix index c85e0d0e..141e2f14 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -11992,7 +11992,7 @@ rec { }; "stackablectl" = rec { crateName = "stackablectl"; - version = "1.2.0"; + version = "1.2.1"; edition = "2021"; crateBin = [ { diff --git a/docs/modules/stackablectl/pages/installation.adoc b/docs/modules/stackablectl/pages/installation.adoc index 08b39aa9..7166b474 100644 --- a/docs/modules/stackablectl/pages/installation.adoc +++ b/docs/modules/stackablectl/pages/installation.adoc @@ -1,7 +1,7 @@ = Installation :page-aliases: stable@stackablectl::installation.adoc -:latest-release: https://github.com/stackabletech/stackable-cockpit/releases/tag/stackablectl-1.2.0 +:latest-release: https://github.com/stackabletech/stackable-cockpit/releases/tag/stackablectl-1.2.1 :fish-comp-loations: https://fishshell.com/docs/current/completions.html#where-to-put-completions :nushell-comp-locations: https://www.nushell.sh/book/custom_commands.html#persisting @@ -23,14 +23,14 @@ You can also use the following command: [source,console] ---- -$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-1.2.0/stackablectl-x86_64-unknown-linux-gnu +$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-1.2.1/stackablectl-x86_64-unknown-linux-gnu ---- **aarch64** (arm64): [source,console] ---- -$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-1.2.0/stackablectl-aarch64-unknown-linux-gnu +$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-1.2.1/stackablectl-aarch64-unknown-linux-gnu ---- Install the binary into a directory in the `$PATH`, and make it executable: @@ -60,14 +60,14 @@ You can also use the following command: [source,console] ---- -$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-1.2.0/stackablectl-x86_64-apple-darwin +$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-1.2.1/stackablectl-x86_64-apple-darwin ---- **aarch64** (arm64): [source,console] ---- -$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-1.2.0/stackablectl-aarch64-apple-darwin +$ curl -L -o stackablectl https://github.com/stackabletech/stackable-cockpit/releases/download/stackablectl-1.2.1/stackablectl-aarch64-apple-darwin ---- Install the binary into a directory in the `$PATH`, and make it executable: diff --git a/docs/modules/stackablectl/pages/release-notes.adoc b/docs/modules/stackablectl/pages/release-notes.adoc index 1dc06dc5..069cfd86 100644 --- a/docs/modules/stackablectl/pages/release-notes.adoc +++ b/docs/modules/stackablectl/pages/release-notes.adoc @@ -5,6 +5,9 @@ A full list of changes is available directly in https://github.com/stackabletech/stackable-cockpit/blob/main/rust/stackablectl/CHANGELOG.md[stackablectl's changelog]. // WARNING: Please keep the empty newlines, otherwise headings are broken. + +include::partial$release-notes/release-1.2.1.adoc[] + include::partial$release-notes/release-1.2.0.adoc[] include::partial$release-notes/release-1.1.0.adoc[] diff --git a/docs/modules/stackablectl/partials/release-notes/release-1.2.1.adoc b/docs/modules/stackablectl/partials/release-notes/release-1.2.1.adoc new file mode 100644 index 00000000..5deb31dc --- /dev/null +++ b/docs/modules/stackablectl/partials/release-notes/release-1.2.1.adoc @@ -0,0 +1,5 @@ +== 1.2.1 + +* Don't crash during `release upgrade` for SDP 25.11. + Previously it errored with `HTTP status client error (404 Not Found) for url (https://raw.githubusercontent.com/stackabletech/secret-operator/main/deploy/helm/secret-operator/crds/crds.yaml)`, as the secret-operator now maintains the CRD itself ([#418]). + See https://github.com/stackabletech/stackable-cockpit/pull/418[stackable-cockpit#418]. diff --git a/extra/man/stackablectl.1 b/extra/man/stackablectl.1 index 643a4340..2b8a7244 100644 --- a/extra/man/stackablectl.1 +++ b/extra/man/stackablectl.1 @@ -1,6 +1,6 @@ .ie \n(.g .ds Aq \(aq .el .ds Aq ' -.TH stackablectl 1 "stackablectl 1.2.0" +.TH stackablectl 1 "stackablectl 1.2.1" .SH NAME stackablectl \- Command line tool to interact with the Stackable Data Platform .SH SYNOPSIS @@ -120,6 +120,6 @@ EXPERIMENTAL: Launch a debug container for a Pod stackablectl\-help(1) Print this message or the help of the given subcommand(s) .SH VERSION -v1.2.0 +v1.2.1 .SH AUTHORS Stackable GmbH diff --git a/rust/stackablectl/Cargo.toml b/rust/stackablectl/Cargo.toml index d13f34bb..af107a9e 100644 --- a/rust/stackablectl/Cargo.toml +++ b/rust/stackablectl/Cargo.toml @@ -2,7 +2,7 @@ name = "stackablectl" description = "Command line tool to interact with the Stackable Data Platform" # See /Cargo.toml -version = "1.2.0" +version = "1.2.1" authors.workspace = true license.workspace = true edition.workspace = true