Skip to content

Commit

Permalink
chore: Sync deletion mode feature branch (#1720)
Browse files Browse the repository at this point in the history
* chore(dependabot): bump golang from 1.22.4-alpine to 1.22.5-alpine (#1664)

Bumps golang from 1.22.4-alpine to 1.22.5-alpine.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Bump k8s version for e2e to 1.29.6 (#1665)

* chore: Bump k8s version for e2e to 1.29.6

* add wait for main build and bump smoke test version

* feat: Avoid Redundant SSA for Manifest Patching (#1620)

* feat: avoid redundant ssa for manifest patching

* refactor: linting issue

* test: add unit test

* fix: integration tests

* refactor: unwrapped error

* fix: state flickering

* chore: add linter exception

* chore: remove linter exception

* fix: null pointer ref in case of mandatory module

* chore: Add helpful comment

Co-authored-by: Christoph Schwägerl <[email protected]>

* feat: add additional diff check in NeedToUpdate()

* test: diff check in unit test

* refactor: lint

* refactor: remove manifest diff check

* fix: module template integration test

* test: add unit test

* Revert "test: add unit test"

This reverts commit a5a9102.

* Revert "fix: module template integration test"

This reverts commit 9ed7e26.

* fix integration test

* chore: retrigger

* refactor: gofunmpt

* docs: Apply suggestions from code review

Co-authored-by: Małgorzata Świeca <[email protected]>

---------

Co-authored-by: Christoph Schwägerl <[email protected]>
Co-authored-by: Christoph Schwägerl <[email protected]>
Co-authored-by: Małgorzata Świeca <[email protected]>

* chore(dependabot): bump github.com/google/go-containerregistry from 0.19.2 to 0.20.0 (#1670)

chore(dependabot): bump github.com/google/go-containerregistry

Bumps [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) from 0.19.2 to 0.20.0.
- [Release notes](https://github.com/google/go-containerregistry/releases)
- [Changelog](https://github.com/google/go-containerregistry/blob/main/.goreleaser.yml)
- [Commits](google/go-containerregistry@v0.19.2...v0.20.0)

---
updated-dependencies:
- dependency-name: github.com/google/go-containerregistry
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(dependabot): bump google.golang.org/grpc from 1.64.0 to 1.64.1 in the go_modules group (#1671)

chore(dependabot): bump google.golang.org/grpc in the go_modules group

Bumps the go_modules group with 1 update: [google.golang.org/grpc](https://github.com/grpc/grpc-go).


Updates `google.golang.org/grpc` from 1.64.0 to 1.64.1
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.64.0...v1.64.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Remove diff manifest diff checker (#1674)

* chore: Remove diff manifest diff checker

* retrigger jobs

* refactor: Simplify declarative reconciler (#1676)

* extract default finalizer from opts

* extract field owner and namespace

* extract skip label funx

* replace obj with manifest for manifest reconcile loop

* add skip reconcile check as method. internalize cr deletion check

* simplify SpecResolver

* fix integration test setup

* linting

* linting

* remove generace cache key

* chore: Update Protecode (#1683)

update protecode

* chore: Refactor NewCachedDescriptorProvider (#1695)

* remove parameter for NewCachedDescriptorProvider

* fix dead link

* adjust unit test coverage

* fix flaky test

* docs: Update KLM Local Test Setup Guide (#1680)

fix errors in local test setup documentation
add version info

* feat: Drop multiple ways to reference modules in Kyma CR (#1672)

* remove module reference by namespace/name

* remove module reference by objectmeta name

* remove module reference by FQDN

* add initial test structure

* add test cases for different module reference scenarios

* fix tests

* update documentation

* address review comments

* address more review comments

* fix linting issues

* rearrange imports

* adjust documentation

* chore: Configure different requeue intervals for Manifest reconciliation (#1690)

* Add different requeue intervals for Manifest reconciliation

* Empty-Commit

* code review comments

* chore: Bump k8s deps (#1703)

* chore: Bump k8s deps

* retrigger jobs

* bump api folder as well

---------

Co-authored-by: Nesma Badr <[email protected]>

* fix: Manifest CR should update by moduletemplate generation changes (#1702)

* when moduletemplate generation updated, then manifest CR should also updated.

* refactor regular_test.go

---------

Co-authored-by: Benjamin Lindner <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Lindner <[email protected]>
Co-authored-by: Raj <[email protected]>
Co-authored-by: Christoph Schwägerl <[email protected]>
Co-authored-by: Christoph Schwägerl <[email protected]>
Co-authored-by: Małgorzata Świeca <[email protected]>
Co-authored-by: Amritanshu Sikdar <[email protected]>
Co-authored-by: Amritanshu Sikdar <[email protected]>
Co-authored-by: Nesma Badr <[email protected]>
  • Loading branch information
10 people authored Jul 25, 2024
1 parent 3fac364 commit e1ded83
Show file tree
Hide file tree
Showing 40 changed files with 835 additions and 338 deletions.
2 changes: 1 addition & 1 deletion .golangci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ issues:
linters: [ gci ] # Disable gci due to the test utilities dot import.
- path: tests/integration/declarative/declarative_test.go
linters: [ gci ] # Disable gci due to the test utilities dot import.
- path: tests/integration/controller/(controlplane|eventfilters|kyma|withwatcher|purge|mandatorymodule)/(.*)_test.go
- path: tests/integration/controller/(eventfilters|kyma|withwatcher|purge|mandatorymodule|kcp)/(.*)_test.go
linters: [ gci ] # Disable gci due to the test utilities dot import.
- linters:
- importas
Expand Down
2 changes: 1 addition & 1 deletion api/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ go 1.22.4
require (
github.com/Masterminds/semver/v3 v3.2.1
github.com/open-component-model/ocm v0.11.0
k8s.io/apimachinery v0.30.2
k8s.io/apimachinery v0.30.3
sigs.k8s.io/controller-runtime v0.18.4
)

Expand Down
4 changes: 2 additions & 2 deletions api/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1052,8 +1052,8 @@ k8s.io/api v0.30.1 h1:kCm/6mADMdbAxmIh0LBjS54nQBE+U4KmbCfIkF5CpJY=
k8s.io/api v0.30.1/go.mod h1:ddbN2C0+0DIiPntan/bye3SW3PdwLa11/0yqwvuRrJM=
k8s.io/apiextensions-apiserver v0.30.1 h1:4fAJZ9985BmpJG6PkoxVRpXv9vmPUOVzl614xarePws=
k8s.io/apiextensions-apiserver v0.30.1/go.mod h1:R4GuSrlhgq43oRY9sF2IToFh7PVlF1JjfWdoG3pixk4=
k8s.io/apimachinery v0.30.2 h1:fEMcnBj6qkzzPGSVsAZtQThU62SmQ4ZymlXRC5yFSCg=
k8s.io/apimachinery v0.30.2/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/apimachinery v0.30.3 h1:q1laaWCmrszyQuSQCfNB8cFgCuDAoPszKY4ucAjDwHc=
k8s.io/apimachinery v0.30.3/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/client-go v0.30.1 h1:uC/Ir6A3R46wdkgCV3vbLyNOYyCJ8oZnjtJGKfytl/Q=
k8s.io/client-go v0.30.1/go.mod h1:wrAqLNs2trwiCH/wxxmT/x3hKVH9PuV0GGW0oDoHVqc=
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
Expand Down
5 changes: 1 addition & 4 deletions api/v1beta2/kyma_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,7 @@ type Module struct {
// Name is a unique identifier of the module.
// It is used to resolve a ModuleTemplate for creating a set of resources on the cluster.
//
// Name can be one of 3 kinds:
// - The ModuleName label value of the module-template, e.g. operator.kyma-project.io/module-name=my-module
// - The Name or Namespace/Name of a ModuleTemplate, e.g. my-moduletemplate or kyma-system/my-moduletemplate
// - The FQDN, e.g. kyma-project.io/module/my-module as located in .spec.descriptor.component.name
// Name can only be the ModuleName label value of the module-template, e.g. operator.kyma-project.io/module-name=my-module
Name string `json:"name"`

// ControllerName is able to set the controller used for reconciliation of the module. It can be used
Expand Down
13 changes: 9 additions & 4 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -177,10 +177,11 @@ func setupManager(flagVar *flags.FlagVar, cacheOptions cache.Options, scheme *ma
}

sharedMetrics := metrics.NewSharedMetrics()
descriptorProvider := provider.NewCachedDescriptorProvider(nil)
descriptorProvider := provider.NewCachedDescriptorProvider()
kymaMetrics := metrics.NewKymaMetrics(sharedMetrics)
mandatoryModulesMetrics := metrics.NewMandatoryModulesMetrics()
setupKymaReconciler(mgr, descriptorProvider, skrContextProvider, eventRecorder, flagVar, options, skrWebhookManager, kymaMetrics,
setupKymaReconciler(mgr, descriptorProvider, skrContextProvider, eventRecorder, flagVar, options, skrWebhookManager,
kymaMetrics,
setupLog)
setupManifestReconciler(mgr, flagVar, options, sharedMetrics, mandatoryModulesMetrics, setupLog)
setupMandatoryModuleReconciler(mgr, descriptorProvider, flagVar, options, mandatoryModulesMetrics, setupLog)
Expand Down Expand Up @@ -315,7 +316,9 @@ func setupKymaReconciler(mgr ctrl.Manager,
}
}

func createSkrWebhookManager(mgr ctrl.Manager, skrContextFactory remote.SkrContextProvider, flagVar *flags.FlagVar) (*watcher.SKRWebhookManifestManager, error) {
func createSkrWebhookManager(mgr ctrl.Manager, skrContextFactory remote.SkrContextProvider,
flagVar *flags.FlagVar,
) (*watcher.SKRWebhookManifestManager, error) {
caCertificateCache := watcher.NewCACertificateCache(flagVar.CaCertCacheTTL)
config := watcher.SkrWebhookManagerConfig{
SKRWatcherPath: flagVar.WatcherResourcesPath,
Expand Down Expand Up @@ -397,7 +400,9 @@ func setupManifestReconciler(mgr ctrl.Manager, flagVar *flags.FlagVar, options c
if err := manifest.SetupWithManager(
mgr, options, queue.RequeueIntervals{
Success: flagVar.ManifestRequeueSuccessInterval,
Busy: flagVar.KymaRequeueBusyInterval,
Busy: flagVar.ManifestRequeueBusyInterval,
Error: flagVar.ManifestRequeueErrInterval,
Warning: flagVar.ManifestRequeueWarningInterval,
}, manifest.SetupOptions{
ListenerAddr: flagVar.ManifestListenerAddr,
EnableDomainNameVerification: flagVar.EnableDomainNameVerification,
Expand Down
10 changes: 2 additions & 8 deletions config/crd/bases/operator.kyma-project.io_kymas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,7 @@ spec:
It is used to resolve a ModuleTemplate for creating a set of resources on the cluster.
Name can be one of 3 kinds:
- The ModuleName label value of the module-template, e.g. operator.kyma-project.io/module-name=my-module
- The Name or Namespace/Name of a ModuleTemplate, e.g. my-moduletemplate or kyma-system/my-moduletemplate
- The FQDN, e.g. kyma-project.io/module/my-module as located in .spec.descriptor.component.name
Name can only be the ModuleName label value of the module-template, e.g. operator.kyma-project.io/module-name=my-module
type: string
remoteModuleTemplateRef:
description: |-
Expand Down Expand Up @@ -539,10 +536,7 @@ spec:
It is used to resolve a ModuleTemplate for creating a set of resources on the cluster.
Name can be one of 3 kinds:
- The ModuleName label value of the module-template, e.g. operator.kyma-project.io/module-name=my-module
- The Name or Namespace/Name of a ModuleTemplate, e.g. my-moduletemplate or kyma-system/my-moduletemplate
- The FQDN, e.g. kyma-project.io/module/my-module as located in .spec.descriptor.component.name
Name can only be the ModuleName label value of the module-template, e.g. operator.kyma-project.io/module-name=my-module
type: string
remoteModuleTemplateRef:
description: |-
Expand Down
63 changes: 36 additions & 27 deletions docs/developer-tutorials/local-test-setup.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Local test Setup in the control-plane Mode Using k3d

> ### Supported Versions
> * Golang: `v1.22.5`
> * k3d: `v5.6.0`
> * k3s: `v1.27.4-k3s1 (default)`
> * kubectl:
> * Client Version: `v1.30.2`
> * Server Version: `v1.27.4+k3s1`
> * docker:
> * Client Version: `v26.1.4`
> * Server: `Docker Desktop v4.31.0`
> * Engine Version: `v26.1.4`
## Context

This tutorial shows how to configure a fully working e2e test setup including the following components:
Expand Down Expand Up @@ -184,36 +196,33 @@ k3d cluster create skr-local
<summary>Running Lifecycle Manager on a local machine and not on a cluster</summary>
If you are running Lifecycle Manager on your local machine and not as a deployment on a cluster, use the following to create a Kyma CR and Secret:
```shell
cat << EOF | kubectl apply -f -
---
apiVersion: v1
kind: Secret
metadata:
name: kyma-sample
namespace: kcp-system
labels:
```shell
cat << EOF | kubectl apply -f -
---
apiVersion: v1
kind: Secret
metadata:
name: kyma-sample
namespace: kcp-system
labels:
"operator.kyma-project.io/kyma-name": "kyma-sample"
"operator.kyma-project.io/managed-by": "lifecycle-manager"
data:
config: $(k3d kubeconfig get skr-local | base64 | tr -d '\n')
---
apiVersion: operator.kyma-project.io/v1beta2
kind: Kyma
metadata:
annotations:
skr-domain: "example.domain.com"
name: kyma-sample
namespace: kcp-system
spec:
channel: regular
sync:
enabled: true
modules:
- name: template-operator
EOF
data:
config: $(k3d kubeconfig get skr-local | base64 | tr -d '\n')
---
apiVersion: operator.kyma-project.io/v1beta2
kind: Kyma
metadata:
annotations:
skr-domain: "example.domain.com"
name: kyma-sample
namespace: kcp-system
spec:
channel: regular
modules:
- name: template-operator
EOF
```
</details>
### Watcher and Module Installation Verification
Expand Down
47 changes: 10 additions & 37 deletions docs/technical-reference/api/kyma-cr.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,43 +62,16 @@ spec:
name: kyma-project.io/module/sample
```

The module mentioned above can be referenced in one of the following ways:

* The label value of `operator.kyma-project.io/module-name`:

```yaml
spec:
channel: regular
modules:
- name: module-name-from-label
```

* The name or namespace/name of a ModuleTemplate CR:

```yaml
spec:
channel: regular
modules:
- name: moduletemplate-sample
```

or

```yaml
spec:
channel: regular
modules:
- name: default/moduletemplate-sample
```

* The fully qualified name of the descriptor as located in **.spec.descriptor.component.name**:

```yaml
spec:
channel: regular
modules:
- name: kyma-project.io/module/sample
```
The module mentioned above can *only* be referenced using the label value of `operator.kyma-project.io/module-name`:
```yaml
spec:
channel: regular
modules:
- name: module-name-from-label
```

> **CAUTION:**
> Module referencing using NamespacedName and FQDN (Fully Qualified Domain Name) has been deprecated.

### **.spec.modules[].managed**

Expand Down
4 changes: 3 additions & 1 deletion docs/user-tutorials/01-10-control-plane-quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@ To use Lifecycle Manager in a local setup, you need the following prerequisites:
kubectl apply -f https://raw.githubusercontent.com/prometheus-community/helm-charts/main/charts/kube-prometheus-stack/charts/crds/crds/crd-servicemonitors.yaml
```

You can also follow the official [Prometheus Operator quick start](https://prometheus-operator.dev/docs/getting-started/quick-start/) guide to deploy a full set of Prometheus Operator features into your cluster.
You can also follow the
official [Prometheus Operator quick start](https://prometheus-operator.dev/docs/getting-started/) guide to deploy a full
set of Prometheus Operator features into your cluster.

### Deploy Lifecycle Manager

Expand Down
20 changes: 10 additions & 10 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ require (
github.com/go-logr/logr v1.4.2
github.com/go-logr/zapr v1.3.0
github.com/golang/mock v1.6.0
github.com/google/go-containerregistry v0.20.0
github.com/google/go-containerregistry v0.20.1
github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20231202142526-55ffb0092afd
github.com/jellydator/ttlcache/v3 v3.2.0
github.com/kyma-project/lifecycle-manager/api v0.0.0-00010101000000-000000000000
Expand All @@ -29,20 +29,20 @@ require (
)

require (
istio.io/api v1.22.2
istio.io/client-go v1.22.2
istio.io/api v1.22.3
istio.io/client-go v1.22.3
)

require (
github.com/go-co-op/gocron v1.37.0
github.com/kyma-project/template-operator/api v0.0.0-20240404131948-52c84f14e73c
github.com/prometheus/client_model v0.6.1
k8s.io/api v0.30.2
k8s.io/apiextensions-apiserver v0.30.2
k8s.io/apimachinery v0.30.2
k8s.io/cli-runtime v0.30.2
k8s.io/client-go v0.30.2
k8s.io/kubectl v0.30.2
k8s.io/api v0.30.3
k8s.io/apiextensions-apiserver v0.30.3
k8s.io/apimachinery v0.30.3
k8s.io/cli-runtime v0.30.3
k8s.io/client-go v0.30.3
k8s.io/kubectl v0.30.3
)

require (
Expand Down Expand Up @@ -319,7 +319,7 @@ require (
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
helm.sh/helm/v3 v3.15.1 // indirect
k8s.io/component-base v0.30.2 // indirect
k8s.io/component-base v0.30.3 // indirect
k8s.io/klog/v2 v2.120.1 // indirect
k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f // indirect
oras.land/oras-go v1.2.5 // indirect
Expand Down
40 changes: 20 additions & 20 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -467,8 +467,8 @@ github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-containerregistry v0.20.0 h1:wRqHpOeVh3DnenOrPy9xDOLdnLatiGuuNRVelR2gSbg=
github.com/google/go-containerregistry v0.20.0/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI=
github.com/google/go-containerregistry v0.20.1 h1:eTgx9QNYugV4DN5mz4U8hiAGTi1ybXn0TPi4Smd8du0=
github.com/google/go-containerregistry v0.20.1/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI=
github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20231202142526-55ffb0092afd h1:RkbnRtHTdBpYmp0Simm3fDUTYNVbmX4aVwdgflHLfdg=
github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20231202142526-55ffb0092afd/go.mod h1:5sSbf/SbGGvjWIlMlt2bkEqOq+ufOIBYrBevLuxbfSs=
github.com/google/go-github/v45 v45.2.0 h1:5oRLszbrkvxDDqBCNj2hjDZMKmvexaZ1xw/FCD+K3FI=
Expand Down Expand Up @@ -1214,28 +1214,28 @@ helm.sh/helm/v3 v3.15.1 h1:22ztacHz4gMqhXNqCQ9NAg6BFWoRUryNLvnkz6OVyw0=
helm.sh/helm/v3 v3.15.1/go.mod h1:fvfoRcB8UKRUV5jrIfOTaN/pG1TPhuqSb56fjYdTKXg=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
istio.io/api v1.22.2 h1:b02rTNfbnsEK2HMH/kfuXHTzovSmqcL5cAj2TSklPcQ=
istio.io/api v1.22.2/go.mod h1:S3l8LWqNYS9yT+d4bH+jqzH2lMencPkW7SKM1Cu9EyM=
istio.io/client-go v1.22.2 h1:BiE7itlXFTHpZwOv0t2aZQGga7oCox8lYOdaYbyWNEo=
istio.io/client-go v1.22.2/go.mod h1:Fxt0tVZLXQRKyrBv7uwm4zCZE0qayejG0bSwZy9K6Hg=
k8s.io/api v0.30.2 h1:+ZhRj+28QT4UOH+BKznu4CBgPWgkXO7XAvMcMl0qKvI=
k8s.io/api v0.30.2/go.mod h1:ULg5g9JvOev2dG0u2hig4Z7tQ2hHIuS+m8MNZ+X6EmI=
k8s.io/apiextensions-apiserver v0.30.2 h1:l7Eue2t6QiLHErfn2vwK4KgF4NeDgjQkCXtEbOocKIE=
k8s.io/apiextensions-apiserver v0.30.2/go.mod h1:lsJFLYyK40iguuinsb3nt+Sj6CmodSI4ACDLep1rgjw=
k8s.io/apimachinery v0.30.2 h1:fEMcnBj6qkzzPGSVsAZtQThU62SmQ4ZymlXRC5yFSCg=
k8s.io/apimachinery v0.30.2/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/cli-runtime v0.30.2 h1:ooM40eEJusbgHNEqnHziN9ZpLN5U4WcQGsdLKVxpkKE=
k8s.io/cli-runtime v0.30.2/go.mod h1:Y4g/2XezFyTATQUbvV5WaChoUGhojv/jZAtdp5Zkm0A=
k8s.io/client-go v0.30.2 h1:sBIVJdojUNPDU/jObC+18tXWcTJVcwyqS9diGdWHk50=
k8s.io/client-go v0.30.2/go.mod h1:JglKSWULm9xlJLx4KCkfLLQ7XwtlbflV6uFFSHTMgVs=
k8s.io/component-base v0.30.2 h1:pqGBczYoW1sno8q9ObExUqrYSKhtE5rW3y6gX88GZII=
k8s.io/component-base v0.30.2/go.mod h1:yQLkQDrkK8J6NtP+MGJOws+/PPeEXNpwFixsUI7h/OE=
istio.io/api v1.22.3 h1:V59wgcCm2fK2r137QBsddCDHNg0efg/DauIWEB9DFz8=
istio.io/api v1.22.3/go.mod h1:S3l8LWqNYS9yT+d4bH+jqzH2lMencPkW7SKM1Cu9EyM=
istio.io/client-go v1.22.3 h1:4WocGQYVTASpfn7tj1yGE8f0sgxzbxOkg56HX1LJQ5U=
istio.io/client-go v1.22.3/go.mod h1:D/vNne1n5586423NgGXMnPgshE/99mQgnjnxK/Vw2yM=
k8s.io/api v0.30.3 h1:ImHwK9DCsPA9uoU3rVh4QHAHHK5dTSv1nxJUapx8hoQ=
k8s.io/api v0.30.3/go.mod h1:GPc8jlzoe5JG3pb0KJCSLX5oAFIW3/qNJITlDj8BH04=
k8s.io/apiextensions-apiserver v0.30.3 h1:oChu5li2vsZHx2IvnGP3ah8Nj3KyqG3kRSaKmijhB9U=
k8s.io/apiextensions-apiserver v0.30.3/go.mod h1:uhXxYDkMAvl6CJw4lrDN4CPbONkF3+XL9cacCT44kV4=
k8s.io/apimachinery v0.30.3 h1:q1laaWCmrszyQuSQCfNB8cFgCuDAoPszKY4ucAjDwHc=
k8s.io/apimachinery v0.30.3/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/cli-runtime v0.30.3 h1:aG69oRzJuP2Q4o8dm+f5WJIX4ZBEwrvdID0+MXyUY6k=
k8s.io/cli-runtime v0.30.3/go.mod h1:hwrrRdd9P84CXSKzhHxrOivAR9BRnkMt0OeP5mj7X30=
k8s.io/client-go v0.30.3 h1:bHrJu3xQZNXIi8/MoxYtZBBWQQXwy16zqJwloXXfD3k=
k8s.io/client-go v0.30.3/go.mod h1:8d4pf8vYu665/kUbsxWAQ/JDBNWqfFeZnvFiVdmx89U=
k8s.io/component-base v0.30.3 h1:Ci0UqKWf4oiwy8hr1+E3dsnliKnkMLZMVbWzeorlk7s=
k8s.io/component-base v0.30.3/go.mod h1:C1SshT3rGPCuNtBs14RmVD2xW0EhRSeLvBh7AGk1quA=
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f h1:0LQagt0gDpKqvIkAMPaRGcXawNMouPECM1+F9BVxEaM=
k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f/go.mod h1:S9tOR0FxgyusSNR+MboCuiDpVWkAifZvaYI1Q2ubgro=
k8s.io/kubectl v0.30.2 h1:cgKNIvsOiufgcs4yjvgkK0+aPCfa8pUwzXdJtkbhsH8=
k8s.io/kubectl v0.30.2/go.mod h1:rz7GHXaxwnigrqob0lJsiA07Df8RE3n1TSaC2CTeuB4=
k8s.io/kubectl v0.30.3 h1:YIBBvMdTW0xcDpmrOBzcpUVsn+zOgjMYIu7kAq+yqiI=
k8s.io/kubectl v0.30.3/go.mod h1:IcR0I9RN2+zzTRUa1BzZCm4oM0NLOawE6RzlDvd1Fpo=
k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCIXHaathvJg1C3ak=
k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
oras.land/oras-go v1.2.5 h1:XpYuAwAb0DfQsunIyMfeET92emK8km3W4yEzZvUbsTo=
Expand Down
Loading

0 comments on commit e1ded83

Please sign in to comment.