aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2025-12-25 19:39:54 +0700
committerShulhan <ms@kilabit.info>2025-12-26 13:57:05 +0700
commit058f6729af0dc2f9a367a268e2d387a9f922406e (patch)
tree51d590399cd2439208300a68e8311bc37c497f31
parentfca620c1e13bae91b4a3167a10d660f3d72e7aeb (diff)
downloadcompute-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.md4
-rw-r--r--awwan.env9
-rw-r--r--current-images.txt8
-rw-r--r--gcloud-image-cleanup.aww4
-rw-r--r--gcloud-image-publish.aww35
5 files changed, 33 insertions, 27 deletions
diff --git a/README.md b/README.md
index 631183d..a982cfa 100644
--- a/README.md
+++ b/README.md
@@ -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.
diff --git a/awwan.env b/awwan.env
index 470bfe1..8924a25 100644
--- a/awwan.env
+++ b/awwan.env
@@ -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"}}/