diff --git a/CHANGELOG.md b/CHANGELOG.md index 04ef9788..994fb3d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased] +## [25.3.0] - 2025-03-21 + ### Added - Run a `containerdebug` process in the background of each Superset container to collect debugging information ([#578]). diff --git a/Cargo.lock b/Cargo.lock index 03a9b3bc..4abe5053 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2421,7 +2421,7 @@ dependencies = [ [[package]] name = "stackable-superset-operator" -version = "0.0.0-dev" +version = "25.3.0" dependencies = [ "anyhow", "built", diff --git a/Cargo.nix b/Cargo.nix index 7f7db20b..365da191 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -7583,7 +7583,7 @@ rec { }; "stackable-superset-operator" = rec { crateName = "stackable-superset-operator"; - version = "0.0.0-dev"; + version = "25.3.0"; edition = "2021"; crateBin = [ { diff --git a/Cargo.toml b/Cargo.toml index 14fe7a61..15aefb03 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 = "25.3.0" authors = ["Stackable GmbH "] license = "OSL-3.0" edition = "2021" diff --git a/deploy/helm/superset-operator/Chart.yaml b/deploy/helm/superset-operator/Chart.yaml index a1fe9bd7..54618dd3 100644 --- a/deploy/helm/superset-operator/Chart.yaml +++ b/deploy/helm/superset-operator/Chart.yaml @@ -1,8 +1,8 @@ --- apiVersion: v2 name: superset-operator -version: "0.0.0-dev" -appVersion: "0.0.0-dev" +version: "25.3.0" +appVersion: "25.3.0" description: The Stackable Operator for Apache Superset home: https://github.com/stackabletech/superset-operator maintainers: diff --git a/deploy/helm/superset-operator/crds/crds.yaml b/deploy/helm/superset-operator/crds/crds.yaml index 686550e4..f1f528bb 100644 --- a/deploy/helm/superset-operator/crds/crds.yaml +++ b/deploy/helm/superset-operator/crds/crds.yaml @@ -23,7 +23,7 @@ spec: description: Auto-generated derived type for SupersetClusterSpec via `CustomResource` properties: spec: - description: A Superset cluster stacklet. This resource is managed by the Stackable operator for Apache Superset. Find more information on how to use it and the resources that the operator generates in the [operator documentation](https://docs.stackable.tech/home/nightly/superset/). + description: A Superset cluster stacklet. This resource is managed by the Stackable operator for Apache Superset. Find more information on how to use it and the resources that the operator generates in the [operator documentation](https://docs.stackable.tech/home/25.3/superset/). properties: clusterConfig: description: Settings that affect all roles and role groups. The settings in the `clusterConfig` are cluster wide settings that do not need to be configurable at role or role group level. @@ -79,7 +79,7 @@ spec: nullable: true properties: roleMappingFromOpa: - description: Configure the OPA stacklet [discovery ConfigMap](https://docs.stackable.tech/home/nightly/concepts/service_discovery) and the name of the Rego package containing your authorization rules. Consult the [OPA authorization documentation](https://docs.stackable.tech/home/nightly/concepts/opa) to learn how to deploy Rego authorization rules with OPA. + description: Configure the OPA stacklet [discovery ConfigMap](https://docs.stackable.tech/home/25.3/concepts/service_discovery) and the name of the Rego package containing your authorization rules. Consult the [OPA authorization documentation](https://docs.stackable.tech/home/25.3/concepts/opa) to learn how to deploy Rego authorization rules with OPA. properties: cache: default: @@ -99,7 +99,7 @@ spec: type: integer type: object configMapName: - description: The [discovery ConfigMap](https://docs.stackable.tech/home/nightly/concepts/service_discovery) for the OPA stacklet that should be used for authorization requests. + description: The [discovery ConfigMap](https://docs.stackable.tech/home/25.3/concepts/service_discovery) for the OPA stacklet that should be used for authorization requests. type: string package: description: The name of the Rego package containing the Rego rules for the product. @@ -127,7 +127,7 @@ spec: type: boolean type: object credentialsSecret: - description: The name of the Secret object containing the admin user credentials and database connection details. Read the [getting started guide first steps](https://docs.stackable.tech/home/nightly/superset/getting_started/first_steps) to find out more. + description: The name of the Secret object containing the admin user credentials and database connection details. Read the [getting started guide first steps](https://docs.stackable.tech/home/25.3/superset/getting_started/first_steps) to find out more. type: string listenerClass: default: cluster-internal @@ -140,7 +140,7 @@ spec: * external-stable: Use a LoadBalancer service - This is a temporary solution with the goal to keep yaml manifests forward compatible. In the future, this setting will control which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change. + This is a temporary solution with the goal to keep yaml manifests forward compatible. In the future, this setting will control which [ListenerClass](https://docs.stackable.tech/home/25.3/listener-operator/listenerclass.html) will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change. enum: - cluster-internal - external-unstable @@ -151,7 +151,7 @@ spec: nullable: true type: string vectorAggregatorConfigMapName: - description: Name of the Vector aggregator [discovery ConfigMap](https://docs.stackable.tech/home/nightly/concepts/service_discovery). It must contain the key `ADDRESS` with the address of the Vector aggregator. Follow the [logging tutorial](https://docs.stackable.tech/home/nightly/tutorials/logging-vector-aggregator) to learn how to configure log aggregation with Vector. + description: Name of the Vector aggregator [discovery ConfigMap](https://docs.stackable.tech/home/25.3/concepts/service_discovery). It must contain the key `ADDRESS` with the address of the Vector aggregator. Follow the [logging tutorial](https://docs.stackable.tech/home/25.3/tutorials/logging-vector-aggregator) to learn how to configure log aggregation with Vector. nullable: true type: string required: @@ -167,7 +167,7 @@ spec: description: |- Specify which image to use, the easiest way is to only configure the `productVersion`. You can also configure a custom image registry to pull from, as well as completely custom images. - Consult the [Product image selection documentation](https://docs.stackable.tech/home/nightly/concepts/product_image_selection) for details. + Consult the [Product image selection documentation](https://docs.stackable.tech/home/25.3/concepts/product_image_selection) for details. properties: custom: description: Overwrite the docker image. Specify the full docker image name, e.g. `oci.stackable.tech/sdp/superset:1.4.1-stackable2.1.0` @@ -206,7 +206,7 @@ spec: type: string type: object nodes: - description: This struct represents a role - e.g. HDFS datanodes or Trino workers. It has a key-value-map containing all the roleGroups that are part of this role. Additionally, there is a `config`, which is configurable at the role *and* roleGroup level. Everything at roleGroup level is merged on top of what is configured on role level. There is also a second form of config, which can only be configured at role level, the `roleConfig`. You can learn more about this in the [Roles and role group concept documentation](https://docs.stackable.tech/home/nightly/concepts/roles-and-role-groups). + description: This struct represents a role - e.g. HDFS datanodes or Trino workers. It has a key-value-map containing all the roleGroups that are part of this role. Additionally, there is a `config`, which is configurable at the role *and* roleGroup level. Everything at roleGroup level is merged on top of what is configured on role level. There is also a second form of config, which can only be configured at role level, the `roleConfig`. You can learn more about this in the [Roles and role group concept documentation](https://docs.stackable.tech/home/25.3/concepts/roles-and-role-groups). nullable: true properties: cliOverrides: @@ -223,7 +223,7 @@ spec: nodeSelector: null podAffinity: null podAntiAffinity: null - description: These configuration settings control [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). + description: These configuration settings control [Pod placement](https://docs.stackable.tech/home/25.3/concepts/operations/pod_placement). properties: nodeAffinity: description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) @@ -255,7 +255,7 @@ spec: default: containers: {} enableVectorAgent: null - description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). + description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/25.3/concepts/logging). properties: containers: additionalProperties: @@ -391,17 +391,17 @@ spec: type: string type: object default: {} - description: The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. + description: The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the [config overrides documentation](https://docs.stackable.tech/home/25.3/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. type: object envOverrides: additionalProperties: type: string default: {} - description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' + description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/25.3/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object podOverrides: default: {} - description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. + description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/25.3/concepts/overrides#pod-overrides) for more information. type: object x-kubernetes-preserve-unknown-fields: true roleConfig: @@ -420,7 +420,7 @@ spec: 1. If PodDisruptionBudgets are created by the operator 2. The allowed number of Pods to be unavailable (`maxUnavailable`) - Learn more in the [allowed Pod disruptions documentation](https://docs.stackable.tech/home/nightly/concepts/operations/pod_disruptions). + Learn more in the [allowed Pod disruptions documentation](https://docs.stackable.tech/home/25.3/concepts/operations/pod_disruptions). properties: enabled: default: true @@ -451,7 +451,7 @@ spec: nodeSelector: null podAffinity: null podAntiAffinity: null - description: These configuration settings control [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). + description: These configuration settings control [Pod placement](https://docs.stackable.tech/home/25.3/concepts/operations/pod_placement). properties: nodeAffinity: description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) @@ -483,7 +483,7 @@ spec: default: containers: {} enableVectorAgent: null - description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). + description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/25.3/concepts/logging). properties: containers: additionalProperties: @@ -619,17 +619,17 @@ spec: type: string type: object default: {} - description: The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. + description: The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the [config overrides documentation](https://docs.stackable.tech/home/25.3/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. type: object envOverrides: additionalProperties: type: string default: {} - description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' + description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/25.3/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' type: object podOverrides: default: {} - description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. + description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/25.3/concepts/overrides#pod-overrides) for more information. type: object x-kubernetes-preserve-unknown-fields: true replicas: @@ -725,7 +725,7 @@ spec: description: Auto-generated derived type for DruidConnectionSpec via `CustomResource` properties: spec: - description: The DruidConnection resource can be used to automatically deploy a Druid datasource in Superset. Learn more about it in the [Superset operator usage guide](https://docs.stackable.tech/home/nightly/superset/usage-guide/connecting-druid). + description: The DruidConnection resource can be used to automatically deploy a Druid datasource in Superset. Learn more about it in the [Superset operator usage guide](https://docs.stackable.tech/home/25.3/superset/usage-guide/connecting-druid). properties: druid: description: The Druid to connect. diff --git a/docs/antora.yml b/docs/antora.yml index d522680b..5a23776d 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -1,3 +1,4 @@ --- name: home -version: "nightly" +version: "25.3" +prerelease: false diff --git a/docs/modules/superset/examples/getting_started/getting_started.sh b/docs/modules/superset/examples/getting_started/getting_started.sh index 28e6a99a..af3afc5c 100755 --- a/docs/modules/superset/examples/getting_started/getting_started.sh +++ b/docs/modules/superset/examples/getting_started/getting_started.sh @@ -24,28 +24,28 @@ cd "$(dirname "$0")" case "$1" in "helm") -echo "Adding 'stackable-dev' Helm Chart repository" +echo "Adding 'stackable-stable' Helm Chart repository" # tag::helm-add-repo[] -helm repo add stackable-dev https://repo.stackable.tech/repository/helm-dev/ +helm repo add stackable-stable https://repo.stackable.tech/repository/helm-stable/ # end::helm-add-repo[] echo "Updating Helm repo" helm repo update echo "Installing Operators with Helm" # tag::helm-install-operators[] -helm install --wait commons-operator stackable-dev/commons-operator --version 0.0.0-dev -helm install --wait secret-operator stackable-dev/secret-operator --version 0.0.0-dev -helm install --wait listener-operator stackable-dev/listener-operator --version 0.0.0-dev -helm install --wait superset-operator stackable-dev/superset-operator --version 0.0.0-dev +helm install --wait commons-operator stackable-stable/commons-operator --version 25.3.0 +helm install --wait secret-operator stackable-stable/secret-operator --version 25.3.0 +helm install --wait listener-operator stackable-stable/listener-operator --version 25.3.0 +helm install --wait superset-operator stackable-stable/superset-operator --version 25.3.0 # end::helm-install-operators[] ;; "stackablectl") echo "installing Operators with stackablectl" # tag::stackablectl-install-operators[] stackablectl operator install \ - commons=0.0.0-dev \ - secret=0.0.0-dev \ - listener=0.0.0-dev \ - superset=0.0.0-dev + commons=25.3.0 \ + secret=25.3.0 \ + listener=25.3.0 \ + superset=25.3.0 # end::stackablectl-install-operators[] ;; *) diff --git a/docs/modules/superset/examples/getting_started/install_output.txt b/docs/modules/superset/examples/getting_started/install_output.txt index 9e8201d7..76cf6a0d 100644 --- a/docs/modules/superset/examples/getting_started/install_output.txt +++ b/docs/modules/superset/examples/getting_started/install_output.txt @@ -1,4 +1,4 @@ -Installed commons=0.0.0-dev operator -Installed secret=0.0.0-dev operator -Installed listener=0.0.0-dev operator -Installed superset=0.0.0-dev operator +Installed commons=25.3.0 operator +Installed secret=25.3.0 operator +Installed listener=25.3.0 operator +Installed superset=25.3.0 operator diff --git a/docs/modules/superset/examples/getting_started/superset-load-examples-job.yaml b/docs/modules/superset/examples/getting_started/superset-load-examples-job.yaml index f087d74f..a469ccb8 100644 --- a/docs/modules/superset/examples/getting_started/superset-load-examples-job.yaml +++ b/docs/modules/superset/examples/getting_started/superset-load-examples-job.yaml @@ -13,7 +13,7 @@ spec: name: config containers: - name: superset - image: oci.stackable.tech/sdp/superset:4.1.1-stackable0.0.0-dev + image: oci.stackable.tech/sdp/superset:4.1.1-stackable25.3.0 command: [ "/bin/sh", "-c", diff --git a/docs/templating_vars.yaml b/docs/templating_vars.yaml index 9f743a64..3ba2df51 100644 --- a/docs/templating_vars.yaml +++ b/docs/templating_vars.yaml @@ -1,9 +1,9 @@ --- helm: - repo_name: stackable-dev - repo_url: https://repo.stackable.tech/repository/helm-dev/ + repo_name: stackable-stable + repo_url: https://repo.stackable.tech/repository/helm-stable/ versions: - commons: 0.0.0-dev - secret: 0.0.0-dev - listener: 0.0.0-dev - superset: 0.0.0-dev + commons: 25.3.0 + secret: 25.3.0 + listener: 25.3.0 + superset: 25.3.0 diff --git a/tests/release.yaml b/tests/release.yaml index f757f9fe..ce0b5a6c 100644 --- a/tests/release.yaml +++ b/tests/release.yaml @@ -7,14 +7,14 @@ releases: description: Integration test products: commons: - operatorVersion: 0.0.0-dev + operatorVersion: 25.3.0 secret: - operatorVersion: 0.0.0-dev + operatorVersion: 25.3.0 listener: - operatorVersion: 0.0.0-dev + operatorVersion: 25.3.0 druid: - operatorVersion: 0.0.0-dev + operatorVersion: 25.3.0 superset: - operatorVersion: 0.0.0-dev + operatorVersion: 25.3.0 opa: - operatorVersion: 0.0.0-dev + operatorVersion: 25.3.0