A Terraform Module to List Google Cloud Service Agents

There are two types of service accounts in Google Cloud: user-managed service accounts, which are used by user applications to talk to Google Cloud; and Google-managed services accounts, which are used by Google Cloud internally. Among the second category, there is a special subtype of service accounts called Google Cloud Service Agents. Service Agents are used by Google Cloud services to run internal processes so that user requested operations can be fulfilled.

GCP IPs All Appear in US, and It Is an Intended Behavior

As you may have already known, all the IPs of Google Cloud Platform share the same geolocation, which is the US. This buggy thing has been marked as “intended behavior”, so no fix would be expected in the future. Even ironically, the guy who raised this issue was “kindly advised” to contact Google’s legal department. Here is the issue ticket. Dear Google, when people create a network in a chosen region, they expect the public IPs of the network to be in that region.

Debug Linux Kernel With QEMU and GDB

In last post we see how to run a raw Linux kernel in QEMU. QEMU offers another fancy feature: it can start a GDB Server and external GDB Debugger to connect. With this we can build a comfortable environment to debug system kernels and firmware. Let’s see how to leverage this feature to debug the Linux kernel.

Running Raw Linux Kernel in QEMU

In last post we see how to run a packed Linux distribution in QEMU. This time let’s check out how to run a raw Linux kernel in QEMU.

Running Alpine Linux in QEMU

How to run a Linux operating system in QEMU.

Publishing Subdirectory to Github Pages

I’m using Hugo + Github Pages as my personal blog platform. A Hugo site yields the following directory structure, where the public/ subdirectory stores the generated static pages:

├── archetypes/
├── config.toml
├── content/
├── data/
├── layouts/
├── public/
├── resources/
├── static/
└── themes/

How do I publish the public/ subdirectory, instead of the root directory, to Github Pages?