<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>devops/security on /home/fel1x</title><link>https://phuchoang.sbs/tags/devops/security/</link><description>Recent content in devops/security 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>Sun, 30 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://phuchoang.sbs/tags/devops/security/index.xml" rel="self" type="application/rss+xml"/><item><title>Talos on Proxmox – Hybrid Kubernetes with AWS Burst Workers</title><link>https://phuchoang.sbs/projects/talos-proxmox/</link><pubDate>Sun, 30 Aug 2026 00:00:00 +0000</pubDate><author>xuanphuc.a1gv@gmail.com (Felix Hoang)</author><guid>https://phuchoang.sbs/projects/talos-proxmox/</guid><description>This project automates independent development and production Talos Kubernetes environments on Proxmox using OpenTofu and GitHub Actions, with optional stateless AWS workers connected through KubeSpan. Each cluster runs its own Argo CD for GitOps application management, while Doppler and External Secrets supply credentials and persistent workloads stay on Proxmox.</description></item><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 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>