Running Gitea Locally with OpenTofu
A pinned Gitea 1.27 on OrbStack's Kubernetes, provisioned end to end with OpenTofu: Gateway API instead of Ingress, and a CI runner that reaches the host Docker daemon without Docker-in-Docker.
Practical writing on AWS, automation, and keeping platforms calm under load.
No fluff - just lessons from real engagements.
A pinned Gitea 1.27 on OrbStack's Kubernetes, provisioned end to end with OpenTofu: Gateway API instead of Ingress, and a CI runner that reaches the host Docker daemon without Docker-in-Docker.
Taking a full LZA and Control Tower deployment back out again: why the order is forced, the CloudFormation deadlock nobody documents, and what the sweep costs.
Wiring AWS Labs' lza-mcp-server into the container deployment from Part 2, then pointing its diagnosis tool at a real failure to see whether it finds the issue.
The deployment report. A Control Tower landing zone I had to build by hand because the account failed the prerequisites, fourteen failed SSM automation runs, and the guardrail that LZA created, attached to itself, and then got locked out.
Before standing up a fresh AWS Landing Zone Accelerator v1.16.2 environment on the ECS container pipeline instead of CodePipeline, I spent a morning on the release notes, the container/ folder in the repo, and the lza-universal-configuration v1.3.1 release. Here is what that research turned up.
How I moved manuel-vogel.de to vogel-johnson.com: Next.js on Amplify SSR, a CDK-built lead pipeline with DynamoDB and SES, and a 301 cutover that didn't break my SEO.
How to properly use AI tools and a framework around it to build production-ready software in a spec-driven way.
A tour from job grouping to dynamic child pipelines, and a look at the experimental functions feature, every example run on a real GitLab 19 instance.
The 2024 hand-run GitLab-on-OrbStack setup, now codified in OpenTofu: GitLab 19, the modern runner token flow, and one `task up`.
Occasional, no-fluff writing on AWS, DevOps, and running platforms that stay up. No spam, unsubscribe anytime.