<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Platform-Engineering on Dev &amp; Platform Engineering Hub</title><link>https://rhidayat.work/topics/platform-engineering/</link><description>Recent content in Platform-Engineering on Dev &amp; Platform Engineering Hub</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Rachmat Hidayat</copyright><lastBuildDate>Sun, 09 Aug 2026 22:00:00 +0000</lastBuildDate><atom:link href="https://rhidayat.work/topics/platform-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Kratix Ep 12: Production Reference Architecture</title><link>https://rhidayat.work/series/kratix/12-production-reference-architecture-repository/</link><pubDate>Sun, 09 Aug 2026 22:00:00 +0000</pubDate><guid>https://rhidayat.work/series/kratix/12-production-reference-architecture-repository/</guid><description>We have reached the end of our journey. In this final episode, we combine everything we have learned—Kratix, Crossplane, ArgoCD, Vault, Prometheus, and Backstage—into a single, comprehensive reference architecture diagram that you can use to build your enterprise IDP.</description></item><item><title>Kratix Ep 9: Promise CI/CD with GitHub Actions</title><link>https://rhidayat.work/series/kratix/09-promise-cicd-github-gitlab/</link><pubDate>Sun, 09 Aug 2026 21:30:00 +0000</pubDate><guid>https://rhidayat.work/series/kratix/09-promise-cicd-github-gitlab/</guid><description>Platform Engineers write code too. When you build a complex Promise, you must compile the Pipeline container, lint the YAML, and safely deploy it to the Platform Cluster. In this episode, we build a robust GitHub Actions CI/CD pipeline to automate the lifecycle of Kratix Promises.</description></item><item><title>Crossplane Ep 15: Building an IDP with Backstage</title><link>https://rhidayat.work/series/crossplane/advanced/15-building-an-idp-with-backstage/</link><pubDate>Sun, 09 Aug 2026 19:40:00 +0000</pubDate><guid>https://rhidayat.work/series/crossplane/advanced/15-building-an-idp-with-backstage/</guid><description>We have built the APIs, the translation engine, the GitOps pipeline, and the security webhooks. But developers still have to write YAML to request a database. In this final episode, we integrate Crossplane with Backstage to create the ultimate Internal Developer Portal (IDP).</description></item><item><title>Crossplane Ep 10: Introduction to Composition Functions</title><link>https://rhidayat.work/series/crossplane/intermediate/10-composition-functions-introduction/</link><pubDate>Sun, 09 Aug 2026 18:40:00 +0000</pubDate><guid>https://rhidayat.work/series/crossplane/intermediate/10-composition-functions-introduction/</guid><description>YAML is excellent for configuration, but terrible for programming. As your Platform scales, you will inevitably need &lt;code&gt;for&lt;/code&gt; loops, complex &lt;code&gt;if/else&lt;/code&gt; logic, and external API calls. In this final intermediate episode, we introduce Composition Functions—the architecture that allows you to write Crossplane logic in Turing-complete languages.</description></item><item><title>Crossplane Ep 9: Troubleshooting Sync Errors</title><link>https://rhidayat.work/series/crossplane/intermediate/09-troubleshooting-crossplane-sync-errors/</link><pubDate>Sun, 09 Aug 2026 18:30:00 +0000</pubDate><guid>https://rhidayat.work/series/crossplane/intermediate/09-troubleshooting-crossplane-sync-errors/</guid><description>When you run &lt;code&gt;terraform apply&lt;/code&gt;, you get immediate red text in your console if an AWS API call fails. Because Crossplane is an asynchronous control loop, &lt;code&gt;kubectl apply&lt;/code&gt; always succeeds immediately. When a database fails to boot 10 minutes later, how do you find the error? In this episode, we learn the Crossplane troubleshooting cascade.</description></item><item><title>Crossplane Ep 7: Environment Configs</title><link>https://rhidayat.work/series/crossplane/intermediate/07-environment-configs/</link><pubDate>Sun, 09 Aug 2026 18:10:00 +0000</pubDate><guid>https://rhidayat.work/series/crossplane/intermediate/07-environment-configs/</guid><description>If your company has three clusters (Development, Staging, and Production), you do not want to write three different Compositions for the same RDS database. In this episode, we learn how to use Crossplane EnvironmentConfigs to inject global context (like AWS Account IDs, VPC IDs, and Regions) dynamically into your Compositions.</description></item><item><title>Pulumi Ep 11: The Automation API (Embedded Pulumi)</title><link>https://rhidayat.work/series/pulumi/advanced/11-automation-api/</link><pubDate>Sun, 09 Aug 2026 16:00:00 +0000</pubDate><guid>https://rhidayat.work/series/pulumi/advanced/11-automation-api/</guid><description>Running &lt;code&gt;pulumi up&lt;/code&gt; from a CLI is great for Platform Engineers, but what if you want to build a self-service Internal Developer Portal (IDP) where developers click a button on a web page to provision a database? The Pulumi Automation API allows you to embed the entire Pulumi Engine inside your own Node.js, Python, or Go applications.</description></item><item><title>Kratix Ep 1: Introduction to Kratix &amp; The Platform-as-a-Product Paradigm</title><link>https://rhidayat.work/series/kratix/01-introduction-to-kratix/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://rhidayat.work/series/kratix/01-introduction-to-kratix/</guid><description>Explore Kratix architecture, the Platform-as-a-Product paradigm, and how Kratix transforms Kubernetes into a composable Internal Developer Platform.</description></item><item><title>Mastering Kratix: Building Composable Internal Developer Platforms on Kubernetes</title><link>https://rhidayat.work/series/kratix/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://rhidayat.work/series/kratix/</guid><description>Master Kratix to deliver self-service infrastructure and application capabilities to development teams with Promises, Workflows, Pipelines, and GitOps.</description></item></channel></rss>