Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bitbucket datacenter (server) support #2503

Merged
merged 54 commits into from
Feb 20, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
9f38545
feat: Re-introduce bitbucket server support with completely rewritten…
langecode Sep 27, 2023
38ca877
fix: Woodpecker now using remote forge ID to fetch repository
langecode Sep 27, 2023
bd09043
feat: Remove code references denoting Bitbucket DataCenter/Server as …
langecode Sep 28, 2023
c209deb
fix: Changed the old versioned doc by mistake
langecode Sep 28, 2023
2230508
chore: A few changes from PR comments
langecode Sep 28, 2023
d0bd496
fix: Need to set remote forge ID on user
langecode Sep 28, 2023
894a561
fix: Go linting issues
langecode Sep 29, 2023
3e5fa11
fix: Vue linting issues
langecode Sep 29, 2023
ca2a127
fix: Bitbucket icon, rename forge to bitbucketdatacenter
langecode Oct 2, 2023
1159527
chore: Keep in sync with upstrame main
langecode Oct 2, 2023
7dd9425
fix: Only fetch repos with at least write permission since only repos…
langecode Oct 2, 2023
51dcb15
fix: Unittest failed after new permission mapping
langecode Oct 2, 2023
a6dbfc6
feat: Updating documentation on Bitbucket Datacenter
langecode Oct 3, 2023
7184cc5
feat: Using repo hash as HMAC key for Bitbucket webhook
langecode Oct 3, 2023
9f0d01c
chore: Merge in changes from upstream/main
langecode Oct 3, 2023
ed69d79
chore: Merging from upstream/main
langecode Oct 9, 2023
719b338
fix: Do not trigger build on deleted refs
langecode Oct 23, 2023
887395f
chore: Merge from upstream/main
langecode Oct 23, 2023
2a48a4e
chore: Merge remote-tracking branch 'upstream/main' into feature/rein…
langecode Oct 23, 2023
7d58400
chore: Merge from upstream/main
langecode Oct 26, 2023
32de185
chore: Merge from upstream/main
langecode Nov 8, 2023
d13d2e3
chore: Ensure mark-down formatting
langecode Nov 8, 2023
7a9af68
fix: Markdown linting
langecode Nov 8, 2023
e782eb6
chore: Merge from upstream/main
langecode Jan 3, 2024
3fd99dd
chore: Adjustments as per review suggestions
langecode Jan 3, 2024
de63194
fix: Small change to aling conversion of BB id to ForgeID
langecode Jan 3, 2024
d858543
chore: Merge from upstream/main
langecode Jan 26, 2024
e4135fd
fix: Linting issues
langecode Jan 26, 2024
9c3e99b
feat: Aligning environment variable naming as per review suggestion
langecode Jan 26, 2024
96dc63d
chore: Upgrade from upstream
langecode Feb 2, 2024
ec4f139
chore: Note around Bitbiucket and OAuth 1.0 as per review suggestion
langecode Feb 2, 2024
2184e93
chore: Merge remote-tracking branch 'upstream/main' into feature/rein…
langecode Feb 6, 2024
b2b331d
chore: Updated go.sum after merge from main
langecode Feb 6, 2024
9bc2414
fix: PRs should be enabled for Bitbucket repos
langecode Feb 6, 2024
8acd343
chore: Update docs/docs/91-migrations.md
langecode Feb 7, 2024
cedb015
Ignore gitlab push events without commits (#3339)
lukashass Feb 7, 2024
4db6e65
Ignore gitlab merge request events without code changes (#3338)
lukashass Feb 7, 2024
2cfe0f6
Fix version check on next (#3340)
lukashass Feb 7, 2024
c85cc1c
chore: Merge remote-tracking branch 'upstream/main' into feature/rein…
langecode Feb 7, 2024
05e694e
Merge remote-tracking branch 'upstream/main' into feature/reintroduce…
langecode Feb 8, 2024
caccf5b
chore: Update docs/docs/30-administration/11-forges/60-bitbucket_data…
langecode Feb 8, 2024
bea9dcc
fix: Removing whitespace added by commit directly from PR
langecode Feb 8, 2024
0a1ba54
chore: Merge from main
langecode Feb 19, 2024
b9d01fd
feat: Migrated to OAuth 2.0 and introduced pull-request closed event
langecode Feb 20, 2024
045226e
chore: Small rename
langecode Feb 20, 2024
59fc8a3
fix: Missing org mapping
langecode Feb 20, 2024
0083d3b
chore: Remove migration information
langecode Feb 20, 2024
fb6abd2
chore: Reducing the level of headings in toc
langecode Feb 20, 2024
5620f84
fix: go mod tidy
langecode Feb 20, 2024
5df1643
chore: Linting issue
langecode Feb 20, 2024
a6f247e
fix: markdown formatting
langecode Feb 20, 2024
78d98cc
fix: Fix issues with using refresh token towards bitbucket
langecode Feb 20, 2024
63ed596
chore: Fixing license headers
langecode Feb 20, 2024
400fbc9
chore: Merge remote-tracking branch 'upstream/main' into feature/rein…
langecode Feb 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions cmd/server/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,52 @@ var flags = append([]cli.Flag{
Usage: "gitlab skip ssl verification",
},
//
// Bitbucket DataCenter/Server (previously Stash)
//
&cli.BoolFlag{
EnvVars: []string{"WOODPECKER_BITBUCKET_DC"},
Name: "bitbucket-dc",
Usage: "Bitbucket DataCenter/Server driver is enabled",
},
&cli.StringFlag{
EnvVars: []string{"WOODPECKER_BITBUCKET_DC_URL"},
Name: "bitbucket-dc-server",
Usage: "Bitbucket DataCenter/Server server address",
},
&cli.StringFlag{
EnvVars: []string{"WOODPECKER_BITBUCKET_DC_CONSUMER_KEY"},
Name: "bitbucket-dc-consumer-key",
Usage: "Bitbucket DataCenter/Server oauth1 consumer key",
FilePath: os.Getenv("WOODPECKER_BITBUCKET_DC_CONSUMER_KEY_FILE"),
},
&cli.StringFlag{
EnvVars: []string{"WOODPECKER_BITBUCKET_DC_CONSUMER_RSA"},
Name: "bitbucket-dc-consumer-rsa",
Usage: "Bitbucket DataCenter/Server oauth1 private key file",
},
&cli.StringFlag{
EnvVars: []string{"WOODPECKER_BITBUCKET_DC_CONSUMER_RSA_STRING"},
Name: "bitbucket-dc-consumer-rsa-string",
Usage: "Bitbucket DataCenter/Server oauth1 private key string",
},
&cli.StringFlag{
EnvVars: []string{"WOODPECKER_BITBUCKET_DC_GIT_USERNAME"},
Name: "bitbucket-dc-git-username",
Usage: "Bitbucket DataCenter/Server service account username",
FilePath: os.Getenv("WOODPECKER_BITBUCKET_DC_GIT_USERNAME_FILE"),
},
&cli.StringFlag{
EnvVars: []string{"WOODPECKER_BITBUCKET_DC_GIT_PASSWORD"},
Name: "bitbucket-dc-git-password",
Usage: "Bitbucket DataCenter/Server service account password",
FilePath: os.Getenv("WOODPECKER_BITBUCKET_DC_GIT_PASSWORD_FILE"),
},
&cli.BoolFlag{
EnvVars: []string{"WOODPECKER_BITBUCKET_DC_SKIP_VERIFY"},
Name: "bitbucket-dc-skip-verify",
Usage: "Bitbucket DataCenter/Server skip ssl verification",
},
//
// development flags
//
&cli.StringFlag{
Expand Down
18 changes: 18 additions & 0 deletions cmd/server/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import (
"github.com/woodpecker-ci/woodpecker/server/cache"
"github.com/woodpecker-ci/woodpecker/server/forge"
"github.com/woodpecker-ci/woodpecker/server/forge/bitbucket"
"github.com/woodpecker-ci/woodpecker/server/forge/bitbucketserver"
"github.com/woodpecker-ci/woodpecker/server/forge/gitea"
"github.com/woodpecker-ci/woodpecker/server/forge/github"
"github.com/woodpecker-ci/woodpecker/server/forge/gitlab"
Expand Down Expand Up @@ -141,6 +142,8 @@ func setupForge(c *cli.Context) (forge.Forge, error) {
return setupGitLab(c)
case c.Bool("bitbucket"):
return setupBitbucket(c)
case c.Bool("bitbucket-dc"):
return setupBitbucketServer(c)
case c.Bool("gitea"):
return setupGitea(c)
default:
Expand Down Expand Up @@ -177,6 +180,21 @@ func setupGitea(c *cli.Context) (forge.Forge, error) {
return gitea.New(opts)
}

// setupBitbucketServer helper function to setup the Bitbucket DataCenter/Server forge from the CLI arguments.
func setupBitbucketServer(c *cli.Context) (forge.Forge, error) {
anbraten marked this conversation as resolved.
Show resolved Hide resolved
opts := bitbucketserver.Opts{
URL: c.String("bitbucket-dc-server"),
Username: c.String("bitbucket-dc-git-username"),
Password: c.String("bitbucket-dc-git-password"),
ConsumerKey: c.String("bitbucket-dc-consumer-key"),
ConsumerRSA: c.String("bitbucket-dc-consumer-rsa"),
ConsumerRSAString: c.String("bitbucket-dc-consumer-rsa-string"),
SkipVerify: c.Bool("bitbucket-dc-skip-verify"),
}
log.Trace().Msgf("Forge (bitbucketserver) opts: %#v", opts)
langecode marked this conversation as resolved.
Show resolved Hide resolved
return bitbucketserver.New(opts)
}

// setupGitLab helper function to setup the GitLab forge from the CLI arguments.
func setupGitLab(c *cli.Context) (forge.Forge, error) {
return gitlab.New(gitlab.Opts{
Expand Down
156 changes: 156 additions & 0 deletions docs/docs/30-administration/11-forges/60-bitbucket_server.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
# Bitbucket Server

Woodpecker comes with experimental support for Bitbucket Server, formerly known as Atlassian Stash. To enable Bitbucket Server you should configure the Woodpecker container using the following environment variables:

```diff
# docker-compose.yml
version: '3'

services:
woodpecker-server:
[...]
environment:
- [...]
+ - WOODPECKER_BITBUCKET_DC=true
+ - WOODPECKER_BITBUCKET_DC_GIT_USERNAME=foo
+ - WOODPECKER_BITBUCKET_DC_GIT_PASSWORD=bar
+ - WOODPECKER_BITBUCKET_DC_CONSUMER_KEY=95c0282573633eb25e82
+ - WOODPECKER_BITBUCKET_DC_CONSUMER_RSA=/etc/bitbucket/key.pem
+ - WOODPECKER_BITBUCKET_DC_URL=http://stash.mycompany.com
volumes:
+ - /path/to/key.pem:/path/to/key.pem

woodpecker-agent:
[...]
```

## Private Key File

The OAuth process in Bitbucket server requires a private and a public RSA certificate. This is how you create the private RSA certificate.

```nohighlight
openssl genrsa -out /etc/bitbucket/key.pem 1024
```

This stores the private RSA certificate in `key.pem`. The next command generates the public RSA certificate and stores it in `key.pub`.

```nohighlight
openssl rsa -in /etc/bitbucket/key.pem -pubout >> /etc/bitbucket/key.pub
```

Please note that the private key file can be mounted into your Woodpecker container at runtime or as an environment variable

Private key file mounted into your Woodpecker container at runtime as a volume.

```diff
# docker-compose.yml
version: '3'

services:
woodpecker-server:
[...]
environment:
- [...]
- WOODPECKER_BITBUCKET_DC=true
- WOODPECKER_BITBUCKET_DC_GIT_USERNAME=foo
- WOODPECKER_BITBUCKET_DC_GIT_PASSWORD=bar
- WOODPECKER_BITBUCKET_DC_CONSUMER_KEY=95c0282573633eb25e82
+ - WOODPECKER_BITBUCKET_DC_CONSUMER_RSA=/etc/bitbucket/key.pem
- WOODPECKER_BITBUCKET_DC_URL=http://stash.mycompany.com
+ volumes:
+ - /etc/bitbucket/key.pem:/etc/bitbucket/key.pem

woodpecker-agent:
[...]
```

Private key as environment variable

```diff
# docker-compose.yml
version: '3'

services:
woodpecker-server:
[...]
environment:
- [...]
- WOODPECKER_BITBUCKET_DC=true
- WOODPECKER_BITBUCKET_DC_GIT_USERNAME=foo
- WOODPECKER_BITBUCKET_DC_GIT_PASSWORD=bar
- WOODPECKER_BITBUCKET_DC_CONSUMER_KEY=95c0282573633eb25e82
+ - WOODPECKER_BITBUCKET_DC_CONSUMER_RSA_STRING=contentOfPemKeyAsString
- WOODPECKER_BITBUCKET_DC_URL=http://stash.mycompany.com

woodpecker-agent:
[...]
```

## Service Account

Woodpecker uses `git+https` to clone repositories, however, Bitbucket Server does not currently support cloning repositories with OAuth token. To work around this limitation, you must create a service account and provide the username and password to Woodpecker. This service account will be used to authenticate and clone private repositories.

## Registration

You must register your application with Bitbucket Server in order to generate a consumer key. Navigate to your account settings and choose Applications from the menu, and click Register new application. Now copy & paste the text value from `/etc/bitbucket/key.pub` into the `Public Key` in the incoming link part of the application registration.

Please use http://woodpecker.mycompany.com/authorize as the Authorization callback URL.

## Configuration

This is a full list of configuration options. Please note that many of these options use default configuration values that should work for the majority of installations.

### `WOODPECKER_BITBUCKET_DC`
> Default: `false`

Enables the Bitbucket Server driver.

### `WOODPECKER_BITBUCKET_DC_URL`
> Default: empty

Configures the Bitbucket Server address.

### `WOODPECKER_BITBUCKET_DC_CONSUMER_KEY`
> Default: empty

Configures your Bitbucket Server consumer key.

### `WOODPECKER_BITBUCKET_DC_CONSUMER_KEY_FILE`
> Default: empty

Read the value for `WOODPECKER_BITBUCKET_DC_CONSUMER_KEY` from the specified filepath

### `WOODPECKER_BITBUCKET_DC_CONSUMER_RSA`
> Default: empty

Configures the path to your Bitbucket Server private key file.

### `WOODPECKER_BITBUCKET_DC_CONSUMER_RSA_STRING`
> Default: empty

Configures your Bitbucket Server private key.

### `WOODPECKER_BITBUCKET_DC_GIT_USERNAME`
> Default: empty

This username is used to authenticate and clone all private repositories.

### `WOODPECKER_BITBUCKET_DC_GIT_USERNAME_FILE`
> Default: empty

Read the value for `WOODPECKER_BITBUCKET_DC_GIT_USERNAME` from the specified filepath

### `WOODPECKER_BITBUCKET_DC_GIT_PASSWORD`
> Default: empty

The password is used to authenticate and clone all private repositories.

### `WOODPECKER_BITBUCKET_DC_GIT_PASSWORD_FILE`
> Default: empty

Read the value for `WOODPECKER_BITBUCKET_DC_GIT_PASSWORD` from the specified filepath

### `WOODPECKER_BITBUCKET_DC_SKIP_VERIFY`
> Default: `false`

Configure if SSL verification should be skipped.
2 changes: 1 addition & 1 deletion docs/docs/91-migrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Some versions need some changes to the server configuration or the pipeline conf
- Updated Prometheus gauge `*_job_*` to `*_step_*`
- Renamed config env `WOODPECKER_MAX_PROCS` to `WOODPECKER_MAX_WORKFLOWS` (still available as fallback)
- The pipelines are now also read from `.yaml` files, the new default order is `.woodpecker/*.yml` and `.woodpecker/*.yaml` (without any prioritization) -> `.woodpecker.yml` -> `.woodpecker.yaml`
- Dropped support for [Coding](https://coding.net/), [Gogs](https://gogs.io) and Bitbucket Server (Stash).
- Dropped support for [Coding](https://coding.net/), [Gogs](https://gogs.io).
anbraten marked this conversation as resolved.
Show resolved Hide resolved
- `/api/queue/resume` & `/api/queue/pause` endpoint methods were changed from `GET` to `POST`
- rename `pipeline:` key in your workflow config to `steps:`
- If you want to migrate old logs to the new format, watch the error messages on start. If there are none we are good to go, else you have to plan a migration that can take hours. Set `WOODPECKER_MIGRATIONS_ALLOW_LONG` to true and let it run.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ See [Gitea configuration](vcs/gitea/#configuration)

See [Bitbucket configuration](vcs/bitbucket/#configuration)

### `WOODPECKER_STASH_...`
### `WOODPECKER_BITBUCKET_DC_...`
anbraten marked this conversation as resolved.
Show resolved Hide resolved

See [Bitbucket server configuration](vcs/bitbucket_server/#configuration)

Expand Down
3 changes: 3 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ require (
github.com/melbahja/goph v1.3.1
github.com/moby/moby v20.10.25+incompatible
github.com/moby/term v0.5.0
github.com/mrjones/oauth v0.0.0-20190623134757-126b35219450
qwerty287 marked this conversation as resolved.
Show resolved Hide resolved
github.com/neticdk/go-bitbucket v0.1.2
github.com/oklog/ulid/v2 v2.1.0
github.com/pkg/errors v0.9.1
github.com/prometheus/client_golang v1.16.0
Expand Down Expand Up @@ -106,6 +108,7 @@ require (
github.com/imdario/mergo v0.3.12 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/julienschmidt/httprouter v1.3.0 // indirect
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
github.com/kr/fs v0.1.0 // indirect
github.com/leodido/go-urn v1.2.4 // indirect
Expand Down
20 changes: 6 additions & 14 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwF
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g=
github.com/alessio/shellescape v1.4.2 h1:MHPfaU+ddJ0/bYWpgIeUnQUqKrlJ1S7BfEYPM4uEoM0=
github.com/alessio/shellescape v1.4.2/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
github.com/antonmedv/expr v1.15.1 h1:mxeRIkH8GQJo4MRRFgp0ArlV4AA+0DmcJNXEsG70rGU=
github.com/antonmedv/expr v1.15.1/go.mod h1:0E/6TxnOlRNp81GMzX9QfDPAmHo2Phg00y4JUv1ihsE=
github.com/antonmedv/expr v1.15.2 h1:afFXpDWIC2n3bF+kTZE1JvFo+c34uaM3sTqh8z0xfdU=
github.com/antonmedv/expr v1.15.2/go.mod h1:0E/6TxnOlRNp81GMzX9QfDPAmHo2Phg00y4JUv1ihsE=
github.com/antonmedv/expr v1.15.3 h1:q3hOJZNvLvhqE8OHBs1cFRdbXFNKuA+bHmRaI+AmRmI=
github.com/antonmedv/expr v1.15.3/go.mod h1:0E/6TxnOlRNp81GMzX9QfDPAmHo2Phg00y4JUv1ihsE=
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
Expand Down Expand Up @@ -244,6 +240,8 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
Expand Down Expand Up @@ -319,8 +317,12 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY
github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
github.com/mrjones/oauth v0.0.0-20190623134757-126b35219450 h1:j2kD3MT1z4PXCiUllUJF9mWUESr9TWKS7iEKsQ/IipM=
github.com/mrjones/oauth v0.0.0-20190623134757-126b35219450/go.mod h1:skjdDftzkFALcuGzYSklqYd8gvat6F1gZJ4YPVbkZpM=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/neticdk/go-bitbucket v0.1.2 h1:V7xC3hd3fOGFjGyhfVaf87f6wjo97z9lv3T6gLxtXUo=
github.com/neticdk/go-bitbucket v0.1.2/go.mod h1:IrHeWO1CrNi0DlOvfhAA9bGRSeNSUB6/SAfzmwbA5aU=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU=
github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=
Expand Down Expand Up @@ -583,10 +585,6 @@ google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o=
google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
google.golang.org/grpc v1.58.1 h1:OL+Vz23DTtrrldqHK49FUOPHyY75rvFqJfXC84NYW58=
google.golang.org/grpc v1.58.1/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I=
google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
Expand Down Expand Up @@ -620,16 +618,10 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o=
gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
k8s.io/api v0.28.1 h1:i+0O8k2NPBCPYaMB+uCkseEbawEt/eFaiRqUx8aB108=
k8s.io/api v0.28.1/go.mod h1:uBYwID+66wiL28Kn2tBjBYQdEU0Xk0z5qF8bIBqk/Dg=
k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw=
k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg=
k8s.io/apimachinery v0.28.1 h1:EJD40og3GizBSV3mkIoXQBsws32okPOy+MkRyzh6nPY=
k8s.io/apimachinery v0.28.1/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw=
k8s.io/apimachinery v0.28.2 h1:KCOJLrc6gu+wV1BYgwik4AF4vXOlVJPdiqn0yAWWwXQ=
k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDApU=
k8s.io/client-go v0.28.1 h1:pRhMzB8HyLfVwpngWKE8hDcXRqifh1ga2Z/PU9SXVK8=
k8s.io/client-go v0.28.1/go.mod h1:pEZA3FqOsVkCc07pFVzK076R+P/eXqsgx5zuuRWukNE=
k8s.io/client-go v0.28.2 h1:DNoYI1vGq0slMBN/SWKMZMw0Rq+0EQW6/AK4v9+3VeY=
k8s.io/client-go v0.28.2/go.mod h1:sMkApowspLuc7omj1FOSUxSoqjr+d5Q0Yc0LOFnYFJY=
k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg=
Expand Down
Loading