2 min read | by Jordi Prats
Sometimes we'll need to delete a specific resource from an existing manifest. It can be as simple as moving the resource around, but if we do not control the source manifest it might not be an option: In this scenario we can delete the resource using a patch
Let's assume this is the object we want to delete:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: deleteme-app
namespace: argocd
spec:
project: default
destination:
namespace: argocd
server: 'https://kubernetes.default.svc'
In order to remove it we add a patch as usual:
resources:
- ../../base
patchesStrategicMerge:
- delete-resources.yaml
At the patch we'll need to identify the object as usual, including the $patch: delete action:
$patch: delete
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: deleteme-app
namespace: argocd
Now we can use kustomize build to check that the resulting manifest after applying the patch has the object removed:
$ kustomize build cluster/manifests/overlay/dev/ | grep apiVersion -c
3
$ kustomize build cluster/manifests/overlay/prod/ | grep apiVersion -c
2
Posted on 17/11/2022