<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Elijah Udom | Infrastructure &amp; Cloud Engineer (elijahu)</title><link>https://elijahu.me/portfolio/tags/ci/cd/</link><description>Infrastructure &amp; Cloud Engineering portfolio by Elijah Udom (elijahu) — AWS, Kubernetes, eBPF Security, AI/ML Infrastructure, and Platform Engineering projects.</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Fri, 11 Apr 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://elijahu.me/portfolio/tags/ci/cd/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a Secure CI/CD Pipeline with Docker, AWS ECR, and GitHub Actions</title><link>https://elijahu.me/portfolio/projects/cicd-container-orch/</link><pubDate>Fri, 11 Apr 2025 00:00:00 +0000</pubDate><guid>https://elijahu.me/portfolio/projects/cicd-container-orch/</guid><description>&amp;ldquo;A deployment pipeline that requires a human in the loop for every push isn&amp;rsquo;t a pipeline — it&amp;rsquo;s a bottleneck with extra steps.&amp;rdquo;
This is a full walkthrough of taking a Flask application from local development to production on AWS using Docker, ECR, ECS, and GitHub Actions — with secrets handled properly from the start, not bolted on as an afterthought.
Pipeline flow: local development → GitHub Actions → ECR → ECS</description></item><item><title>GitOps CI/CD with Flask, Kubernetes, and Webhook Orchestration</title><link>https://elijahu.me/portfolio/projects/orchestration-guide/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://elijahu.me/portfolio/projects/orchestration-guide/</guid><description>&amp;ldquo;Manual deployments are technical debt with compound interest. Every time you run kubectl apply by hand you&amp;rsquo;re borrowing against future reliability.&amp;rdquo;
This is a full breakdown of a push-to-deploy GitOps pipeline on Kubernetes — Flask webhook orchestration server, isolated test namespace with resource quotas, RBAC scoped to minimum permissions, network policy isolation between test and production, and blue-green deployment with automated rollback. Built because the manual process was unsustainable, documented because the failure modes are worth knowing.</description></item><item><title>Detective Work: Solving HNG's Ghost Endpoints &amp; Surviving Hultz Prize</title><link>https://elijahu.me/portfolio/hng-hultz-journey/</link><pubDate>Fri, 14 Feb 2025 00:00:00 +0100</pubDate><guid>https://elijahu.me/portfolio/hng-hultz-journey/</guid><description>&amp;ldquo;Some days you&amp;rsquo;re debugging code. Other days you&amp;rsquo;re debugging your life choices. This is a story about both.&amp;rdquo;
Two separate failures ended up in one post because that&amp;rsquo;s how the month went — back to back, no breathing room. They&amp;rsquo;re different stories with different lessons, so they&amp;rsquo;re marked accordingly. You can read one, skip the other, come back. Up to you.
Part I: The CI/CD Ghost Endpoint Infrastructure Engineering — HNG Internship</description></item></channel></rss>