Skip to content
Indra on Cloud
Go back

Hello, world, a blog that costs almost nothing to run

Welcome to Indra on Cloud. This first post is a quick note on how the blog itself is built, because the architecture is the point.

The constraints

The GKE cluster we run is busy (and, honestly, tight on memory). We didn’t want a blog adding load to it. We also wanted:

The shape

The blog is a static Astro site. At build time everything becomes plain HTML, CSS, and optimized images, no server rendering, no database.

git push → CI builds Astro → dist/ synced to gs://softion-blog-indra
        → Cloud Run (nginx) serves the bucket → you

The built files live in a private GCS bucket. A tiny Cloud Run service running nginx mounts that bucket read-only and serves it. The service scales to zero when nobody is reading. You stop paying for traffic you don’t have.

Adding a post

Drop a markdown file in src/content/posts/:

---
author: "Muhammad Indrawan"
pubDatetime: 2026-07-20T00:00:00.000Z
title: "My post"
description: "One-line summary for SEO and social cards"
tags: ["kubernetes"]
---

Your content here.

Commit, push, done. The build validates the frontmatter, so a malformed post can’t ship.

More soon.


Share this post:

Previous Post
Why our Gitea went down every Sunday at midnight
Next Post
Welcome, how this blog is built and served