in postdeploy-hooks/k8s-cleanup/main.go [51:86]
func do() error {
// Step 1. Run gcloud get-credentials to set up the cluster credentials.
gkeCluster := os.Getenv("GKE_CLUSTER")
if err := gcloudClusterCredentials(gkeCluster); err != nil {
return err
}
// Step 2. Get a list of resources to delete.
kubectlExec := CreateCommandExecutor("kubectl")
oldResources, err := kubectlExec.resourcesToDelete(*namespace, *resourceType)
if err != nil {
return err
}
// Step 3. Delete the resources.
if err := kubectlExec.deleteResources(oldResources); err != nil {
return err
}
// Step 4. Upload metadata.
ctx := context.Background()
deployHookResult := &postdeployHookResult{
Metadata: map[string]string{
postdeployHookMetadataKey: cleanupSampleName,
},
}
gcsClient, err := storage.NewClient(ctx)
if err != nil {
return fmt.Errorf("unable to create cloud storage client: %v", err)
}
if err := uploadResult(ctx, gcsClient, deployHookResult); err != nil {
return err
}
return nil
}