Skip to content

Commit 999ea29

Browse files
committed
chore: Merge branch 'main' into ci/tweak-integration-test-config
2 parents 6f95870 + d9fc4f5 commit 999ea29

File tree

21 files changed

+247
-125
lines changed

21 files changed

+247
-125
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ env:
2525
CARGO_TERM_COLOR: always
2626
CARGO_INCREMENTAL: '0'
2727
CARGO_PROFILE_DEV_DEBUG: '0'
28-
RUST_TOOLCHAIN_VERSION: "1.81.0"
28+
RUST_TOOLCHAIN_VERSION: "1.82.0"
2929
RUSTFLAGS: "-D warnings"
3030
RUSTDOCFLAGS: "-D warnings"
3131
RUST_LOG: "info"

.github/workflows/integration-test.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,23 @@ env:
1414
TEST_PARAMETER: ${{ inputs.test-parameter }}
1515

1616
on:
17-
schedule:
17+
# schedule:
1818
# At 00:00 on Sunday. See: https://crontab.guru/#0_0_*_*_0
19-
- cron: "0 0 * * 0"
19+
# - cron: "0 0 * * 0"
2020
workflow_dispatch:
2121
inputs:
2222
test-platform:
2323
description: |
24-
The test platform to run on (kind doesn't support `arm64`)
24+
The test platform to run on
2525
required: true
2626
type: choice
2727
options:
28-
- kind-1.31.0
29-
- kind-1.30.3
28+
- kind-1.31.2
29+
- kind-1.30.6
30+
- rke2-1.31.2
31+
- rke2-1.30.6
32+
- k3s-1.31.2
33+
- k3s-1.30.6
3034
- aks-1.29
3135
- aks-1.28
3236
- aks-1.27
@@ -41,7 +45,8 @@ on:
4145
- okd-4.13
4246
test-architecture:
4347
description: |
44-
The architecture the tests will run on
48+
The architecture the tests will run on. Consult the run-integration-test action README for
49+
more details on supported architectures for each distribution
4550
required: true
4651
type: choice
4752
options:
@@ -81,8 +86,7 @@ jobs:
8186

8287
- name: Run Integration Test
8388
id: test
84-
# NOTE (@Techassi): Use tagged version instead, changed only for testing
85-
uses: stackabletech/actions/run-integration-test@99211a06f470cda1b2bcf7b4054ea1ccfe4ba071
89+
uses: stackabletech/actions/run-integration-test@5901c3b1455488820c4be367531e07c3c3e82538 # v0.4.0
8690
with:
8791
test-platform: ${{ env.TEST_PLATFORM }}-${{ env.TEST_ARCHITECTURE }}
8892
test-run: ${{ env.TEST_RUN }}

.github/workflows/pr_pre-commit.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
env:
88
CARGO_TERM_COLOR: always
9-
RUST_TOOLCHAIN_VERSION: "1.81.0"
9+
RUST_TOOLCHAIN_VERSION: "1.82.0"
1010
HADOLINT_VERSION: "v2.12.0"
1111
PYTHON_VERSION: "3.12"
1212

CHANGELOG.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,26 @@
22

33
## [Unreleased]
44

5+
### Fixed
6+
7+
- BREAKING: Use distinct ServiceAccounts for the Stacklets, so that multiple Stacklets can be
8+
deployed in one namespace. Existing Stacklets will use the newly created ServiceAccounts after
9+
restart ([#545]).
10+
- Fix OIDC endpoint construction in case the `rootPath` does not have a trailing slash ([#547]).
11+
12+
[#545]: https://github.com/stackabletech/airflow-operator/pull/545
13+
[#547]: https://github.com/stackabletech/airflow-operator/pull/547
14+
15+
## [24.11.0] - 2024-11-18
16+
517
### Added
618

719
- Allowing arbitrary python code as `EXPERIMENTAL_FILE_HEADER` and `EXPERIMENTAL_FILE_FOOTER` in `webserver_config.py` ([#493]).
820
- The operator can now run on Kubernetes clusters using a non-default cluster domain.
921
Use the env var `KUBERNETES_CLUSTER_DOMAIN` or the operator Helm chart property `kubernetesClusterDomain` to set a non-default cluster domain ([#518]).
1022
- Support for `2.9.3` ([#494]).
1123
- Experimental Support for `2.10.2` ([#512]).
12-
- Add support for OpenID Connect ([#524])
24+
- Add support for OpenID Connect ([#524], [#530])
1325

1426
### Changed
1527

@@ -32,6 +44,7 @@
3244
[#518]: https://github.com/stackabletech/airflow-operator/pull/518
3345
[#520]: https://github.com/stackabletech/airflow-operator/pull/520
3446
[#524]: https://github.com/stackabletech/airflow-operator/pull/524
47+
[#530]: https://github.com/stackabletech/airflow-operator/pull/530
3548

3649
## [24.7.0] - 2024-07-24
3750

Cargo.lock

Lines changed: 8 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.nix

Lines changed: 15 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ serde = { version = "1.0", features = ["derive"] }
2323
serde_json = "1.0"
2424
serde_yaml = "0.9"
2525
snafu = "0.8"
26-
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.80.0" }
26+
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.82.0" }
2727
strum = { version = "0.26", features = ["derive"] }
2828
tokio = { version = "1.40", features = ["full"] }
2929
tracing = "0.1"
3030

3131
# [patch."https://github.com/stackabletech/operator-rs.git"]
3232
# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" }
33+
# stackable-operator = { path = "../operator-rs/crates/stackable-operator" }

Makefile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ SHELL=/usr/bin/env bash -euo pipefail
2929
render-readme:
3030
scripts/render_readme.sh
3131

32+
render-docs:
33+
scripts/docs_templating.sh
34+
3235
## Docker related targets
3336
docker-build:
3437
docker build --force-rm --build-arg VERSION=${VERSION} -t "${DOCKER_REPO}/${ORGANIZATION}/${OPERATOR_NAME}:${VERSION}-${ARCH}" -f docker/Dockerfile .
@@ -48,7 +51,7 @@ docker-publish:
4851
# Uses the keyless signing flow with Github Actions as identity provider\
4952
cosign sign -y "${DOCKER_REPO}/${ORGANIZATION}/${OPERATOR_NAME}@$$REPO_DIGEST_OF_IMAGE";\
5053
# Generate the SBOM for the operator image, this leverages the already generated SBOM for the operator binary by cargo-cyclonedx\
51-
syft scan --output cyclonedx-json=sbom.json --select-catalogers "-cargo-auditable-binary-cataloger" --scope all-layers --source-name "${OPERATOR_NAME}" --source-version "${VERSION}-${ARCH}" "${DOCKER_REPO}/${ORGANIZATION}/${OPERATOR_NAME}@$$REPO_DIGEST_OF_IMAGE";\
54+
syft scan --output cyclonedx-json@1.5=sbom.json --select-catalogers "-cargo-auditable-binary-cataloger,+sbom-cataloger" --scope all-layers --source-name "${OPERATOR_NAME}" --source-version "${VERSION}-${ARCH}" "${DOCKER_REPO}/${ORGANIZATION}/${OPERATOR_NAME}@$$REPO_DIGEST_OF_IMAGE";\
5255
# Determine the PURL for the container image\
5356
URLENCODED_REPO_DIGEST_OF_IMAGE=$$(echo "$$REPO_DIGEST_OF_IMAGE" | sed 's/:/%3A/g');\
5457
PURL="pkg:oci/${OPERATOR_NAME}@$$URLENCODED_REPO_DIGEST_OF_IMAGE?arch=${ARCH}&repository_url=${DOCKER_REPO}%2F${ORGANIZATION}%2F${OPERATOR_NAME}";\
@@ -74,7 +77,7 @@ docker-publish:
7477
# Uses the keyless signing flow with Github Actions as identity provider\
7578
cosign sign -y "${OCI_REGISTRY_HOSTNAME}/${OCI_REGISTRY_PROJECT_IMAGES}/${OPERATOR_NAME}@$$REPO_DIGEST_OF_IMAGE";\
7679
# Generate the SBOM for the operator image, this leverages the already generated SBOM for the operator binary by cargo-cyclonedx\
77-
syft scan --output cyclonedx-json=sbom.json --select-catalogers "-cargo-auditable-binary-cataloger" --scope all-layers --source-name "${OPERATOR_NAME}" --source-version "${VERSION}-${ARCH}" "${OCI_REGISTRY_HOSTNAME}/${OCI_REGISTRY_PROJECT_IMAGES}/${OPERATOR_NAME}@$$REPO_DIGEST_OF_IMAGE";\
80+
syft scan --output cyclonedx-json@1.5=sbom.json --select-catalogers "-cargo-auditable-binary-cataloger,+sbom-cataloger" --scope all-layers --source-name "${OPERATOR_NAME}" --source-version "${VERSION}-${ARCH}" "${OCI_REGISTRY_HOSTNAME}/${OCI_REGISTRY_PROJECT_IMAGES}/${OPERATOR_NAME}@$$REPO_DIGEST_OF_IMAGE";\
7881
# Determine the PURL for the container image\
7982
URLENCODED_REPO_DIGEST_OF_IMAGE=$$(echo "$$REPO_DIGEST_OF_IMAGE" | sed 's/:/%3A/g');\
8083
PURL="pkg:oci/${OPERATOR_NAME}@$$URLENCODED_REPO_DIGEST_OF_IMAGE?arch=${ARCH}&repository_url=${OCI_REGISTRY_HOSTNAME}%2F${OCI_REGISTRY_PROJECT_IMAGES}%2F${OPERATOR_NAME}";\

crate-hashes.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deny.toml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,27 @@ targets = [
99

1010
[advisories]
1111
yanked = "deny"
12+
ignore = [
13+
# https://rustsec.org/advisories/RUSTSEC-2023-0071
14+
# "rsa" crate: Marvin Attack: potential key recovery through timing sidechannel
15+
#
16+
# No patch is yet available, however work is underway to migrate to a fully constant-time implementation
17+
# So we need to accept this, as of SDP 24.11 we are not using the rsa crate to create certificates used in production
18+
# setups.
19+
#
20+
# TODO: Remove after https://github.com/RustCrypto/RSA/pull/394 is merged
21+
"RUSTSEC-2023-0071",
22+
23+
# https://rustsec.org/advisories/RUSTSEC-2024-0384
24+
# "instant" is unmaintained
25+
#
26+
# The upstream "kube" crate also silenced this in https://github.com/kube-rs/kube/commit/4f1e889f265da8f19f03f60683569cae1a154fda
27+
# They/we are actively working on migrating kube from backoff to backon, which removes the transitive dependency on
28+
# instant, in https://github.com/kube-rs/kube/pull/1652.
29+
#
30+
# TODO: Remove after https://github.com/kube-rs/kube/pull/1652 is merged
31+
"RUSTSEC-2024-0384",
32+
]
1233

1334
[bans]
1435
multiple-versions = "allow"
@@ -26,6 +47,7 @@ allow = [
2647
"LicenseRef-webpki",
2748
"MIT",
2849
"MPL-2.0",
50+
"OpenSSL", # Needed for the ring and/or aws-lc-sys crate. See https://github.com/stackabletech/operator-templating/pull/464 for details
2951
"Unicode-3.0",
3052
"Unicode-DFS-2016",
3153
"Zlib",

docs/modules/airflow/examples/example_spark_kubernetes_sensor.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525

2626
class SparkKubernetesSensor(BaseSensorOperator): # <3>
2727
template_fields = ("application_name", "namespace")
28-
FAILURE_STATES = ("Failed", "Unknown")
28+
# See https://github.com/stackabletech/spark-k8s-operator/pull/460/files#diff-d737837121132af6b60f50279a78464b05dcfd06c05d1d090f4198a5e962b5f6R371
29+
# Unknown is set immediately so it must be excluded from the failed states.
30+
FAILURE_STATES = "Failed"
2931
SUCCESS_STATES = "Succeeded"
3032

3133
def __init__(

docs/modules/airflow/examples/getting_started/code/getting_started.sh

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,7 @@
22
set -euo pipefail
33

44
# DO NOT EDIT THE SCRIPT
5-
# Instead, update the j2 template, and regenerate it for dev:
6-
# cat <<EOF | jinja2 --format yaml getting_started.sh.j2 -o getting_started.sh
7-
# helm:
8-
# repo_name: stackable-dev
9-
# repo_url: https://repo.stackable.tech/repository/helm-dev/
10-
# versions:
11-
# commons: 0.0.0-dev
12-
# secret: 0.0.0-dev
13-
# listener: 0.0.0-dev
14-
# airflow: 0.0.0-dev
15-
# postgresql: 12.1.5
16-
# redis: 17.3.7
17-
# EOF
5+
# Instead, update the j2 template, and regenerate it for dev with `make render-docs`.
186

197
# This script contains all the code snippets from the guide, as well as some assert tests
208
# to test if the instructions in the guide work. The user *could* use it, but it is intended

docs/modules/airflow/examples/getting_started/code/getting_started.sh.j2

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,7 @@
22
set -euo pipefail
33

44
# DO NOT EDIT THE SCRIPT
5-
# Instead, update the j2 template, and regenerate it for dev:
6-
# cat <<EOF | jinja2 --format yaml getting_started.sh.j2 -o getting_started.sh
7-
# helm:
8-
# repo_name: stackable-dev
9-
# repo_url: https://repo.stackable.tech/repository/helm-dev/
10-
# versions:
11-
# commons: 0.0.0-dev
12-
# secret: 0.0.0-dev
13-
# listener: 0.0.0-dev
14-
# airflow: 0.0.0-dev
15-
# postgresql: 12.1.5
16-
# redis: 17.3.7
17-
# EOF
5+
# Instead, update the j2 template, and regenerate it for dev with `make render-docs`.
186

197
# This script contains all the code snippets from the guide, as well as some assert tests
208
# to test if the instructions in the guide work. The user *could* use it, but it is intended

0 commit comments

Comments
 (0)