<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Self Hosted on Budiman JoJo</title>
    <link>https://budimanjojo.com/categories/self-hosted/</link>
    <description>Recent content in Self Hosted on Budiman JoJo</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 04 Nov 2021 17:37:02 +0000</lastBuildDate>
    <atom:link href="https://budimanjojo.com/categories/self-hosted/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How I GitOps Home Assistant Configurations</title>
      <link>https://budimanjojo.com/2021/11/04/gitops-home-assistant-configurations/</link>
      <pubDate>Thu, 04 Nov 2021 17:37:02 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/11/04/gitops-home-assistant-configurations/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/gitops-home-assistant-configurations_1.png&#34; data-dimbox data-dimbox-caption=&#34;home assistant gitops&#34;&gt;&#xA;  &lt;img alt=&#34;home assistant gitops&#34; src=&#34;https://budimanjojo.com/images/gitops-home-assistant-configurations_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;I always love the idea of GitOps, where everything I have in a git repo represents the current state of my application.&#xA;But not everything are made for GitOps, so we have to sort of “make it work”.&#xA;In this post, I will show you how I manage to GitOps my Home Assistant configurations.&#xA;Spoiler, this is hacky and messy at the same time, so please bear this in mind before continuing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automating Kubernetes Nodes Reboot with Kured</title>
      <link>https://budimanjojo.com/2021/10/28/automating-kubernetes-nodes-reboot-with-kured/</link>
      <pubDate>Thu, 28 Oct 2021 16:05:01 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/10/28/automating-kubernetes-nodes-reboot-with-kured/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/kured-kubernetes_1.png&#34; data-dimbox data-dimbox-caption=&#34;kured-kubernetes&#34;&gt;&#xA;  &lt;img alt=&#34;kured-kubernetes&#34; src=&#34;https://budimanjojo.com/images/kured-kubernetes_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Having an up-to-date Kubernetes node is important, especially security updates.&#xA;Sometimes an update requires a reboot to take effect, and you don’t want to keep checking them manually.&#xA;In this post, I will share about how I automate my Kubernetes nodes to reboot when necessary using &lt;a href=&#34;https://github.com/weaveworks/kured&#34;&gt;Kured&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Variable Substitution in Flux GitOps</title>
      <link>https://budimanjojo.com/2021/10/27/variable-substitution-in-flux-gitops/</link>
      <pubDate>Wed, 27 Oct 2021 13:36:08 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/10/27/variable-substitution-in-flux-gitops/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/variable-substitution-in-flux-gitops_1.png&#34; data-dimbox data-dimbox-caption=&#34;variable substitution in flux&#34;&gt;&#xA;  &lt;img alt=&#34;variable substitution in flux&#34; src=&#34;https://budimanjojo.com/images/variable-substitution-in-flux-gitops_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Sometimes there are values that you want to use multiple times in your manifest files.&#xA;Usually, we define them using a config map or secret and we either mount them as a file or environment variable.&#xA;This is easy if you don’t use GitOps and have a small amount of pods.&#xA;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.&#xA;I find this really useful especially for sensitive information you don’t want people all around the world to see.&#xA;In this post, I will show you how I do variable substitution using Flux GitOps tool.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flux Secret Management with SOPS age</title>
      <link>https://budimanjojo.com/2021/10/23/flux-secret-management-with-sops-age/</link>
      <pubDate>Sat, 23 Oct 2021 16:16:41 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/10/23/flux-secret-management-with-sops-age/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/flux-secret-management-with-sops-age_1.png&#34; data-dimbox data-dimbox-caption=&#34;flux secret with sops age&#34;&gt;&#xA;  &lt;img alt=&#34;flux secret with sops age&#34; src=&#34;https://budimanjojo.com/images/flux-secret-management-with-sops-age_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Following my &lt;a href=&#34;https://budimanjojo.com/2021/10/20/how-i-manage-my-kubernetes-manifests-using-flux/&#34;&gt;previous post&lt;/a&gt; about Kubernetes management using &lt;a href=&#34;https://fluxcd.io/&#34;&gt;Flux&lt;/a&gt;, this post will cover secret management using &lt;a href=&#34;https://github.com/mozilla/sops&#34;&gt;SOPS&lt;/a&gt; and &lt;a href=&#34;https://github.com/FiloSottile/age&#34;&gt;age&lt;/a&gt;.&#xA;SOPS is a tool to encrypt and decrypt text files while age is the encryption tool that is simple, modern, and secure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I Manage My Kubernetes Manifests Using Flux</title>
      <link>https://budimanjojo.com/2021/10/20/manage-kubernetes-manifests-using-flux/</link>
      <pubDate>Wed, 20 Oct 2021 18:45:56 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/10/20/manage-kubernetes-manifests-using-flux/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/how-i-manage-my-kubernetes-manifests-using-flux_1.png&#34; data-dimbox data-dimbox-caption=&#34;manage kubernetes manifests flux&#34;&gt;&#xA;  &lt;img alt=&#34;manage kubernetes manifests flux&#34; src=&#34;https://budimanjojo.com/images/how-i-manage-my-kubernetes-manifests-using-flux_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;GitOps is currently the most popular way to manage your services.&#xA;It’s sort of what DevOps is but with Git.&#xA;To put it in a simple way, it is a practice where you manage everything through git.&#xA;Whatever you have in your git repository is what your cluster current state is.&#xA;Because GitOps is so popular there are a lot of new tools focusing on GitOps right now, and &lt;a href=&#34;https://fluxcd.io/&#34;&gt;Flux&lt;/a&gt; is one of them.&#xA;In this post I will give you a glance on how I manage my Kubernetes manifests using Flux.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Raspberry Pi Media Server Series 4 - Setting Up Docker</title>
      <link>https://budimanjojo.com/2019/12/18/raspberry-pi-media-server-series-4-setting-up-docker/</link>
      <pubDate>Wed, 18 Dec 2019 01:24:55 +0000</pubDate>
      <guid>https://budimanjojo.com/2019/12/18/raspberry-pi-media-server-series-4-setting-up-docker/</guid>
      <description>&lt;p&gt;This is the forth part of my Raspberry Pi Media Server series.&#xA;If you haven’t read our previous part, &lt;a href=&#34;https://budimanjojo.com/2019/12/09/raspberry-pi-media-server-series-3-external-drives/&#34;&gt;here’s&lt;/a&gt; where we discussed setting up external drives on Raspberry Pi.&#xA;In this part, we are going to setting up &lt;a href=&#34;https://www.docker.com/&#34;&gt;Docker&lt;/a&gt; on Raspberry Pi.&#xA;Here’s what you will get if you follow through the end of the tutorial:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Docker and Docker Compose installed&lt;/li&gt;&#xA;&lt;li&gt;Docker data will be in the external drives&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.archlinux.org/index.php/systemd&#34;&gt;Systemd&lt;/a&gt; will only start Docker if external drives are mounted&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started&lt;/h2&gt;&#xA;&lt;p&gt;Before we get our hands on setting up docker on our Raspberry Pi, let’s first do a system update.&#xA;If you are on Manjaro, the command will be:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
