diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8f67bc7..9217c8c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,6 +14,7 @@ on: - "renovate/**" tags: - '[0-9][0-9].[0-9]+.[0-9]+' + - '[0-9][0-9].[0-9]+.[0-9]+-rc[0-9]+' pull_request: merge_group: schedule: @@ -344,9 +345,20 @@ jobs: with: crate: cargo-edit bin: cargo-set-version - - name: Update version if PR - if: ${{ github.event_name == 'pull_request' }} + - name: Update version if PR against main branch + if: ${{ github.event_name == 'pull_request' && github.ref == 'refs/heads/main' }} run: cargo set-version --offline --workspace 0.0.0-pr${{ github.event.pull_request.number }} + - name: Update version if PR against non-main branch + # For PRs to be merged against a release branch, use the version that has already been set in the calling script. + # We can't rely on cargo set-version here as we will break semver rules when changing the version to make it + # specific to this PR e.g. 1.2.0 --> 1.2.0-pr678, so set it manually. + if: ${{ github.event_name == 'pull_request' && github.ref != 'refs/heads/main' }} + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version') + PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}" + sed -i "s/version = \"${MANIFEST_VERSION}\"/version = \"${PR_VERSION}\"/" Cargo.toml # Recreate charts and publish charts and docker image. The "-e" is needed as we want to override the # default value in the makefile if called from this action, but not otherwise (i.e. when called locally). @@ -410,9 +422,20 @@ jobs: with: crate: cargo-edit bin: cargo-set-version - - name: Update version if PR - if: ${{ github.event_name == 'pull_request' }} + - name: Update version if PR against main branch + if: ${{ github.event_name == 'pull_request' && github.ref == 'refs/heads/main' }} run: cargo set-version --offline --workspace 0.0.0-pr${{ github.event.pull_request.number }} + - name: Update version if PR against non-main branch + # For PRs to be merged against a release branch, use the version that has already been set in the calling script. + # We can't rely on cargo set-version here as we will break semver rules when changing the version to make it + # specific to this PR e.g. 1.2.0 --> 1.2.0-pr678, so set it manually. + if: ${{ github.event_name == 'pull_request' && github.ref != 'refs/heads/main' }} + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version') + PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}" + sed -i "s/version = \"${MANIFEST_VERSION}\"/version = \"${PR_VERSION}\"/" Cargo.toml - name: Build manifest list run: | # Creating manifest list diff --git a/CHANGELOG.md b/CHANGELOG.md index aa491c3..82f660f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [24.11.1] - 2025-01-09 + +## [24.11.1-rc2] - 2024-12-12 + +## [24.11.1-rc1] - 2024-12-06 + +## [24.11.0] - 2024-11-18 + ### Added - The operator can now run on Kubernetes clusters using a non-default cluster domain. diff --git a/Cargo.lock b/Cargo.lock index bd894b4..9d700f1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2106,7 +2106,7 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "stackable-commons-operator" -version = "0.0.0-dev" +version = "24.11.1" dependencies = [ "anyhow", "built", diff --git a/Cargo.nix b/Cargo.nix index ec4161b..82244d3 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -6511,7 +6511,7 @@ rec { }; "stackable-commons-operator" = rec { crateName = "stackable-commons-operator"; - version = "0.0.0-dev"; + version = "24.11.1"; edition = "2021"; crateBin = [ { diff --git a/Cargo.toml b/Cargo.toml index 078b6a2..cc1eaaa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["rust/operator-binary"] resolver = "2" [workspace.package] -version = "0.0.0-dev" +version = "24.11.1" authors = ["Stackable GmbH "] license = "OSL-3.0" edition = "2021" diff --git a/deploy/helm/commons-operator/Chart.yaml b/deploy/helm/commons-operator/Chart.yaml index 21e303f..09bbf87 100644 --- a/deploy/helm/commons-operator/Chart.yaml +++ b/deploy/helm/commons-operator/Chart.yaml @@ -1,8 +1,8 @@ --- apiVersion: v2 name: commons-operator -version: "0.0.0-dev" -appVersion: "0.0.0-dev" +version: "24.11.1" +appVersion: "24.11.1" description: The Stackable Operator for Stackable Commons home: https://github.com/stackabletech/commons-operator maintainers: diff --git a/deploy/helm/commons-operator/crds/crds.yaml b/deploy/helm/commons-operator/crds/crds.yaml index 73ba29c..69b63eb 100644 --- a/deploy/helm/commons-operator/crds/crds.yaml +++ b/deploy/helm/commons-operator/crds/crds.yaml @@ -22,7 +22,7 @@ spec: description: Auto-generated derived type for AuthenticationClassSpec via `CustomResource` properties: spec: - description: The Stackable Platform uses the AuthenticationClass as a central mechanism to handle user authentication across supported products. The authentication mechanism needs to be configured only in the AuthenticationClass which is then referenced in the product. Multiple different authentication providers are supported. Learn more in the [authentication concept documentation](https://docs.stackable.tech/home/nightly/concepts/authentication) and the [Authentication with OpenLDAP tutorial](https://docs.stackable.tech/home/nightly/tutorials/authentication_with_openldap). + description: The Stackable Platform uses the AuthenticationClass as a central mechanism to handle user authentication across supported products. The authentication mechanism needs to be configured only in the AuthenticationClass which is then referenced in the product. Multiple different authentication providers are supported. Learn more in the [authentication concept documentation](https://docs.stackable.tech/home/24.11/concepts/authentication) and the [Authentication with OpenLDAP tutorial](https://docs.stackable.tech/home/24.11/tutorials/authentication_with_openldap). properties: provider: description: Provider used for authentication like LDAP or Kerberos. @@ -39,7 +39,7 @@ spec: - kerberos properties: kerberos: - description: The [Kerberos provider](https://docs.stackable.tech/home/nightly/concepts/authentication#_kerberos). The Kerberos AuthenticationClass is used when users should authenticate themselves via Kerberos. + description: The [Kerberos provider](https://docs.stackable.tech/home/24.11/concepts/authentication#_kerberos). The Kerberos AuthenticationClass is used when users should authenticate themselves via Kerberos. properties: kerberosSecretClass: description: Mandatory SecretClass used to obtain keytabs. @@ -48,14 +48,14 @@ spec: - kerberosSecretClass type: object ldap: - description: The [LDAP provider](https://docs.stackable.tech/home/nightly/concepts/authentication#_ldap). There is also the ["Authentication with LDAP" tutorial](https://docs.stackable.tech/home/nightly/tutorials/authentication_with_openldap) where you can learn to configure Superset and Trino with OpenLDAP. + description: The [LDAP provider](https://docs.stackable.tech/home/24.11/concepts/authentication#_ldap). There is also the ["Authentication with LDAP" tutorial](https://docs.stackable.tech/home/24.11/tutorials/authentication_with_openldap) where you can learn to configure Superset and Trino with OpenLDAP. properties: bindCredentials: description: In case you need a special account for searching the LDAP server you can specify it here. nullable: true properties: scope: - description: '[Scope](https://docs.stackable.tech/home/nightly/secret-operator/scope) of the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass).' + description: '[Scope](https://docs.stackable.tech/home/24.11/secret-operator/scope) of the [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass).' nullable: true properties: listenerVolumes: @@ -80,7 +80,7 @@ spec: type: array type: object secretClass: - description: '[SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) containing the LDAP bind credentials.' + description: '[SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) containing the LDAP bind credentials.' type: string required: - secretClass @@ -159,7 +159,7 @@ spec: - secretClass properties: secretClass: - description: Name of the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) which will provide the CA certificate. Note that a SecretClass does not need to have a key but can also work with just a CA certificate, so if you got provided with a CA cert but don't have access to the key you can still use this method. + description: Name of the [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) which will provide the CA certificate. Note that a SecretClass does not need to have a key but can also work with just a CA certificate, so if you got provided with a CA cert but don't have access to the key you can still use this method. type: string webPki: description: Use TLS and the CA certificates trusted by the common web browsers to verify the server. This can be useful when you e.g. use public AWS S3 or other public available services. @@ -237,7 +237,7 @@ spec: - secretClass properties: secretClass: - description: Name of the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) which will provide the CA certificate. Note that a SecretClass does not need to have a key but can also work with just a CA certificate, so if you got provided with a CA cert but don't have access to the key you can still use this method. + description: Name of the [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) which will provide the CA certificate. Note that a SecretClass does not need to have a key but can also work with just a CA certificate, so if you got provided with a CA cert but don't have access to the key you can still use this method. type: string webPki: description: Use TLS and the CA certificates trusted by the common web browsers to verify the server. This can be useful when you e.g. use public AWS S3 or other public available services. @@ -256,7 +256,7 @@ spec: - scopes type: object static: - description: The [static provider](https://https://docs.stackable.tech/home/nightly/concepts/authentication#_static) is used to configure a static set of users, identified by username and password. + description: The [static provider](https://https://docs.stackable.tech/home/24.11/concepts/authentication#_static) is used to configure a static set of users, identified by username and password. properties: userCredentialsSecret: description: Secret providing the usernames and passwords. The Secret must contain an entry for every user, with the key being the username and the value the password in plain text. It must be located in the same namespace as the product using it. @@ -271,10 +271,10 @@ spec: - userCredentialsSecret type: object tls: - description: The [TLS provider](https://docs.stackable.tech/home/nightly/concepts/authentication#_tls). The TLS AuthenticationClass is used when users should authenticate themselves with a TLS certificate. + description: The [TLS provider](https://docs.stackable.tech/home/24.11/concepts/authentication#_tls). The TLS AuthenticationClass is used when users should authenticate themselves with a TLS certificate. properties: clientCertSecretClass: - description: 'See [ADR017: TLS authentication](https://docs.stackable.tech/home/nightly/contributor/adr/adr017-tls_authentication). If `client_cert_secret_class` is not set, the TLS settings may also be used for client authentication. If `client_cert_secret_class` is set, the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) will be used to provision client certificates.' + description: 'See [ADR017: TLS authentication](https://docs.stackable.tech/home/24.11/contributor/adr/adr017-tls_authentication). If `client_cert_secret_class` is not set, the TLS settings may also be used for client authentication. If `client_cert_secret_class` is set, the [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) will be used to provision client certificates.' nullable: true type: string type: object @@ -313,7 +313,7 @@ spec: description: Auto-generated derived type for S3ConnectionSpec via `CustomResource` properties: spec: - description: S3 connection definition as a resource. Learn more on the [S3 concept documentation](https://docs.stackable.tech/home/nightly/concepts/s3). + description: S3 connection definition as a resource. Learn more on the [S3 concept documentation](https://docs.stackable.tech/home/24.11/concepts/s3). properties: accessStyle: default: VirtualHosted @@ -323,11 +323,11 @@ spec: - VirtualHosted type: string credentials: - description: If the S3 uses authentication you have to specify you S3 credentials. In the most cases a [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) providing `accessKey` and `secretKey` is sufficient. + description: If the S3 uses authentication you have to specify you S3 credentials. In the most cases a [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) providing `accessKey` and `secretKey` is sufficient. nullable: true properties: scope: - description: '[Scope](https://docs.stackable.tech/home/nightly/secret-operator/scope) of the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass).' + description: '[Scope](https://docs.stackable.tech/home/24.11/secret-operator/scope) of the [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass).' nullable: true properties: listenerVolumes: @@ -352,7 +352,7 @@ spec: type: array type: object secretClass: - description: '[SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) containing the LDAP bind credentials.' + description: '[SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) containing the LDAP bind credentials.' type: string required: - secretClass @@ -393,7 +393,7 @@ spec: - secretClass properties: secretClass: - description: Name of the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) which will provide the CA certificate. Note that a SecretClass does not need to have a key but can also work with just a CA certificate, so if you got provided with a CA cert but don't have access to the key you can still use this method. + description: Name of the [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) which will provide the CA certificate. Note that a SecretClass does not need to have a key but can also work with just a CA certificate, so if you got provided with a CA cert but don't have access to the key you can still use this method. type: string webPki: description: Use TLS and the CA certificates trusted by the common web browsers to verify the server. This can be useful when you e.g. use public AWS S3 or other public available services. @@ -440,7 +440,7 @@ spec: description: Auto-generated derived type for S3BucketSpec via `CustomResource` properties: spec: - description: S3 bucket specification containing the bucket name and an inlined or referenced connection specification. Learn more on the [S3 concept documentation](https://docs.stackable.tech/home/nightly/concepts/s3). + description: S3 bucket specification containing the bucket name and an inlined or referenced connection specification. Learn more on the [S3 concept documentation](https://docs.stackable.tech/home/24.11/concepts/s3). properties: bucketName: description: The name of the S3 bucket. @@ -454,7 +454,7 @@ spec: - reference properties: inline: - description: S3 connection definition as a resource. Learn more on the [S3 concept documentation](https://docs.stackable.tech/home/nightly/concepts/s3). + description: S3 connection definition as a resource. Learn more on the [S3 concept documentation](https://docs.stackable.tech/home/24.11/concepts/s3). properties: accessStyle: default: VirtualHosted @@ -464,11 +464,11 @@ spec: - VirtualHosted type: string credentials: - description: If the S3 uses authentication you have to specify you S3 credentials. In the most cases a [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) providing `accessKey` and `secretKey` is sufficient. + description: If the S3 uses authentication you have to specify you S3 credentials. In the most cases a [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) providing `accessKey` and `secretKey` is sufficient. nullable: true properties: scope: - description: '[Scope](https://docs.stackable.tech/home/nightly/secret-operator/scope) of the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass).' + description: '[Scope](https://docs.stackable.tech/home/24.11/secret-operator/scope) of the [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass).' nullable: true properties: listenerVolumes: @@ -493,7 +493,7 @@ spec: type: array type: object secretClass: - description: '[SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) containing the LDAP bind credentials.' + description: '[SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) containing the LDAP bind credentials.' type: string required: - secretClass @@ -534,7 +534,7 @@ spec: - secretClass properties: secretClass: - description: Name of the [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) which will provide the CA certificate. Note that a SecretClass does not need to have a key but can also work with just a CA certificate, so if you got provided with a CA cert but don't have access to the key you can still use this method. + description: Name of the [SecretClass](https://docs.stackable.tech/home/24.11/secret-operator/secretclass) which will provide the CA certificate. Note that a SecretClass does not need to have a key but can also work with just a CA certificate, so if you got provided with a CA cert but don't have access to the key you can still use this method. type: string webPki: description: Use TLS and the CA certificates trusted by the common web browsers to verify the server. This can be useful when you e.g. use public AWS S3 or other public available services. diff --git a/docs/antora.yml b/docs/antora.yml index d522680..9db85ca 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -1,3 +1,4 @@ --- name: home -version: "nightly" +version: "24.11" +prerelease: false diff --git a/tests/release.yaml b/tests/release.yaml index e1854ad..7efa4d1 100644 --- a/tests/release.yaml +++ b/tests/release.yaml @@ -7,4 +7,4 @@ releases: description: Integration test products: commons: - operatorVersion: 0.0.0-dev + operatorVersion: 24.11.1