Add retention policy to staging buckets

Related to:
  - https://github.com/kubernetes/k8s.io/issues/4691

Ensure new staging bucketst are regional and apply lifecycle policy to
the objects of each staging bucket.

Signed-off-by: Arnaud Meukam <ameukam@gmail.com>
This commit is contained in:
Arnaud Meukam 2023-02-08 22:50:26 +01:00
parent 44bedc2a46
commit bf08cc38da
No known key found for this signature in database
GPG Key ID: E127D6541A5EBDDB

View File

@ -326,16 +326,14 @@ function upload-tars() {
local node_binary_tar_urls=()
for region in "${PREFERRED_REGION[@]}"; do
retention_period="1d" # https://cloud.google.com/storage/docs/bucket-lock#retention-periods
suffix="-${region}"
if [[ "${suffix}" == "-us-central1" ]]; then
suffix=""
fi
local staging_bucket="gs://kubernetes-staging-${project_hash}${suffix}"
# Ensure the buckets are created
if ! gsutil ls "${staging_bucket}" >/dev/null; then
echo "Creating ${staging_bucket}"
gsutil mb -l "${region}" -p "${PROJECT}" "${staging_bucket}"
gsutil mb -l "${region}" -p "${PROJECT}" --retention "${retention_period}" "${staging_bucket}"
fi
local staging_path="${staging_bucket}/${INSTANCE_PREFIX}-devel"