모든 게시물

  • Published on
    Recently, Bitnami announced that secure container images would only be available under a paid plan, and that they would stop maintaining most of their previous images, except for a few open-source projects. Bitnami container images are based on the minideb image, which includes fewer packages than a standard Debian image. I started wondering whether I could replace this with a Distroless image built using Bazel and maintain it myself.This blog explains how minideb and Distroless images are built.
  • Published on
    I stumbled upon the PASETO specification. At first glance, it offers better security for a system. I researched it to figure out if it could bring any advantages to my system, which is built with Node.js and authenticates using bearer tokens.
  • Published on
    My system exports telemetry data from a Node.js application using OpenTelemetry. I configured the OpenTelemetry Collector to send that data to a GCP-managed service via the Google Cloud Exporter. Later, while reviewing database query information from the application, I noticed something odd in the trace data. As I dug deeper, I discovered some limitations of GCP Cloud Trace and how the mysql2 instrumentation package sets attribute values. That investigation helped explain the strange behavior I was seeing in the trace data.
  • Published on
    This time, I integrated Sentry with Keycloak. There are several helpful blog posts available that make the process easy to follow. However, out of curiosity, I wanted to understand exactly what was happening behind the scenes—and clarify which steps are truly necessary.
  • Published on
    I often write values.yaml files to install open-source projects on Kubernetes clusters. This time, I needed to add tolerations to ensure all components of Sentry would run on specific nodes. Since Sentry has quite a few components, I decided to leverage Gemini to generate the values.yaml file more quickly.
  • Published on
    I needed to iterate through all image repositories in my private container registry, find the latest build for each, and save them as individual tar files. Although an LLM can generate code for this task quickly, it's worth knowing how to issue an authentication token for the Docker API. This could be important for guiding the LLM to produce a correct final version.
  • Published on
    I needed to set up a self-hosted Git system and was looking for an open-source tool that would fit my requirements. Gitea seemed like a great fit, and I was particularly interested in Gitea Actions, which is compatible with GitHub Actions. However, I struggled to correctly configure a Gitea Actions runner to use a container image from a private repository. Through that process, I gained a much better understanding of how Gitea offers a CI/CD system compatible with GitHub Actions. In this post, I'll share what I learned.
  • Published on
    I recently had the valuable opportunity to experience building a Flutter application from scratch using Gemini CLI at my company's one-day AI hackathon. It was an insightful experience to understand vibe coding firsthand. This also gave me thoughts on what skills I need to continue developing in the AI era.