<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://infaloom.github.io/nursery/blog/</id>
    <title>Nursery Blog</title>
    <updated>2025-11-18T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://infaloom.github.io/nursery/blog/"/>
    <subtitle>Nursery Blog</subtitle>
    <icon>https://infaloom.github.io/nursery/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Initial Release]]></title>
        <id>https://infaloom.github.io/nursery/blog/initial-release/</id>
        <link href="https://infaloom.github.io/nursery/blog/initial-release/"/>
        <updated>2025-11-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Today we are open-sourcing Nursery, the opinionated blueprint we use to run Infaloom's production workloads on a lean budget.]]></summary>
        <content type="html"><![CDATA[<p>Today we are open-sourcing <strong>Nursery</strong>, the opinionated blueprint we use to run Infaloom's production workloads on a lean budget.</p>
<p>The project documents everything we've learned while standing up a six-node <a href="https://k3s.io/" target="_blank" rel="noopener noreferrer" class="">K3s</a> cluster on <a href="https://www.hetzner.com/" target="_blank" rel="noopener noreferrer" class="">Hetzner Cloud</a> with Pulumi for provisioning, Ansible for day-two automation, and a security-first stance powered by OpenBao + External Secrets. The full stack comes in at <strong>EUR&nbsp;187.34/month</strong> (November&nbsp;2025) and is designed for small teams that need production reliability.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-you-get-in-v1">What you get in v1<a href="https://infaloom.github.io/nursery/blog/initial-release/#what-you-get-in-v1" class="hash-link" aria-label="Direct link to What you get in v1" title="Direct link to What you get in v1" translate="no">​</a></h2>
<ul>
<li class=""><strong>Core platform</strong> – Automated Hetzner bootstrap, HA control plane access via HAProxy, and Rook-Ceph backed storage across three 200 GB nodes for ~200 GB of triple replicated capacity.</li>
<li class=""><strong>Data services</strong> – CloudNativePG with scheduled S3-compatible off-site backups and Redis Sentinel (Bitnami legacy images) for stateful workloads.</li>
<li class=""><strong>App enablement</strong> – Harbor registry, ArgoCD GitOps, and ready-to-use Helm values for common building blocks.</li>
<li class=""><strong>Security + secrets</strong> – OpenBao as the source of truth with ExternalSecrets syncing into the cluster, plus documented ingress, TLS, and IP allowlist patterns.</li>
<li class=""><strong>Ops readiness</strong> – Step-by-step guides for monitoring, logging, disaster recovery, and everyday utilities, all pinned to tested tool versions for reproducibility.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-it-matters">Why it matters<a href="https://infaloom.github.io/nursery/blog/initial-release/#why-it-matters" class="hash-link" aria-label="Direct link to Why it matters" title="Direct link to Why it matters" translate="no">​</a></h2>
<p>Managed Kubernetes is fantastic, but it quickly eats into the budget of bootstrapped startups. Nursery shows that you can own the stack end-to-end, keep costs predictable, and still follow best practices for backups, observability, and multi-environment automation.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="dive-in">Dive in<a href="https://infaloom.github.io/nursery/blog/initial-release/#dive-in" class="hash-link" aria-label="Direct link to Dive in" title="Direct link to Dive in" translate="no">​</a></h2>
<ul>
<li class="">Start with the <a class="" href="https://infaloom.github.io/nursery/">introduction</a> for motivation, audience, and cluster specs.</li>
<li class="">Follow the <a class="" href="https://infaloom.github.io/nursery/development-environment/">development environment</a> and <a class="" href="https://infaloom.github.io/nursery/getting-started/">getting started</a> guides to mirror our toolchain.</li>
<li class="">Explore the service deep dives (CNPG, Redis, Harbor, ArgoCD, storage, secrets, DR, etc.) in documentation and keep an eye on the <a class="" href="https://infaloom.github.io/nursery/roadmap/">roadmap</a> for what is coming next.</li>
</ul>
<p>Questions, ideas, or battle stories from your own clusters are very welcome — open an issue or start a discussion so we can keep improving the stack together.</p>]]></content>
        <author>
            <name>Jovica Zarić</name>
            <uri>https://linkedin.com/in/jzaric</uri>
        </author>
    </entry>
</feed>