<?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/categories/platform-engineering/</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/categories/platform-engineering/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>Self-Hosting Gitea on AWS: Architecture, Configuration, and the 502s I Debugged</title><link>https://elijahu.me/portfolio/projects/gitea-ec2-guide/</link><pubDate>Sun, 23 Feb 2025 00:00:00 +0000</pubDate><guid>https://elijahu.me/portfolio/projects/gitea-ec2-guide/</guid><description>&amp;ldquo;GitHub is fine until you&amp;rsquo;re rate-limited at 11 PM pushing a large repo before a deadline. That&amp;rsquo;s when you decide to build your own.&amp;rdquo;
This is a full breakdown of running Gitea on AWS EC2 — not a happy-path tutorial, but the actual build including every error I hit and how I resolved it. Architecture, configuration, the 502 debugging session, backup automation, and what three months of running this in production looks like.</description></item></channel></rss>