Notas Mentales de Un SysAdmin

blog sobre tecnologías para sysadmin y devops

Script en bash para eliminar imágenes del Container Registry de GCP

Hoy una entrada sencilla pero efectiva. Al venir de sistemas, me cuesta más que a un desarrollador elaborar código. Y por eso es que me siento tan orgullosa de mis scripts.

En esta ocasión, utilizo la herramienta de comandos en linea de GCP, glcoud.

Para listar:

gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE_NAME]

Para eliminar:

gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE_NAME]@sha256:DIGEST --quiet

El script quedaría tal que así:

#!/bin/bash

declare -a digest_array

#Recoger todas imágenes del repositorio pasado en la llamada al script. Con awk recogemos solo la primera columna que corresponde con el DIGEST.
digest_array=(`gcloud container images list-tags "$1" | awk '{print $1}'`)

#En nuestro caso, queremos conservar las 3 imágenes más recientes. Por ello, el contador es 4 (columna del encabezado + 3 imágenes).
for i in "${digest_array[@]:4}"
        do `gcloud container images delete "$1"@sha256:"$i" --quiet --force-delete-tags`
done

La llamada por terminal, sería:

./delete_old_images.sh "[HOSTNAME]/[PROJECT-ID]/[IMAGE_NAME]"

Problema resuelto!

Script en bash para eliminar imágenes del Container Registry de GCP
Scroll hacia arriba