diff options
| author | Shulhan <ms@kilabit.info> | 2025-12-25 19:39:54 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2025-12-26 13:57:05 +0700 |
| commit | 058f6729af0dc2f9a367a268e2d387a9f922406e (patch) | |
| tree | 51d590399cd2439208300a68e8311bc37c497f31 | |
| parent | fca620c1e13bae91b4a3167a10d660f3d72e7aeb (diff) | |
| download | compute-archlinux-image-builder-058f6729af0dc2f9a367a268e2d387a9f922406e.tar.xz | |
all: create the images under project name kilabit
We are currently cleaning up my GCP account, so we unify some projects
into one.
The arch-builder now moved under kilabit project.
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | awwan.env | 9 | ||||
| -rw-r--r-- | current-images.txt | 8 | ||||
| -rw-r--r-- | gcloud-image-cleanup.aww | 4 | ||||
| -rw-r--r-- | gcloud-image-publish.aww | 35 |
5 files changed, 33 insertions, 27 deletions
@@ -48,13 +48,13 @@ Arch Linux installation are the following: ## Prebuilt Images You can use [Cloud SDK](https://cloud.google.com/sdk/docs/) to create instances -with the latest prebuilt Arch Linux image. To do that follow the SDK +with the latest prebuilt Arch Linux image. To do that follow the SDK installation procedure, and then run the [following command](https://cloud.google.com/sdk/gcloud/reference/compute/instances/create): ```console $ gcloud compute instances create INSTANCE_NAME \ - --image-project=arch-builder --image-family=arch + --image-project=kilabit --image-family=arch ``` For older images, see the current-images.txt file. @@ -1,8 +1,15 @@ [gcloud] +config = kilabit +project = kilabit +region = asia-southeast1 +zone = asia-southeast1-b + +[gcloud "arch-builder"] config = arch-builder -project = arch-builder +project = kilabit region = asia-southeast1 zone = asia-southeast1-b +storage = kilabit-staging [host] image = arch-v20251225 diff --git a/current-images.txt b/current-images.txt index b405758..a63c73d 100644 --- a/current-images.txt +++ b/current-images.txt @@ -1,7 +1,7 @@ [ { - "archiveSizeBytes": "1714793856", - "creationTimestamp": "2025-12-25T03:51:49.084-08:00", + "archiveSizeBytes": "1706681216", + "creationTimestamp": "2025-12-25T04:57:15.452-08:00", "description": "Arch linux image with ops-agent. See https://github.com/shuLhan/compute-archlinux-image-builder", "diskSizeGb": "10", "enableConfidentialCompute": false, @@ -17,7 +17,7 @@ "type": "VIRTIO_SCSI_MULTIQUEUE" } ], - "id": "2806474738306685883", + "id": "8142640788025674309", "kind": "compute#image", "labelFingerprint": "42WmSpB8rSM=", "name": "arch-v20251225", @@ -29,7 +29,7 @@ "sourceType": "RAW", "status": "READY", "storageLocations": [ - "us" + "asia" ] } ] diff --git a/gcloud-image-cleanup.aww b/gcloud-image-cleanup.aww index 49411e6..726ba82 100644 --- a/gcloud-image-cleanup.aww +++ b/gcloud-image-cleanup.aww @@ -1,9 +1,10 @@ ## Script to remove all except the last five images. -#require: gcloud config configurations activate {{.Val "gcloud::config"}} +#require: gcloud config configurations activate {{.Val "gcloud:arch-builder:config"}} gcloud compute images list \ --no-standard-images \ + --format=json \ > current-images.txt cat current-images.txt @@ -16,6 +17,7 @@ gcloud compute images list \ gcloud compute images list \ --no-standard-images \ + --format=json \ > current-images.txt cat current-images.txt diff --git a/gcloud-image-publish.aww b/gcloud-image-publish.aww index 9a3d5f0..e34108e 100644 --- a/gcloud-image-publish.aww +++ b/gcloud-image-publish.aww @@ -1,39 +1,36 @@ ## Script to publish builded image to public. -#require: gcloud config configurations activate {{.Val "gcloud::config"}} +#require: gcloud config configurations activate {{.Val "gcloud:arch-builder:config"}} -gcloud storage cp {{.Val "host::image"}}.tar.gz gs://arch-builder-a/image/{{.Val "host::image"}}.tar.gz +gcloud storage cp {{.Val "host::image"}}.tar.gz \ + gs://{{.Val "gcloud:arch-builder:storage"}}/image/{{.Val "host::image"}}.tar.gz -gcloud compute images delete {{.Val "host::image"}} --project={{.Val "gcloud::project"}} --quiet || exit 0 +gcloud compute images delete {{.Val "host::image"}} \ + --project={{.Val "gcloud:arch-builder:project"}} --quiet \ + || exit 0 gcloud compute images create {{.Val "host::image"}} \ - --project={{.Val "gcloud::project"}} \ - --source-uri=gs://arch-builder-a/image/{{.Val "host::image"}}.tar.gz \ + --project={{.Val "gcloud:arch-builder:project"}} \ + --source-uri=gs://{{.Val "gcloud:arch-builder:storage"}}/image/{{.Val "host::image"}}.tar.gz \ + --storage-location=asia \ --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 deprecate {{.Val "host::image"}} \ - --project={{.Val "gcloud::project"}} \ - --state=ACTIVE \ - --deprecate-in=30d \ - --obsolete-in=37d \ - --delete-in=44d - gcloud compute images list --no-standard-images \ - --project={{.Val "gcloud::project"}} + --project={{.Val "gcloud:arch-builder:project"}} gcloud compute images describe {{.Val "host::image"}} \ - --project={{.Val "gcloud::project"}} + --project={{.Val "gcloud:arch-builder:project"}} ## Share the image publicly with authenticated users. gcloud compute images add-iam-policy-binding {{.Val "host::image"}} \ - --project={{.Val "gcloud::project"}} \ - --member='allAuthenticatedUsers' \ - --role='roles/compute.imageUser' + --project={{.Val "gcloud:arch-builder:project"}} \ + --member='allAuthenticatedUsers' \ + --role='roles/compute.imageUser' ## Delete the image on storage. -gcloud storage rm --all-versions gs://arch-builder-a/image/** -gcloud storage ls gs://arch-builder-a/ +gcloud storage rm --all-versions gs://{{.Val "gcloud:arch-builder:storage"}}/image/** +gcloud storage ls gs://{{.Val "gcloud:arch-builder:storage"}}/ |
