Files
2026-07-13 13:30:30 +08:00

90 lines
2.9 KiB
YAML

# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
steps:
- id: "delete-k8s-resources"
name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
entrypoint: "bash"
args:
- "-c"
- |
if gcloud container clusters describe ${_CLUSTER_NAME} \
--project=${PROJECT_ID} \
--region=${_REGION} --format="none" 2>/dev/null; then
gcloud container clusters get-credentials ${_CLUSTER_NAME} \
--project=${PROJECT_ID} \
--region=${_REGION}
# Delete namespace (this will delete all resources in it)
kubectl delete namespace ${_NAMESPACE} --ignore-not-found
fi
- id: "cleanup-iam"
name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
waitFor: ["delete-k8s-resources"]
entrypoint: "bash"
args:
- "-c"
- |
# Remove IAM bindings
gcloud projects remove-iam-policy-binding ${PROJECT_ID} \
--member="serviceAccount:${_IAM_SA_NAME}@${PROJECT_ID}.iam.gserviceaccount.com" \
--role="roles/aiplatform.admin" \
--quiet || true
# Delete service account
gcloud iam service-accounts delete ${_IAM_SA_NAME}@${PROJECT_ID}.iam.gserviceaccount.com \
--project=${PROJECT_ID} \
--quiet || true
- id: "delete-cluster"
name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
waitFor: ["cleanup-iam"]
entrypoint: "bash"
args:
- "-c"
- |
# Delete GKE cluster
echo "Deleting GKE cluster..."
gcloud container clusters delete ${_CLUSTER_NAME} \
--project=${PROJECT_ID} \
--region=${_REGION} \
--quiet || true
- id: "delete-registry"
name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
waitFor: ["delete-cluster"]
entrypoint: "bash"
args:
- "-c"
- |
# Delete Artifact Registry repository
echo "Deleting Artifact Registry repository..."
gcloud artifacts repositories delete ${_ARTIFACT_REGISTRY_ID} \
--project=${PROJECT_ID} \
--location=${_REGION} \
--quiet || true
timeout: "1800s"
options:
logging: CLOUD_LOGGING_ONLY
dynamicSubstitutions: true
substitutions:
_REGION: us-east5
_CLUSTER_NAME: computer-use-demo-cluster
_NAMESPACE: computer-use-demo
_IAM_SA_NAME: computer-use-sa
_ARTIFACT_REGISTRY_ID: computer-use-ar-repo # Added this
tags: ["gke-cleanup", "${_CLUSTER_NAME}"]