Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
c051b8e
feat: watch namespaces based on labels (#2808)
tariq-hasan Jan 28, 2026
ccb9190
Bump golang.org/x/crypto from 0.42.0 to 0.45.0 (#2743)
dependabot[bot] Jan 28, 2026
fe12e77
refactor: reuse version.Info from k8s.io/component-base/version (#2797)
ChenYi015 Jan 28, 2026
c633117
feat: Expose metrics-labels flag via Spark Operator Helm chart (#2817)
IgorSteps Jan 29, 2026
2e96ece
Set appProtocol on SparkConnect server service ports (#2823)
wkd-woo Jan 29, 2026
4299949
feat: add welcome-new-contributors workflow (#2824)
ChenYi015 Feb 3, 2026
290c3c2
docs(readme): update Slack channel name in community section (#2829)
ChenYi015 Feb 3, 2026
7bd32f1
fix: correct filename typo in metrics package (#2830)
puwun Feb 3, 2026
85bda2e
fix: handle nil Executor.Instances in GetExecutorRequestResource (#2834)
puwun Feb 6, 2026
6538864
refactor: replace glog with controller-runtime structured logging (#2…
puwun Feb 10, 2026
cf8c33c
fix: correct schedule parse error logging in `ScheduledSparkApplicati…
puwun Feb 11, 2026
b51f333
feat: add configurable timestamp precision for ScheduledSparkApplicat…
puwun Feb 11, 2026
2ed985b
feat: add Python API generation for Spark Operator CRDs (#2828)
tariq-hasan Feb 11, 2026
69d728a
chore(api): bump Python API version to 2.4.0 (#2853)
tariq-hasan Feb 27, 2026
610ec74
Release v2.5.0-rc.0 (#2854)
vara-bonthu Mar 2, 2026
3b7572d
Fix duplicate webhook patch and add missing ScheduledSparkApplication…
RobuRishabh Mar 12, 2026
13593c5
feat(webhook): Add webhook validation for SparkConnect CRD (#2862)
tariq-hasan Mar 13, 2026
103a339
fix: Add label selector to ConfigMap cache to prevent OOM via informe…
RobuRishabh Mar 17, 2026
c77f9e3
chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 (#2861)
dependabot[bot] Mar 17, 2026
549c258
Bump actions/checkout from 5.0.0 to 6.0.2 (#2821)
dependabot[bot] Mar 17, 2026
cc3edf1
Update integration test k8s matrix (#2874)
nabuskey Mar 17, 2026
c49de90
chore(deps): bump aquasecurity/trivy-action from 0.33.1 to 0.34.0 in …
dependabot[bot] Mar 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/check-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2
with:
fetch-depth: 0

Expand Down
23 changes: 9 additions & 14 deletions .github/workflows/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2
with:
fetch-depth: 0

Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2
with:
fetch-depth: 0

Expand All @@ -102,7 +102,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2
with:
fetch-depth: 0

Expand Down Expand Up @@ -133,7 +133,7 @@ jobs:
echo "BRANCH=$BRANCH" >> "$GITHUB_OUTPUT"

- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2
with:
fetch-depth: 0

Expand Down Expand Up @@ -212,18 +212,13 @@ jobs:
strategy:
matrix:
k8s_version:
- v1.24.17
- v1.25.16
- v1.26.15
- v1.27.16
- v1.28.15
- v1.29.12
- v1.30.8
- v1.31.4
- v1.32.0
- v1.32.11
- v1.33.7
- v1.34.3
- v1.35.0
steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2
with:
fetch-depth: 0

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-helm-charts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2

- name: Configure Git
run: |
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
cp *.tgz /tmp/charts

- name: Checkout to branch gh-pages
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2
with:
ref: gh-pages
fetch-depth: 0
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/release-latest-images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v6.0.2

- name: Docker meta
id: meta
Expand Down Expand Up @@ -78,7 +78,7 @@ jobs:
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7.0.0
with:
name: digests-operator-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
Expand Down Expand Up @@ -106,7 +106,7 @@ jobs:
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v6.0.2

- name: Docker meta
id: meta
Expand Down Expand Up @@ -147,7 +147,7 @@ jobs:
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7.0.0
with:
name: digests-kubectl-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
Expand All @@ -166,7 +166,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v6.0.2

- name: Read version from VERSION file
run: |
Expand Down Expand Up @@ -220,7 +220,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5
uses: actions/checkout@v6.0.2

- name: Read version from VERSION file
run: |
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2
with:
fetch-depth: 0

Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2

- name: Read version from VERSION file
run: |
Expand Down Expand Up @@ -137,7 +137,7 @@ jobs:
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7.0.0
with:
name: digests-operator-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2

- name: Read version from VERSION file
run: |
Expand Down Expand Up @@ -214,7 +214,7 @@ jobs:
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7.0.0
with:
name: digests-kubectl-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
Expand All @@ -233,7 +233,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2

- name: Read version from VERSION file
run: |
Expand Down Expand Up @@ -287,7 +287,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2

- name: Read version from VERSION file
run: |
Expand Down Expand Up @@ -341,7 +341,7 @@ jobs:

steps:
- name: Checkout source code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2
with:
fetch-depth: 0

Expand Down Expand Up @@ -371,7 +371,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2

- name: Configure Git
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/scorecard.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:

steps:
- name: "Checkout code"
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.2.2
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98 # v4.2.2
with:
persist-credentials: false

Expand All @@ -59,7 +59,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: SARIF file
path: results.sarif
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/trivy-image-scanning.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v5.0.0
uses: actions/checkout@v6.0.2

- name: Add image to environment
run: make print-IMAGE >> $GITHUB_ENV

- name: trivy scan for github security tab
uses: aquasecurity/trivy-action@0.33.1
uses: aquasecurity/trivy-action@0.34.0
with:
image-ref: '${{ env.IMAGE }}'
format: 'sarif'
Expand Down
55 changes: 55 additions & 0 deletions .github/workflows/welcome-new-contributors.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Welcome New Contributors

on:
pull_request_target:
types:
- opened
issues:
types:
- opened

permissions:
contents: read
issues: write
pull-requests: write

jobs:
welcome:
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@1c4688942c71f71d4f5502a26ea67c331730fa4d # v3.1.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
issue_message: |
🎉 **Welcome to the Kubeflow Spark Operator!** 🎉

Thanks for opening your first issue! We're happy to have you as part of our community 🚀

**Here's what happens next:**

- Our team will review your issue soon!
- If you'd like to contribute to this issue, check out our [Contributing Guide](https://github.com/kubeflow/spark-operator/blob/master/CONTRIBUTING.md) for repo-specific guidelines and the [Kubeflow Contributor Guide](https://www.kubeflow.org/docs/about/contributing/) for general community standards.

**Join the community:**

- **Slack**: Join our [#kubeflow-spark-on-kubernetes](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels) Slack channel.

Feel free to ask questions in the comments if you need any help or clarification!
Thanks again for contributing to Kubeflow! 🙏

pr_message: |
🎉 **Welcome to the Kubeflow Spark Operator!** 🎉

Thanks for opening your first PR! We're happy to have you as part of our community 🚀

**Here's what happens next:**

- If you haven't already, please check out our [Contributing Guide](https://github.com/kubeflow/spark-operator/blob/master/CONTRIBUTING.md) for repo-specific guidelines and the [Kubeflow Contributor Guide](https://www.kubeflow.org/docs/about/contributing/) for general community standards.
- Our team will review your PR soon!

**Join the community:**

- **Slack**: Join our [#kubeflow-spark-on-kubernetes](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels) Slack channel.

Feel free to ask questions in the comments if you need any help or clarification!
Thanks again for contributing to Kubeflow! 🙏
29 changes: 16 additions & 13 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ GIT_COMMIT := $(shell git rev-parse HEAD)
GIT_TAG := $(shell if [ -z "`git status --porcelain`" ]; then git describe --exact-match --tags HEAD 2>/dev/null; fi)
GIT_TREE_STATE := $(shell if [ -z "`git status --porcelain`" ]; then echo "clean" ; else echo "dirty"; fi)
GIT_SHA := $(shell git rev-parse --short HEAD || echo "HEAD")
GIT_VERSION := ${VERSION}+${GIT_SHA}
GIT_VERSION := v${VERSION}

MODULE_PATH := $(shell awk '/^module/{print $$2; exit}' go.mod)
SPARK_OPERATOR_GOPATH := /go/src/github.com/kubeflow/spark-operator
Expand Down Expand Up @@ -51,8 +51,8 @@ LOCALBIN ?= $(shell pwd)/bin
## Versions
KUSTOMIZE_VERSION ?= v5.4.1
CONTROLLER_TOOLS_VERSION ?= v0.17.1
KIND_VERSION ?= v0.23.0
KIND_K8S_VERSION ?= v1.32.0
KIND_VERSION ?= v0.31.0
KIND_K8S_VERSION ?= v1.35.0
ENVTEST_VERSION ?= release-0.20
# ENVTEST_K8S_VERSION is the version of Kubernetes to use for setting up ENVTEST binaries (i.e. 1.31)
ENVTEST_K8S_VERSION ?= $(shell go list -m -f "{{ .Version }}" k8s.io/api | awk -F'[v.]' '{printf "1.%d", $$3}')
Expand Down Expand Up @@ -94,13 +94,10 @@ help: ## Display this help.

.PHONY: version
version: ## Print version information.
@echo "Version: ${VERSION}"
@echo "Build Date: ${BUILD_DATE}"
@echo "Git Version: ${GIT_VERSION}"
@echo "Git Commit: ${GIT_COMMIT}"
@echo "Git Tag: ${GIT_TAG}"
@echo "Git Tree State: ${GIT_TREE_STATE}"
@echo "Git SHA: ${GIT_SHA}"
@echo "Git Version: ${GIT_VERSION}"
@echo "Build Date: ${BUILD_DATE}"

.PHONY: print-%
print-%: ; @echo $*=$($*)
Expand All @@ -112,8 +109,9 @@ manifests: controller-gen ## Generate CustomResourceDefinition, RBAC and Webhook
$(CONTROLLER_GEN) crd:generateEmbeddedObjectMeta=true rbac:roleName=spark-operator-controller webhook paths="./..." output:crd:artifacts:config=config/crd/bases

.PHONY: generate
generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.
generate: controller-gen manifests ## Generate Go code and Python APIs.
$(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./..."
$(MAKE) python-api

.PHONY: update-crd
update-crd: manifests ## Update CRD files in the Helm chart.
Expand All @@ -127,6 +125,11 @@ verify-codegen: $(LOCALBIN) ## Install code-generator commands and verify change
$(call go-install-tool,$(LOCALBIN)/informer-gen-$(CODE_GENERATOR_VERSION),k8s.io/code-generator/cmd/informer-gen,$(CODE_GENERATOR_VERSION))
./hack/verify-codegen.sh

.PHONY: python-api
python-api: manifests ## Generate Python APIs from CRDs.
hack/openapi/gen-openapi.sh
CONTAINER_TOOL=$(CONTAINER_TOOL) hack/python-api/gen-api.sh

.PHONY: go-clean
go-clean: ## Clean up caches and output.
@echo "cleaning up caches and output"
Expand Down Expand Up @@ -175,10 +178,10 @@ e2e-test: envtest ## Run the e2e tests against a Kind k8s instance that is spun
##@ Build

override LDFLAGS += \
-X ${MODULE_PATH}.version=${GIT_VERSION} \
-X ${MODULE_PATH}.buildDate=${BUILD_DATE} \
-X ${MODULE_PATH}.gitCommit=${GIT_COMMIT} \
-X ${MODULE_PATH}.gitTreeState=${GIT_TREE_STATE} \
-X k8s.io/component-base/version.gitVersion=${GIT_VERSION} \
-X k8s.io/component-base/version.gitCommit=${GIT_COMMIT} \
-X k8s.io/component-base/version.gitTreeState=${GIT_TREE_STATE} \
-X k8s.io/component-base/version.buildDate=${BUILD_DATE} \
-extldflags "-static"

.PHONY: build-operator
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ For contributing to Spark Operator, please refer to [Contributor Guide](CONTRIBU

## Community

- Join the [CNCF Slack Channel](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels) and then join `#kubeflow-spark-operator` Channel.
- Join the [CNCF Slack Channel](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels) and then join `#kubeflow-spark-on-kubernetes` Channel.
- Check out our blog post [Announcing the Kubeflow Spark Operator: Building a Stronger Spark on Kubernetes Community](https://blog.kubeflow.org/operators/2024/04/15/kubeflow-spark-operator.html).
- Join our monthly community meeting [Kubeflow Spark Operator Meeting Notes](https://bit.ly/3VGzP4n).

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2.3.0
v2.5.0-rc.0
Loading