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

feat: Unmanage module #1717

Merged

Conversation

lindnerby
Copy link
Member

@lindnerby lindnerby commented Jul 25, 2024

Description

Changes proposed in this pull request:

  • If remote modules spec gets set managed to false remove manifest in control-plane, but keep resources
  • Kyma module status set to new state "Unmanaged" and remove resource, template and manifest

Related issue(s)

@lindnerby lindnerby requested review from a team as code owners July 25, 2024 09:52
@kyma-bot kyma-bot added cla: yes Indicates the PR's author has signed the CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jul 25, 2024
@lindnerby lindnerby changed the base branch from main to feat/deletion-mode July 25, 2024 09:53
@kyma-bot kyma-bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jul 25, 2024
@lindnerby lindnerby changed the title feat: Unmanage module WIP: Unmanage module Jul 26, 2024
@kyma-bot kyma-bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 26, 2024
@lindnerby lindnerby linked an issue Jul 26, 2024 that may be closed by this pull request
13 tasks
@kyma-bot kyma-bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Aug 5, 2024
@lindnerby lindnerby changed the title WIP: Unmanage module feat: Unmanage module Aug 27, 2024
@kyma-bot kyma-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 27, 2024
@@ -122,6 +122,8 @@ func (r *Reconciler) stateHandling(ctx context.Context, watcher *v1beta2.Watcher
return r.handleProcessingState(ctx, watcher)
case shared.StateReady, shared.StateWarning:
return r.handleProcessingState(ctx, watcher)
case shared.StateUnmanaged:
panic("unmanaged not a valid state for watcher")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same reason as here, btw, Kyma and Watcher CR are all controlled by us, no one will change the state to unmanaged manually, fallthrough this condition and stop requeue is enough already.

Copy link
Member Author

@lindnerby lindnerby Sep 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I wanted to indicate that this state should never happen and is caused by a developer error. It's not an error that we will or should handle or search for on prod, so rather bubble it up as quickly as possible and make KLM crash intentionally so the error is detected as soon as possible during implementation time, adhering to the principle of Fail Fast.

Copy link
Contributor

@ruanxin ruanxin Sep 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But one of the key aspect of error handling is reporting, this also aplies to fail fast principle, it expects that failures are detected early and reported immediately. The current use of panic only stops the process from continuing but does not properly handle the reporting.

If the Kyma CR is in this state, using panic will not cause the KLM to crash (if it is, it's even worse in my opinion), but will only stop the current worker. This means that without checking the logs, it is difficult to identify that such an error exists.

As I mentioned here, a proper handling approach would be to write an error message in the Kyma CR and prevent it from requeuing. This would avoid interfering with other Kyma CRs and make the KLM more robust.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright! Will change to returning an error instead 👍

},
},
},
IsUnmanaged: true,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but if is unmanaged, it does not need to update.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be the case inbetween, when the module is set to unmanaged but there still is a cluster manifest, which may not have the updated annotation yet, right? 🤔

"apps", "v1", "Deployment", skrClient).
Should(Succeed())

By("And Manifest CR is removed")
Copy link
Contributor

@ruanxin ruanxin Aug 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would put this check after SetModuleUnmanaged, so that make sure manifest CR is indeed deleted before check module CR is not removed and so on.

Should(Succeed())
})

It("Then Manifest is re-created", func() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would at least add another check to make sure "And KCP Kyma CR is in "Ready" State" again

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I forgot to push the extension of the e2e tests. I added a lot more to this suite. PTAL

return true
}
return manifestObj.Spec.Version != moduleStatus.Version ||
manifestObj.Labels[shared.ChannelLabel] != moduleStatus.Channel ||
moduleStatus.State != manifestInCluster.Status.State
moduleStatus.State != manifestInCluster.Status.State ||
module.IsUnmanaged != manifestInCluster.IsUnmanaged()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think unmanaged condition need to be treated separately, if module.IsUnmanaged, we only update manifest cr if it's not contains UnmanagedAnnotation, but doesn't update if other conditions are different.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you check again? Current logic should be sufficient in my opinion?

Copy link
Contributor

@ruanxin ruanxin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, a few minor comments.

@kyma-bot kyma-bot added the lgtm Looks good to me! label Sep 3, 2024
@kyma-bot kyma-bot merged commit bf23188 into kyma-project:feat/deletion-mode Sep 3, 2024
38 of 39 checks passed
@lindnerby lindnerby deleted the unmanaging-a-module branch September 4, 2024 11:52
kyma-bot pushed a commit that referenced this pull request Sep 9, 2024
* feat: Re-add `.spec.modules[].managed` to KymaCR (#1661)

feat: Re-add '.spec.modules[].managed' to KymaCR

* feat: Add AssociatedResources field to Manifest Spec (#1656)

* Add managedResources to ManifestSpec

* Add managedResources to ManifestSpec

* Fix docs deadlink

* Adjust docs

* Code review comments

* TWS review

* Renaming ManagedResources to AssociatedResources

* Update manifest-cr.md

Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* Update manifest-cr.md

Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* Update manifest_types.go

Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

---------

Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* chore: Create ModuleTemplate with new ocm format for e2e (#1660)

* create module-template with new ocm format and managed resource

* 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] <support@github.com>
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 <acc.pius@mailbox.org>

* 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 <malgorzata.swieca@sap.com>

---------

Co-authored-by: Christoph Schwägerl <acc.pius@mailbox.org>
Co-authored-by: Christoph Schwägerl <c.schwaegerl@sap.com>
Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* rename

* Revert "Merge branch 'main' into intro-test-managed-resources"

This reverts commit 854b8b4, reversing
changes made to be4f556.

* update module template

* update module template

* retrigger jobs

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj <54686422+LeelaChacha@users.noreply.github.com>
Co-authored-by: Christoph Schwägerl <acc.pius@mailbox.org>
Co-authored-by: Christoph Schwägerl <c.schwaegerl@sap.com>
Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* chore: Merge main into deletion modes feature (#1678)

* 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] <support@github.com>
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 <acc.pius@mailbox.org>

* 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 <malgorzata.swieca@sap.com>

---------

Co-authored-by: Christoph Schwägerl <acc.pius@mailbox.org>
Co-authored-by: Christoph Schwägerl <c.schwaegerl@sap.com>
Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* 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] <support@github.com>
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] <support@github.com>
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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Lindner <50365642+lindnerby@users.noreply.github.com>
Co-authored-by: Raj <54686422+LeelaChacha@users.noreply.github.com>
Co-authored-by: Christoph Schwägerl <acc.pius@mailbox.org>
Co-authored-by: Christoph Schwägerl <c.schwaegerl@sap.com>
Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* chore: Remove associatedResources field from Manifest CR (#1689)

Revert "feat: Add AssociatedResources field to Manifest Spec (#1656)"

This reverts commit 2e620d7.

* chore: Sync deletion mode feature branch (#1720)

* 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] <support@github.com>
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 <acc.pius@mailbox.org>

* 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 <malgorzata.swieca@sap.com>

---------

Co-authored-by: Christoph Schwägerl <acc.pius@mailbox.org>
Co-authored-by: Christoph Schwägerl <c.schwaegerl@sap.com>
Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* 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] <support@github.com>
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] <support@github.com>
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 <Nesma.badr@sap.com>

* 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 <50365642+lindnerby@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Lindner <50365642+lindnerby@users.noreply.github.com>
Co-authored-by: Raj <54686422+LeelaChacha@users.noreply.github.com>
Co-authored-by: Christoph Schwägerl <acc.pius@mailbox.org>
Co-authored-by: Christoph Schwägerl <c.schwaegerl@sap.com>
Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>
Co-authored-by: Amritanshu Sikdar <amritanshu.sikdar@sap.com>
Co-authored-by: Amritanshu Sikdar <amritanshu.sikdar@gmail.com>
Co-authored-by: Nesma Badr <Nesma.badr@sap.com>

* chore: Sync main into deletion mode feature (#1736)

* 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] <support@github.com>
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 <acc.pius@mailbox.org>

* 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 <malgorzata.swieca@sap.com>

---------

Co-authored-by: Christoph Schwägerl <acc.pius@mailbox.org>
Co-authored-by: Christoph Schwägerl <c.schwaegerl@sap.com>
Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* 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] <support@github.com>
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] <support@github.com>
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 <Nesma.badr@sap.com>

* 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 <50365642+lindnerby@users.noreply.github.com>

* feat: Support StatefulSet Module Resource in Ready Check (#1713)

* Add implementation to support stateful set

* Add unit tests

* Start writing E2E test

* Adjust Github Actions for E2E test

* E2E test implementation

* chore(dependabot): bump github.com/onsi/gomega from 1.33.1 to 1.34.0 (#1723)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.33.1 to 1.34.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.33.1...v1.34.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  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>

* deps: Use latest watcher img 1.1.1 (#1726)

* deps: Bump sec-scanners-config KLM img tag to 1.1.1 (#1728)

* chore: Add deprecation notes to customStateCheck (#1708)

* Add deprecation notes

* Update docs/technical-reference/api/moduleTemplate-cr.md

Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* Configure API version exclusion

* Update docs/technical-reference/api/moduleTemplate-cr.md

Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* review fix

---------

Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>

* chore(dependabot): bump github.com/onsi/gomega from 1.34.0 to 1.34.1 (#1729)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.34.0 to 1.34.1.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.34.0...v1.34.1)

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

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

* chore(dependabot): bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 (#1727)

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.19.0 to 2.19.1.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.19.0...v2.19.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* chore(dependabot): bump github.com/docker/docker from 26.1.3+incompatible to 26.1.4+incompatible in the go_modules group (#1731)

chore(dependabot): bump github.com/docker/docker in the go_modules group

Bumps the go_modules group with 1 update: [github.com/docker/docker](https://github.com/docker/docker).


Updates `github.com/docker/docker` from 26.1.3+incompatible to 26.1.4+incompatible
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](moby/moby@v26.1.3...v26.1.4)

---
updated-dependencies:
- dependency-name: github.com/docker/docker
  dependency-type: indirect
  dependency-group: go_modules
...

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

* chore(dependabot): bump github.com/cert-manager/cert-manager from 1.15.1 to 1.15.2 (#1730)

chore(dependabot): bump github.com/cert-manager/cert-manager

Bumps [github.com/cert-manager/cert-manager](https://github.com/cert-manager/cert-manager) from 1.15.1 to 1.15.2.
- [Release notes](https://github.com/cert-manager/cert-manager/releases)
- [Changelog](https://github.com/cert-manager/cert-manager/blob/master/RELEASE.md)
- [Commits](cert-manager/cert-manager@v1.15.1...v1.15.2)

---
updated-dependencies:
- dependency-name: github.com/cert-manager/cert-manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tomasz Smelcerz <tomasz.smelcerz@sap.com>

* chore: Limit access for remote and istio namespaces (#1722)

* Limit access for remote and istio namespaces

* Adjust E2E test

* Empty-Commit

* Change ClusterRole to Role

* Review comments

* chore(dependabot): bump github.com/docker/docker from 26.1.3+incompatible to 26.1.4+incompatible in /api in the go_modules group (#1732)

chore(dependabot): bump github.com/docker/docker

Bumps the go_modules group in /api with 1 update: [github.com/docker/docker](https://github.com/docker/docker).


Updates `github.com/docker/docker` from 26.1.3+incompatible to 26.1.4+incompatible
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](moby/moby@v26.1.3...v26.1.4)

---
updated-dependencies:
- dependency-name: github.com/docker/docker
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tomasz Smelcerz <tomasz.smelcerz@sap.com>

* chore(dependabot): bump github.com/open-component-model/ocm from 0.11.0 to 0.12.0 in /api (#1705)

* chore(dependabot): bump github.com/open-component-model/ocm in /api

Bumps [github.com/open-component-model/ocm](https://github.com/open-component-model/ocm) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/open-component-model/ocm/releases)
- [Changelog](https://github.com/open-component-model/ocm/blob/main/.goreleaser.yaml)
- [Commits](open-component-model/ocm@v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: github.com/open-component-model/ocm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump ocm in lifecycle-manager

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tomasz Smelcerz <tomasz.smelcerz@sap.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Lindner <50365642+lindnerby@users.noreply.github.com>
Co-authored-by: Christoph Schwägerl <acc.pius@mailbox.org>
Co-authored-by: Christoph Schwägerl <c.schwaegerl@sap.com>
Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>
Co-authored-by: Xin Ruan <xin.ruan@sap.com>
Co-authored-by: Amritanshu Sikdar <amritanshu.sikdar@sap.com>
Co-authored-by: Amritanshu Sikdar <amritanshu.sikdar@gmail.com>
Co-authored-by: Nesma Badr <Nesma.badr@sap.com>
Co-authored-by: Tomasz Smelcerz <tomasz.smelcerz@sap.com>

* feat: Support "application/x-tar" media type in the module template (#1698)

* feat: support x-tar media type

* chore: adjust after rebase

* fix: oci repo subpath parsing

* refactor: lint

* refactor: lint perfsprint

* fix: default cr parsing from template

* fix: moduletemplate layer name

* test: add integration test

* refactor: after code review

* make lint happy

* refactoring test

* refactoring ExtractLayer

* keep default cr in moduletemplate

* update dead link

* test layer parser

* test layer parser

* adjust e2e test

* code refactoring

---------

Co-authored-by: Xin Ruan <xin.ruan@sap.com>

* feat: Unmanage module (#1717)

* add annotation probably should be replaced with finalizer

* add finalizer if unmanaged

* delete manifest and finalizers when unmanaged finalizer found

* set unmanaged from spec

* fix compile error

* start testcase

* delete

* all module test instances have managed enabled by default

* fix enable label value

* revert integration test

* revert integration test

* add unmanage e2e

* add unamage module to e2e matrix

* remove helper func

* sort

* fix resource name

* renaming

* add unmanaged annotation

* unmanage with deletion in manifest-controller

* move deletion of manifest to kyma control loop

* fix e2e

* lint fixes

* fmt

* resolve lint issues

* revert loglevel

* clean-up and more testcases

* adapt e2e

* adapt e2e

* adapt e2e

* add Managed = true to all used v1beta2.Module in code...

* extend e2e

* adapt some review comments

* revert FDescribe

* return err on invalid kyma and watcher state

* adapt runner test

* chore: Remove requeue on invalid cr state (#1829)

remove requeue on invalid cr state

* fix merge

* fix merge

* fix merge

* fix merge

* fix IsUnmanaged detection

* delete unmanaged manifest in manifest controller

* fix NeedToUpdate

* refactor removefinalizer

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Christoph Schwägerl <c.schwaegerl@sap.com>
Co-authored-by: Nesma Badr <Nesma.badr@sap.com>
Co-authored-by: Małgorzata Świeca <malgorzata.swieca@sap.com>
Co-authored-by: Benjamin Lindner <50365642+lindnerby@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raj <54686422+LeelaChacha@users.noreply.github.com>
Co-authored-by: Christoph Schwägerl <acc.pius@mailbox.org>
Co-authored-by: Amritanshu Sikdar <amritanshu.sikdar@sap.com>
Co-authored-by: Amritanshu Sikdar <amritanshu.sikdar@gmail.com>
Co-authored-by: Tomasz Smelcerz <tomasz.smelcerz@sap.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Indicates the PR's author has signed the CLA. lgtm Looks good to me! size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Deletion Modes] Implement logic for "unmanaging" a Module
3 participants