Description
When an ApplicationSet and its corresponding application manifests are deleted from the repository, kubechecks fails during manifest generation instead of treating this as an intentional application removal.
In our case, both:
- The
ApplicationSet
- The application directory referenced by it
were removed in the same PR. However, kubechecks still queues the deleted application and attempts to load the old ApplicationSet and render manifests from paths that no longer exist, resulting in multiple no such file or directory errors and an overall failure.
Observed behavior
Kubechecks errors out with messages such as:
failed to generate manifests: failed to package application: failed to copy base directory: lstat /tmp/kubechecks-repo-2455155915/abc/xyz/project/live: no such file or directory
This happens before diff generation, causing the PR check to fail.
Expected behavior
If an ApplicationSet (or its source path) is deleted, kubechecks should skip the app gracefully and this scenario should not cause a hard failure when the desired state no longer exists.
Description
When an ApplicationSet and its corresponding application manifests are deleted from the repository, kubechecks fails during manifest generation instead of treating this as an intentional application removal.
In our case, both:
ApplicationSetwere removed in the same PR. However, kubechecks still queues the deleted application and attempts to load the old ApplicationSet and render manifests from paths that no longer exist, resulting in multiple
no such file or directoryerrors and an overall failure.Observed behavior
Kubechecks errors out with messages such as:
failed to generate manifests: failed to package application: failed to copy base directory: lstat /tmp/kubechecks-repo-2455155915/abc/xyz/project/live: no such file or directoryThis happens before diff generation, causing the PR check to fail.
Expected behavior
If an ApplicationSet (or its source path) is deleted, kubechecks should skip the app gracefully and this scenario should not cause a hard failure when the desired state no longer exists.