diff options
Diffstat (limited to 'gcloud-image-publish.aww')
| -rw-r--r-- | gcloud-image-publish.aww | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcloud-image-publish.aww b/gcloud-image-publish.aww new file mode 100644 index 0000000..d16e0f8 --- /dev/null +++ b/gcloud-image-publish.aww @@ -0,0 +1,27 @@ +## Script to publish builded image to public. + +#require: gcloud config configurations activate {{.Val "gcloud::config"}} + +gsutil cp {{.Val "host::image"}}.tar.gz gs://arch-builder-a/image/ + +gcloud compute images delete {{.Val "host::image"}} --quiet || exit 0 + +gcloud compute images create {{.Val "host::image"}} \ + --source-uri=gs://arch-builder-a/image/{{.Val "host::image"}}.tar.gz \ + --family=arch \ + --guest-os-features=GVNIC,UEFI_COMPATIBLE,VIRTIO_SCSI_MULTIQUEUE \ + --description="Arch linux image with ops-agent. See https://github.com/shuLhan/compute-archlinux-image-builder" + +gcloud compute images list --no-standard-images +gcloud compute images describe {{.Val "host::image"}} + +## Share the image publicly with authenticated users. + +gcloud compute images add-iam-policy-binding {{.Val "host::image"}} \ + --member='allAuthenticatedUsers' \ + --role='roles/compute.imageUser' + +## Delete the image on storage. + +gsutil rm -a gs://arch-builder-a/image/** +gsutil ls gs://arch-builder-a/ |
