Compare commits

...

7 Commits

Author SHA1 Message Date
dependabot[bot] 3d78c3fc5e
Bump actions/download-artifact from 4 to 5 (#2624)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-14 03:16:13 +00:00
dependabot[bot] bf0a37441d
Bump actions/checkout from 4 to 5 (#2623)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-14 03:15:12 +00:00
Rockawear 5fe34a9aff
Grant create events permissions to Controller (#2616)
* Grant get/patch permissions for SparkConnect CRD to hook ClusterRole (#2605)
* Grant get/patch permissions for SparkConnect CRD to hook ClusterRole

Signed-off-by: Yi Chen <github@chenyicn.net>

* Update Helm unit tests

Signed-off-by: Yi Chen <github@chenyicn.net>

---------

Signed-off-by: Yi Chen <github@chenyicn.net>

<!--  Thanks for sending a pull request! Here are some tips for you:
1. If this is your first time, check our contributor guidelines: https://www.kubeflow.org/docs/about/contributing
2. To know more about how to develop with the Spark operator, check the developer guide: https://www.kubeflow.org/docs/components/spark-operator/developer-guide/
3. If you want *faster* PR reviews, check how: https://git.k8s.io/community/contributors/guide/pull-requests.md#best-practices-for-faster-reviews
4. Please open an issue to discuss significant work before you start. We appreciate your contributions and don't want your efforts to go to waste!
-->

## Purpose of this PR

<!-- Provide a clear and concise description of the changes. Explain the motivation behind these changes and link to relevant issues or discussions. -->

**Proposed changes:**

- <Change 1>
- <Change 2>
- <Change 3>

## Change Category

<!-- Indicate the type of change by marking the applicable boxes. -->

- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] Feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that could affect existing functionality)
- [ ] Documentation update

### Rationale

<!-- Provide reasoning for the changes if not already covered in the description above. -->

## Checklist

<!-- Before submitting your PR, please review the following: -->

- [ ] I have conducted a self-review of my own code.
- [ ] I have updated documentation accordingly.
- [ ] I have added tests that prove my changes are effective or that my feature works.
- [ ] Existing unit tests pass locally with my changes.

### Additional Notes

<!-- Include any additional notes or context that could be helpful for the reviewers here. -->

Signed-off-by: Rockawear <fellerrocko@gmail.com>

* updated to apply feedback from review

Signed-off-by: Rockfeller Fixe <rockfeller.fixe@helpsystems.com>

---------

Signed-off-by: Rockawear <fellerrocko@gmail.com>
Signed-off-by: Rockfeller Fixe <rockfeller.fixe@helpsystems.com>
Co-authored-by: Rockfeller Fixe <rockfeller.fixe@helpsystems.com>
2025-07-23 03:33:59 +00:00
Yi Chen 6a40bf32f2
Add changelog for v2.3.0 (#2614)
* Add changelog for v2.3.0

Signed-off-by: Yi Chen <github@chenyicn.net>

* Update README.md

Signed-off-by: Yi Chen <github@chenyicn.net>

---------

Signed-off-by: Yi Chen <github@chenyicn.net>
2025-07-23 03:24:59 +00:00
Yi Chen cf04ee5617
Grant get/patch permissions for SparkConnect CRD to hook ClusterRole (#2605)
* Grant get/patch permissions for SparkConnect CRD to hook ClusterRole

Signed-off-by: Yi Chen <github@chenyicn.net>

* Update Helm unit tests

Signed-off-by: Yi Chen <github@chenyicn.net>

---------

Signed-off-by: Yi Chen <github@chenyicn.net>
2025-07-22 03:26:58 +00:00
dependabot[bot] 99bb30aa96
Bump github.com/onsi/gomega from 1.36.1 to 1.37.0 (#2607)
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.36.1 to 1.37.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.36.1...v1.37.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-version: 1.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 01:51:58 +00:00
dependabot[bot] 2d2468b7f5
Bump golang.org/x/mod from 0.25.0 to 0.26.0 (#2608)
Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.25.0 to 0.26.0.
- [Commits](https://github.com/golang/mod/compare/v0.25.0...v0.26.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  dependency-version: 0.26.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 01:48:58 +00:00
15 changed files with 88 additions and 40 deletions

View File

@ -20,7 +20,7 @@ jobs:
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

View File

@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
@ -77,7 +77,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
@ -99,7 +99,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
@ -130,7 +130,7 @@ jobs:
echo "BRANCH=$BRANCH" >> "$GITHUB_OUTPUT"
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
@ -220,7 +220,7 @@ jobs:
- v1.32.0
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

View File

@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Configure Git
run: |
@ -71,7 +71,7 @@ jobs:
cp *.tgz /tmp/charts
- name: Checkout to branch gh-pages
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
ref: gh-pages
fetch-depth: 0

View File

@ -24,7 +24,7 @@ jobs:
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
@ -87,7 +87,7 @@ jobs:
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Read version from VERSION file
run: |
@ -157,7 +157,7 @@ jobs:
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Read version from VERSION file
run: |
@ -218,7 +218,7 @@ jobs:
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Read version from VERSION file
run: |
@ -234,7 +234,7 @@ jobs:
type=semver,pattern={{version}},value=${{ env.VERSION }}
- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: /tmp/digests
pattern: digests-operator-*
@ -268,7 +268,7 @@ jobs:
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Read version from VERSION file
run: |
@ -284,7 +284,7 @@ jobs:
type=semver,pattern={{version}},value=${{ env.VERSION }}
- name: Download digests
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: /tmp/digests
pattern: digests-kubectl-*
@ -319,7 +319,7 @@ jobs:
steps:
- name: Checkout source code
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
@ -349,7 +349,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Configure Git
run: |

View File

@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Add image to environment
run: make print-IMAGE >> $GITHUB_ENV

View File

@ -1,5 +1,41 @@
# Changelog
## [v2.3.0](https://github.com/kubeflow/spark-operator/tree/v2.3.0) (2025-07-22)
### Features
- Add support for Spark Connect ([#2569](https://github.com/kubeflow/spark-operator/pull/2569) by [@ChenYi015](https://github.com/ChenYi015))
- upgrade to Spark 4.0.0 ([#2564](https://github.com/kubeflow/spark-operator/pull/2564) by [@nabuskey](https://github.com/nabuskey))
- Make logging encoder configurable ([#2580](https://github.com/kubeflow/spark-operator/pull/2580) by [@ChenYi015](https://github.com/ChenYi015))
- Include pod.Status.Message in recordExecutorEvent ([#2589](https://github.com/kubeflow/spark-operator/pull/2589) by [@matschaffer-roblox](https://github.com/matschaffer-roblox))
- Add print columns for Spark Connect ([#2592](https://github.com/kubeflow/spark-operator/pull/2592) by [@nabuskey](https://github.com/nabuskey)
- chore: update prometheus pattern and labels for structured streaming driver ([#2581](https://github.com/kubeflow/spark-operator/pull/2581) by [@yahwang](https://github.com/yahwang))
- Add Helm hook to upgrade CRDs ([#2371](https://github.com/kubeflow/spark-operator/pull/2371) by [@ChenYi015](https://github.com/ChenYi015))
### Bug Fixes
- Splat recordExecutorEvent args for cleaner event messages ([#2582](https://github.com/kubeflow/spark-operator/pull/2582) by [@matschaffer-roblox](https://github.com/matschaffer-roblox))
- fix: should add executor env when driver env is empty ([#2586](https://github.com/kubeflow/spark-operator/pull/2586) by [@ChenYi015](https://github.com/ChenYi015))
- Add web UI configurations when enabling UI service and ingress ([#2599](https://github.com/kubeflow/spark-operator/pull/2599) by [@ChenYi015](https://github.com/ChenYi015))
- Grant get/patch permissions for SparkConnect CRD to hook ClusterRole ([#2605](https://github.com/kubeflow/spark-operator/pull/2605) by [@ChenYi015](https://github.com/ChenYi015))
### Dependencies
- Bump aquasecurity/trivy-action from 0.31.0 to 0.32.0 ([#2585](https://github.com/kubeflow/spark-operator/pull/2585) by [@dependabot[bot]](https://github.com/apps/dependabot))
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 ([#2572](https://github.com/kubeflow/spark-operator/pull/2572) by [@dependabot[bot]](https://github.com/apps/dependabot))
- Bump sigs.k8s.io/yaml from 1.4.0 to 1.5.0 ([#2577](https://github.com/kubeflow/spark-operator/pull/2577) by [@dependabot[bot]](https://github.com/apps/dependabot))
- Bump helm.sh/helm/v3 from 3.17.3 to 3.18.4 ([#2587](https://github.com/kubeflow/spark-operator/pull/2587) by [@dependabot[bot]](https://github.com/apps/dependabot))
- Bump golang.org/x/mod from 0.25.0 to 0.26.0 ([#2608](https://github.com/kubeflow/spark-operator/pull/2608) by [@dependabot[bot]](https://github.com/apps/dependabot))
- Bump github.com/onsi/gomega from 1.36.1 to 1.37.0 ([#2607](https://github.com/kubeflow/spark-operator/pull/2607) by [@dependabot[bot]](https://github.com/apps/dependabot))
### Misc
- Add SparkConnect e2e test ([#2578](https://github.com/kubeflow/spark-operator/pull/2578) by [@ChenYi015](https://github.com/ChenYi015))
- feat(docs): Guide to report security vulnerabilities ([#2593](https://github.com/kubeflow/spark-operator/pull/2593) by [@andreyvelich](https://github.com/andreyvelich))
- Read Helm version from go.mod file ([#2598](https://github.com/kubeflow/spark-operator/pull/2598) by [@ChenYi015](https://github.com/ChenYi015))
[Full Changelog](https://github.com/kubeflow/spark-operator/compare/v2.2.1...v2.3.0)
## [v2.2.1](https://github.com/kubeflow/spark-operator/tree/v2.2.1) (2025-06-27)
### Features

View File

@ -80,6 +80,7 @@ The following table lists the most recent few versions of the operator.
| Operator Version | API Version | Kubernetes Version | Base Spark Version |
|-----------------------|-------------|--------------------|--------------------|
| `v2.3.x` | `v1beta2` | 1.16+ | `4.0.0` |
| `v2.2.x` | `v1beta2` | 1.16+ | `3.5.5` |
| `v2.1.x` | `v1beta2` | 1.16+ | `3.5.3` |
| `v2.0.x` | `v1beta2` | 1.16+ | `3.5.2` |

View File

@ -1 +1 @@
v2.2.1
v2.3.0

View File

@ -20,9 +20,9 @@ name: spark-operator
description: A Helm chart for Spark on Kubernetes operator.
version: 2.2.1
version: 2.3.0
appVersion: 2.2.1
appVersion: 2.3.0
keywords:
- apache spark

View File

@ -1,6 +1,6 @@
# spark-operator
![Version: 2.2.1](https://img.shields.io/badge/Version-2.2.1-informational?style=flat-square) ![AppVersion: 2.2.1](https://img.shields.io/badge/AppVersion-2.2.1-informational?style=flat-square)
![Version: 2.3.0](https://img.shields.io/badge/Version-2.3.0-informational?style=flat-square) ![AppVersion: 2.3.0](https://img.shields.io/badge/AppVersion-2.3.0-informational?style=flat-square)
A Helm chart for Spark on Kubernetes operator.

View File

@ -96,6 +96,15 @@ rules:
{{- end }}
{{- if has .Release.Namespace .Values.spark.jobNamespaces }}
{{ include "spark-operator.controller.policyRules" . }}
{{- else }}
- apiGroups:
- ""
resources:
- events
verbs:
- create
- update
- patch
{{- end }}
---

View File

@ -33,6 +33,7 @@ rules:
- customresourcedefinitions
resourceNames:
- sparkapplications.sparkoperator.k8s.io
- sparkconnects.sparkoperator.k8s.io
- scheduledsparkapplications.sparkoperator.k8s.io
verbs:
- get

View File

@ -50,6 +50,7 @@ tests:
- customresourcedefinitions
resourceNames:
- sparkapplications.sparkoperator.k8s.io
- sparkconnects.sparkoperator.k8s.io
- scheduledsparkapplications.sparkoperator.k8s.io
verbs:
- get

12
go.mod
View File

@ -8,15 +8,15 @@ require (
github.com/go-logr/logr v1.4.3
github.com/golang/glog v1.2.4
github.com/google/uuid v1.6.0
github.com/onsi/ginkgo/v2 v2.22.0
github.com/onsi/gomega v1.36.1
github.com/onsi/ginkgo/v2 v2.23.3
github.com/onsi/gomega v1.37.0
github.com/prometheus/client_golang v1.22.0
github.com/robfig/cron/v3 v3.0.1
github.com/spf13/cobra v1.9.1
github.com/spf13/viper v1.20.1
github.com/stretchr/testify v1.10.0
go.uber.org/zap v1.27.0
golang.org/x/mod v0.25.0
golang.org/x/mod v0.26.0
golang.org/x/time v0.9.0
helm.sh/helm/v3 v3.18.4
k8s.io/api v0.33.2
@ -72,7 +72,7 @@ require (
github.com/google/gnostic-models v0.6.9 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db // indirect
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
github.com/gosuri/uitable v0.0.4 // indirect
@ -132,13 +132,13 @@ require (
go.yaml.in/yaml/v2 v2.4.2 // indirect
go.yaml.in/yaml/v3 v3.0.3 // indirect
golang.org/x/crypto v0.39.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/net v0.41.0 // indirect
golang.org/x/oauth2 v0.28.0 // indirect
golang.org/x/sync v0.15.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/term v0.32.0 // indirect
golang.org/x/text v0.26.0 // indirect
golang.org/x/tools v0.33.0 // indirect
golang.org/x/tools v0.34.0 // indirect
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8 // indirect
google.golang.org/grpc v1.68.1 // indirect

24
go.sum
View File

@ -127,8 +127,8 @@ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db h1:097atOisP2aRj7vFgYQBbFN4U4JNXUNYpxael3UzMyo=
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
@ -217,10 +217,10 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/onsi/ginkgo/v2 v2.22.0 h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg=
github.com/onsi/ginkgo/v2 v2.22.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw=
github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0=
github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM=
github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y=
github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
@ -370,14 +370,14 @@ golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg=
golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc=
golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -406,8 +406,8 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=