Deleting Applications
To fully clean up your application or to only remove the production application after setting the isProduction to false in case the production application existed before, you can use the following checklist. Not every step will be applicable to your specific application, if something is missing feel free to open a PR. Please try to leave no orphan resources to avoid future headaches.
Warning: these actions are destructive, make sure to check with your team/area.
- remove your build pipelines (Github Actions/etc)
- remove Pingdom checks
- remove your alerting (laas elastalert rules repo/stackdriver/prometheus/…)
- remove Argo applications -> see kubernetes
- remove DNS entries -> see domains
- remove attached resources
- archive github repo
- remove the laas index -> see below
these actions are destructive, please be extra cautious, you should grab a teammate to review your actions.
- open your applications page (staging and production or only production if following the guide after setting
isProductionto remove the production app) - select the Delete action from the top
- delete your application with
Foregroundpropagation policy
At this point your applications’s resources will be deleted from the given cluster. Your Argo application will show Missing as App health and Out of sync status.
- Raise a ticket in Jira to the GAP team’s Jira project with the following text. Please provide the Argo application names (eg.: pmta-manager-stage-cloud-platform)
Dear GAP team,
please remove the following application(s) from the gap-applications repository:
- <argo-app-name-1>
- <argo-app-name-2>
Cheers,
<your-name>
After this ticket gets resolved the application will magically vanish from ArgoCD.
If there are any VPC peered Google projects that are not needed anymore, please raise a ticket in Jira to the GAP team’s Jira project with the following text, and please provide the Google project names (eg.: sap-gap-rd-db-router-s)
Dear GAP team,
Please remove the following VPC peered Google project(s) from the gap-infra terraform repository:
- <project-name-1>
- <project-name-2>
<end>
Cheers,
<your-name>
Application related projects containing Cloud SQL instances should be owned by the teams/are. Please try to resolve the removal or permission issues within your team/area.
Application related projects containing Memorystore Redis instances should be owned by the teams/are. Please try to resolve the removal or permission issues within your team/area.
Most developers have no access to manage domains or to clean up attached resources in the ems-vpchost-* projects. For these you have to create a ticket for the Cloud Platform team in the GAP project.
Please be very specific by putting the exact domains or resource names you want to be removed, for both staging and production.
If it is clear that the logs are not needed anymore, please create a Change Request in the SYSTEC project. This helps to reduce costs and headaches by removing unnecessary resources.