Add a cleanup script
This commit is contained in:
		
							
								
								
									
										24
									
								
								hooks/down.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										24
									
								
								hooks/down.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@@ -1,15 +1,27 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
if [[ $1 == "--config" ]] ; then
 | 
			
		||||
  cat <<EOF
 | 
			
		||||
configVersion: v1
 | 
			
		||||
kubernetes:
 | 
			
		||||
- apiVersion: v1
 | 
			
		||||
  kind: Pod
 | 
			
		||||
  executeHookOnEvent: ["Added"]
 | 
			
		||||
- name: Watch softplayer configmaps
 | 
			
		||||
  apiVersion: v1
 | 
			
		||||
  kind: ConfigMap
 | 
			
		||||
  executeHookOnEvent: ["Deleted"]
 | 
			
		||||
  labelSelector:
 | 
			
		||||
    matchExpressions:
 | 
			
		||||
    - key: "component"
 | 
			
		||||
      operator: "In"
 | 
			
		||||
      values: ["bootstrap"]
 | 
			
		||||
EOF
 | 
			
		||||
else
 | 
			
		||||
  podName=$(jq -r .[0].object.metadata.name $BINDING_CONTEXT_PATH)
 | 
			
		||||
  echo "Pod '${podName}' added"
 | 
			
		||||
  PROVIDER=$(jq -r .[0].objects.[0].object.data.provider $BINDING_CONTEXT_PATH)
 | 
			
		||||
  KUBERNETES=$(jq -r .[0].objects.[0].object.data.kubernetes $BINDING_CONTEXT_PATH)
 | 
			
		||||
  if ! [ -f /tpls/${PROVIDER}-cleanup.yaml ]; then
 | 
			
		||||
    echo "ERROR: template not found for ${PROVIDER}-cleanup"
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  export SP_CUSTOMER_ID=$(jq -r .[0].objects.[0].object.metadata.namespace $BINDING_CONTEXT_PATH)
 | 
			
		||||
  export SP_ENVIRONMENT=$(jq -r .[0].objects.[0].object.metadata.name $BINDING_CONTEXT_PATH)
 | 
			
		||||
  envsubst < /tpls/${PROVIDER}-cleanup.yaml | kubectl create -f -
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								tpls/hetzner-cleanup.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								tpls/hetzner-cleanup.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
apiVersion: tekton.dev/v1beta1
 | 
			
		||||
kind: Pipeline
 | 
			
		||||
metadata:
 | 
			
		||||
  generateName: hetzner-cleanup
 | 
			
		||||
  namespace: "${SP_TEKTON_RUNTIME_NS}"
 | 
			
		||||
spec:
 | 
			
		||||
  params:
 | 
			
		||||
    - name: namespace
 | 
			
		||||
      value: "${SP_CUSTOMER_ID}"
 | 
			
		||||
    - name: environment
 | 
			
		||||
      value: "${SP_ENVIRONMENT}"
 | 
			
		||||
  tasks:
 | 
			
		||||
    - name: cleanup-hetzner-infra
 | 
			
		||||
      retries: 3
 | 
			
		||||
      taskRef:
 | 
			
		||||
        resolver: cluster
 | 
			
		||||
        params:
 | 
			
		||||
          - name: kind
 | 
			
		||||
            value: task
 | 
			
		||||
          - name: name
 | 
			
		||||
            value: cleanup-hetzner-infra
 | 
			
		||||
          - name: namespace
 | 
			
		||||
            value: tekton-pipelines
 | 
			
		||||
      params:
 | 
			
		||||
        - name: environment
 | 
			
		||||
          value: $(params.environment)
 | 
			
		||||
        - name: namespace
 | 
			
		||||
          value: $(params.namespace)
 | 
			
		||||
		Reference in New Issue
	
	Block a user