Budiman JoJo

Life Journey of My Geeky Needs.

My Journey Containerizing Fullstack Java GUI App

2024-02-01 7 min read Linux Docker Container Budimanjojo

Do you find yourself stuck with an outdated application, due to the absence of viable alternatives or work requirements? Well, you’re not alone. In this blog post, I’ll share my experience dealing with an old Java application that not only require an obsolete version but also demanded a specific environment setup, including a Postgres server and a CUPS server. To liberate my system from these complexity, I embarked on the journey of containerizing the entire stack. Join me as I recount the challenges faced and the valuable lessons learned along the way.

Continue reading

How I Write Kubernetes Manifests

While tools like Helm and kustomize can significantly reduce the amount of manual Kubernetes manifests writing, it’s often impossible to completely avoid it (even (kustomization.yaml file is itself a Kubernetes manifest). For instance, you may need to create a basic ingress because the chart you’re using doesn’t provide a template for it, or generate a certificate for your domain with cert-manager. In this post, I’ll describe how I leverage VSCode snippets and yaml-language-server to write Kubernetes manifests.

Continue reading

Neovim Is Awesome


I was a long time Vim user, long before Neovim was born. I was sold to Neovim when CoC came out and there were some features that don’t work with Vim. At that time, Neovim was marketed as Vim but with more sane default experience. As time goes by, now Neovim is more than just Vim with better defaults. In this post, I will share my two cents on why Neovim is so much better than Vim, at least for me.

Continue reading

How I GitOps Home Assistant Configurations

2021-11-04 4 min read Kubernetes Linux Self Hosted Budimanjojo

home assistant gitops

I always love the idea of GitOps, where everything I have in a git repo represents the current state of my application. But not everything are made for GitOps, so we have to sort of “make it work”. In this post, I will show you how I manage to GitOps my Home Assistant configurations. Spoiler, this is hacky and messy at the same time, so please bear this in mind before continuing.

Continue reading

Variable Substitution in Flux GitOps

2021-10-27 3 min read Kubernetes Linux Self Hosted Budimanjojo

variable substitution in flux

Sometimes there are values that you want to use multiple times in your manifest files. Usually, we define them using a config map or secret and we either mount them as a file or environment variable. This is easy if you don’t use GitOps and have a small amount of pods. Also, having a single configmap and secret will clean up a lot of mess out of your cluster, and this is what variable substitution will do for you. I find this really useful especially for sensitive information you don’t want people all around the world to see. In this post, I will show you how I do variable substitution using Flux GitOps tool.

Continue reading
Older posts