<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hashicorp Vault on /home/fel1x</title><link>https://phuchoang.sbs/series/hashicorp-vault/</link><description>Recent content in Hashicorp Vault on /home/fel1x</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>xuanphuc.a1gv@gmail.com (Felix Hoang)</managingEditor><webMaster>xuanphuc.a1gv@gmail.com (Felix Hoang)</webMaster><copyright>© 2026 Felix Hoang</copyright><lastBuildDate>Mon, 24 Nov 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://phuchoang.sbs/series/hashicorp-vault/index.xml" rel="self" type="application/rss+xml"/><item><title>Vault (Part 4): Dynamic Secrets for Kubernetes Pods with External Secrets Operator</title><link>https://phuchoang.sbs/posts/gitops-external-secrets-vault/</link><pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate><author>xuanphuc.a1gv@gmail.com (Felix Hoang)</author><guid>https://phuchoang.sbs/posts/gitops-external-secrets-vault/</guid><description>&lt;p&gt;This is Part 4 of the Hashicorp Vault series. In &lt;a href="https://phuchoang.sbs/posts/gitops-github-actions-hashicorp-vault/" target="_blank" rel="noreferrer"&gt;Part 1&lt;/a&gt;, we bootstrapped Vault. In &lt;a href="https://phuchoang.sbs/posts/gitops-github-actions-terraform-ansible/" target="_blank" rel="noreferrer"&gt;Part 2&lt;/a&gt;, we built our CI/CD pipeline. In &lt;a href="https://phuchoang.sbs/posts/gitops-kubernetes-oidc-vault/" target="_blank" rel="noreferrer"&gt;Part 3&lt;/a&gt;, we finally killed the static &lt;code&gt;kubeconfig&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Vault (Part 3): Secure Kubernetes Authentication with HashiCorp Vault OIDC</title><link>https://phuchoang.sbs/posts/gitops-kubernetes-oidc-vault/</link><pubDate>Sun, 23 Nov 2025 00:00:00 +0000</pubDate><author>xuanphuc.a1gv@gmail.com (Felix Hoang)</author><guid>https://phuchoang.sbs/posts/gitops-kubernetes-oidc-vault/</guid><description>&lt;p&gt;This is Part 3 of the Hashicorp Vault series. In &lt;a href="https://phuchoang.sbs/posts/gitops-github-actions-hashicorp-vault/" target="_blank" rel="noreferrer"&gt;Part 1&lt;/a&gt;, we bootstrapped Vault. In &lt;a href="https://phuchoang.sbs/posts/gitops-github-actions-terraform-ansible/" target="_blank" rel="noreferrer"&gt;Part 2&lt;/a&gt;, we built the full CI/CD pipeline. Now, we&amp;rsquo;re solving the final, massive headache: &lt;strong&gt;getting secure, dynamic &lt;code&gt;kubectl&lt;/code&gt; access.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Vault (Part 2): Secure On-Prem Automation with Ephemeral Runners and Tailscale</title><link>https://phuchoang.sbs/posts/gitops-github-actions-terraform-ansible/</link><pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate><author>xuanphuc.a1gv@gmail.com (Felix Hoang)</author><guid>https://phuchoang.sbs/posts/gitops-github-actions-terraform-ansible/</guid><description>&lt;p&gt;This is Part 2 of the Hashicorp Vault series. Part 1 covered bootstrapping and configuring HashiCorp Vault (the one-time &lt;code&gt;terraform-admin&lt;/code&gt; work) and the design goals for Zero Trust secrets management.&lt;/p&gt;</description></item><item><title>Vault (Part 1): HashiCorp Vault for Zero Trust Secrets Management</title><link>https://phuchoang.sbs/posts/gitops-github-actions-hashicorp-vault/</link><pubDate>Sun, 16 Nov 2025 00:00:00 +0000</pubDate><author>xuanphuc.a1gv@gmail.com (Felix Hoang)</author><guid>https://phuchoang.sbs/posts/gitops-github-actions-hashicorp-vault/</guid><description>&lt;p&gt;In the last two parts of the &lt;strong&gt;On-Premise 101&lt;/strong&gt; series, I showed you how to provision and bootstrap a full Kubernetes cluster. Now, I&amp;rsquo;m tearing part of it down and rebuilding the entire &lt;em&gt;workflow&lt;/em&gt;. Why? The project&amp;rsquo;s goal was always automation, but I hit a wall. The manual steps to &lt;em&gt;set up&lt;/em&gt; that automation - like managing secrets and SSH keys - became a huge liability.&lt;/p&gt;</description></item></channel></rss>