Files
Siddhesh GhadiandGitHub a02677cdd0 feat: Prune resources in reverse order of syncwave during sync (#15074) (#16748)
* Add e2e & doc for prune order during sync

Signed-off-by: Siddhesh Ghadi <[email protected]>

* Point gitops-engine to fork with reverse prune changes

Signed-off-by: Siddhesh Ghadi <[email protected]>

* Fix ci linting failures

Signed-off-by: Siddhesh Ghadi <[email protected]>

* Update gitops-engine commit ref

Signed-off-by: Siddhesh Ghadi <[email protected]>

---------

Signed-off-by: Siddhesh Ghadi <[email protected]>
2024-01-30 10:08:59 -05:00

42 lines
1.3 KiB
YAML

apiVersion: v1
kind: Pod
metadata:
name: pod-with-finalizers
annotations:
argocd.argoproj.io/sync-wave: "2"
# remove this finalizers using container preStop lifecycle hook on delete
finalizers:
- example.com/block-delete
spec:
serviceAccountName: modify-pods-sa # sa with permissions to modify pods
terminationGracePeriodSeconds: 15
containers:
- name: container
image: nginx:alpine
command: ["/bin/sh", "-c"]
args: ["sleep 10h"]
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
lifecycle:
# remove finalizers for successful delete of pod
preStop:
exec:
command:
- /bin/sh
- -c
- |
set -e
SERVICE_ACCOUNT_TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
POD_URL="https://kubernetes.default.svc/api/v1/namespaces/$NAMESPACE/pods/$POD_NAME"
PATCH_PAYLOAD='[{"op": "remove", "path": "/metadata/finalizers"}]'
curl -k -v -H "Authorization: Bearer $SERVICE_ACCOUNT_TOKEN" -H "Content-Type: application/json-patch+json" -X PATCH --data "$PATCH_PAYLOAD" $POD_URL