<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog on Down To Zero</title>
    <link>https://downtozero.cloud/posts/</link>
    <description>Recent content in Blog on Down To Zero</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://downtozero.cloud/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Hosting a static site in a container</title>
      <link>https://downtozero.cloud/posts/2025/hosting-static-site/</link>
      <pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/hosting-static-site/</guid>
      <description>&lt;p&gt;Most of our hosted sites are statically rendered, built with tools like Hugo, Zola, or Jekyll. In general, all those site renderers take simplified input (usually Markdown) and generate well-defined HTML as output. This leaves the question: how can I host such a site?&lt;/p&gt;&#xA;&lt;p&gt;There are specialized providers offering hosting for static sites, but as you know, we took a different path when building our core infrastructure. For our cloud, the common denominator for deployment is a container. And with that comes the question: how can I go from a static site build to a container that hosts the website?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Experimenting with Varlink: Building a Hello World IPC Service</title>
      <link>https://downtozero.cloud/posts/2025/varlink-experiments/</link>
      <pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/varlink-experiments/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;ve ever tried to get different processes on a Linux system to talk to each other efficiently, you know the landscape is&amp;hellip; let&amp;rsquo;s say, fragmented. We have D-Bus, Unix sockets with custom protocols, REST APIs over localhost, gRPC, and countless other approaches. Each comes with its own complexity, tooling requirements, and learning curve.&lt;/p&gt;&#xA;&lt;p&gt;Recently, I stumbled upon &lt;a href=&#34;https://varlink.org/&#34;&gt;Varlink&lt;/a&gt; (and its newer Rust-centric sibling &lt;a href=&#34;https://github.com/z-galaxy/zlink&#34;&gt;Zlink&lt;/a&gt;), and it immediately clicked with what we&amp;rsquo;re trying to achieve at DownToZero. We&amp;rsquo;re building infrastructure that needs reliable, low-overhead inter-process communication - from container orchestration to machine settings management. The more I dug into Varlink, the more I realized this could be exactly what we need.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why Every Object Deserves a Lifecycle: Building Greener Storage with DTZ ObjectStore</title>
      <link>https://downtozero.cloud/posts/2025/object-lifecycle/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/object-lifecycle/</guid>
      <description>&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;&#xA;&lt;p&gt;In cloud development, we often treat storage as infinite. Every log, backup, or dataset we create is preserved indefinitely - not because it’s always useful, but because deletion feels risky. Yet this mindset quietly drives up both cost and carbon impact.&lt;/p&gt;&#xA;&lt;p&gt;The truth is: &lt;strong&gt;most stored objects should not live forever&lt;/strong&gt;. From transient build artifacts to temporary exports and short-lived analytics datasets, much of the data we produce has a natural lifespan. The challenge lies in aligning that lifecycle with our systems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let&#39;s Encrypt support for our MCP Server</title>
      <link>https://downtozero.cloud/posts/2025/tls-for-our-mcp-server/</link>
      <pubDate>Sat, 18 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/tls-for-our-mcp-server/</guid>
      <description>&lt;p&gt;Continuing our journey with our MCP documentation server from our &lt;a href=&#34;https://downtozero.cloud/posts/2025/mcp-server-for-documentation/&#34;&gt;previous post&lt;/a&gt;, we can dig a little deeper into the TLS story, and how we are generating the &lt;strong&gt;Let&amp;rsquo;s Encrypt&lt;/strong&gt; certificate on startup.&lt;/p&gt;&#xA;&lt;p&gt;If you want to see the full source code, the github repo is linked at the bottom of the post.&lt;/p&gt;&#xA;&lt;p&gt;So let&amp;rsquo;s look a little closer at the details. When we tried to get our MCP server integrated into ChatGPT and Gemini, the requirement for TLS came up. Since we also use Let&amp;rsquo;s Encrypt all over DownToZero, we mostly reused the process in this container.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a MCP Server for Service Documentation</title>
      <link>https://downtozero.cloud/posts/2025/mcp-server-for-documentation/</link>
      <pubDate>Fri, 10 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/mcp-server-for-documentation/</guid>
      <description>&lt;p&gt;As a fun project, we wanted to expose our official documentation — which is also hosted &lt;a href=&#34;https://downtozero.cloud/docs&#34;&gt;here&lt;/a&gt; — as an MCP server. The idea was to test whether this would make developing our own platform easier, since our AI-based IDEs would have less difficulty checking architectural knowledge against an easy-to-consume public endpoint.&lt;/p&gt;&#xA;&lt;p&gt;Now, starting very naively, we came up with the following plan to implement this.&lt;/p&gt;&#xA;&lt;p&gt;As a short teaser, here is what we want to build.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scale-To-Zero postgresql databases</title>
      <link>https://downtozero.cloud/posts/2025/scale-to-zero-postgres/</link>
      <pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/scale-to-zero-postgres/</guid>
      <description>&lt;p&gt;We always aim to build services as resource-efficient as possible. This is true for the services we offer externally and, just as importantly, for our own internal infrastructure. Many of our internal tools, like billing and monitoring systems, rely on PostgreSQL databases. While essential, these databases often sit idle for long periods, consuming RAM and CPU cycles for no reason.&lt;/p&gt;&#xA;&lt;p&gt;So, we asked ourselves: can we apply our scale-to-zero philosophy to our own databases? The answer is yes. We&amp;rsquo;ve developed a system to provision PostgreSQL instances that only run when they are actively being used. This design is incredibly resource-efficient but does come with some trade-offs, which we&amp;rsquo;ll explore.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seamless Deployments with the DTZ GitHub Action</title>
      <link>https://downtozero.cloud/posts/2025/github-deployment/</link>
      <pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/github-deployment/</guid>
      <description>&lt;h2 id=&#34;eliminating-wasted-cycles-in-deployment&#34;&gt;Eliminating Wasted Cycles in Deployment&lt;/h2&gt;&#xA;&lt;p&gt;At DownToZero, we’re committed to eliminating waste - whether it&amp;rsquo;s in compute, energy, or operational overhead. One challenge many teams face in containerized environments is handling updates to container images. Traditionally, deployments often rely on &lt;strong&gt;polling for updates&lt;/strong&gt; when using tags like &lt;code&gt;latest&lt;/code&gt;. This leads to unnecessary requests, increased latency for updates, and inefficient resource usage.&lt;/p&gt;&#xA;&lt;p&gt;To address this, we are introducing a new way to integrate deployments directly with GitHub Actions. With the newly developed &lt;a href=&#34;https://github.com/DownToZero-Cloud/containers-service-update&#34;&gt;DTZ GitHub Action&lt;/a&gt;, container image updates can now be &lt;strong&gt;pushed directly&lt;/strong&gt; from your GitHub pipeline into DownToZero. This means no more waiting, no more polling—just immediate, streamlined deployments.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sync Your Folder to ChatGPT: the story behind `openai-folder-sync`</title>
      <link>https://downtozero.cloud/posts/2025/openai-folder-sync/</link>
      <pubDate>Fri, 29 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/openai-folder-sync/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;https://downtozero.cloud/images/2025/openai-sync.webp&#34;&#xA;    alt=&#34;Depicting a local directory being synched into a chat-bubble with the openai logo&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;A while back I kept running into the same problem: I had a bunch of notes, specs, and markdown docs on my laptop, but when I opened ChatGPT and asked questions about them, the model obviously didn’t know they existed. Copy-pasting files was tedious; manually uploading one by one wasn’t much better. So I built a tiny CLI that does the boring bit for me: &lt;code&gt;openai-folder-sync&lt;/code&gt;, a command-line tool that syncs a local directory to an &lt;strong&gt;OpenAI Vector Store&lt;/strong&gt;, so those files become searchable context for ChatGPT.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Letting an LLM Review Our Pull Requests (So You Don&#39;t Have To)</title>
      <link>https://downtozero.cloud/posts/2025/pr-reviews/</link>
      <pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/pr-reviews/</guid>
      <description>&lt;p&gt;We love automation. We use it to power our infrastructure, to scale workloads down to zero, and—increasingly—to shrink the amount of human attention needed to ship high-quality code. One place that still felt stubbornly manual was &lt;strong&gt;pull-request reviews&lt;/strong&gt;. Between Cursor as our IDE, ChatGPT/Codex for prototyping, and &lt;code&gt;gemini-cli&lt;/code&gt; for quick checks, our local workflows were fast—but CI still waited for a human.&lt;/p&gt;&#xA;&lt;p&gt;So we asked a simple question: could we let a large language model read the diff, spot issues, and comment directly on the PR?&lt;/p&gt;</description>
    </item>
    <item>
      <title>rss2email: a calmer, faster UI</title>
      <link>https://downtozero.cloud/posts/2025/rss2email-redesign/</link>
      <pubDate>Sat, 02 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/rss2email-redesign/</guid>
      <description>&lt;p&gt;We’ve refreshed &lt;strong&gt;rss2email&lt;/strong&gt; with a cleaner layout and tighter workflows. The service stays lightweight, but the things you do every day—add feeds, check freshness, tune emails—are now faster and easier.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Live demo: &lt;a href=&#34;https://rss2email.dtz.rocks/&#34;&gt;https://rss2email.dtz.rocks/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://downtozero.cloud/images/2025/rss2email-navigation.png&#34;&#xA;    alt=&#34;Down to zero dashboard with rss2email alongside other services&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;The dashboard puts rss2email next to your other services for quick access.&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;whats-new-and-why-its-nicer&#34;&gt;What’s new (and why it’s nicer)&lt;/h2&gt;&#xA;&lt;h3 id=&#34;a-glanceable-overview&#34;&gt;A glanceable overview&lt;/h3&gt;&#xA;&lt;p&gt;The &lt;strong&gt;FEEDS&lt;/strong&gt; home shows counts for upcoming notifications (1 day, 1 week, 1 month) plus the total number of subscriptions. It’s the “how noisy will my inbox be?” sanity check.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OAuth Authentication for the Container Registry</title>
      <link>https://downtozero.cloud/posts/2025/registry-oauth/</link>
      <pubDate>Sun, 06 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/registry-oauth/</guid>
      <description>&lt;p&gt;Our container registry now speaks the same OAuth dialect as the rest of the DownToZero (DTZ) platform. If you already mint bearer tokens for any DTZ API, you can log in to &lt;code&gt;cr.dtz.rocks&lt;/code&gt; with &lt;strong&gt;zero extra configuration&lt;/strong&gt;. This change completes our long-term goal of &lt;strong&gt;one identity, one token, everywhere&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-we-added-oauth&#34;&gt;Why we added OAuth&lt;/h2&gt;&#xA;&lt;p&gt;The registry originally accepted API keys only. While these keys remain supported, they lack the fine-grained scopes and short lifetimes that OAuth brings. A JWT issued by the DTZ Identity service carries role information such as &lt;code&gt;containerregistry/admin/{context_id}&lt;/code&gt; and expires automatically, shrinking the blast radius if it ever leaks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing Multi-Language Support on the DownToZero Homepage</title>
      <link>https://downtozero.cloud/posts/2025/multi-language/</link>
      <pubDate>Sat, 28 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/multi-language/</guid>
      <description>&lt;p&gt;Today we&amp;rsquo;re thrilled to unveil a long-awaited improvement to the DownToZero experience: our homepage is now available in &lt;strong&gt;five&lt;/strong&gt; languages. In addition to English you can read every section in German (DE), French (FR), Italian (IT) and Spanish (ES). Whether you&amp;rsquo;re researching our energy-efficient infrastructure in europe, the content should now feel familiar and approachable in your native tongue.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://downtozero.cloud/posts/2025/multi-lang-banner.webp&#34; alt=&#34;banner&#34;&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h1 id=&#34;why-multi-language-matters&#34;&gt;Why Multi-Language Matters&lt;/h1&gt;&#xA;&lt;p&gt;Cloud technology is global by nature, but language barriers still slow teams down. We constantly heard from users who loved the idea of sustainable, scale-to-zero infrastructure yet found technical details intimidating when presented only in English. By translating our public pages we reduce friction for non-English-speaking builders and make our climate-friendly mission clearer for everyone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding support for Remote MCP Server in our infrastructure</title>
      <link>https://downtozero.cloud/posts/2025/remote-mcp-support/</link>
      <pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/remote-mcp-support/</guid>
      <description>&lt;p&gt;Down-to-Zero (DTZ) has always been about doing &lt;strong&gt;more with fewer watts and fewer bytes&lt;/strong&gt;. From scale-to-zero container scheduling to solar-powered build runners, every service we ship is measured against a ruthless baseline: &lt;em&gt;could this run happily on a fan-less notebook CPU in the sun?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Today we are excited to announce the next step on that journey - &lt;strong&gt;remote Model Context Protocol (MCP) servers that you can spin up as lightweight Docker containers inside any DTZ context.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Raising the Bar: New SLOs at 99 % (and 99.9 % for Overall Health)</title>
      <link>https://downtozero.cloud/posts/2025/updated-slo/</link>
      <pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/updated-slo/</guid>
      <description>&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Metric&lt;/th&gt;&#xA;          &lt;th&gt;Old SLO&lt;/th&gt;&#xA;          &lt;th&gt;&lt;strong&gt;New SLO&lt;/strong&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Any DTZ customer-facing service&lt;/td&gt;&#xA;          &lt;td&gt;95 %&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;99 %&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;dtz overall health&lt;/strong&gt; (aggregated heartbeat)&lt;/td&gt;&#xA;          &lt;td&gt;95 %&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;99.9 %&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;br/&gt;&#xA;The new objectives take effect **1 July 2025** and will be measured over the same rolling 30-day window you already know from the [status page](https://status.dtz.rocks).  &#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;why-were-ready-for-an-extra-nine&#34;&gt;Why we&amp;rsquo;re ready for an extra nine&lt;/h2&gt;&#xA;&lt;p&gt;Over the past year our platform has quietly evolved from “promising” to “battle-hardened”:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Data speaks:&lt;/strong&gt; Since April 1 we&amp;rsquo;ve logged &lt;strong&gt;11 production incidents&lt;/strong&gt; totalling &lt;strong&gt;7 h 28 m&lt;/strong&gt; of downtime. That&amp;rsquo;s 99.66 % availability for a 75-day stretch—already above the new global target.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Overall health is rock solid:&lt;/strong&gt; The aggregated &lt;em&gt;dtz overall health&lt;/em&gt; probe has been unavailable for only &lt;strong&gt;16 m&lt;/strong&gt; in 2025 to date, translating to &lt;strong&gt;99.97 %&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Mean time to recovery (MTTR) shrank 42 %&lt;/strong&gt; thanks to automatic rollbacks, blue/green deploys and a growing suite of smoke tests.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Observability everywhere:&lt;/strong&gt; Every critical path now emits RED metrics (rate, errors, duration) and SLO burn alerts feed directly into on-call slack channels.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;what-changes-for-you&#34;&gt;What changes for you&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tighter error budgets.&lt;/strong&gt; With 99 % availability a service may now be down for ~7 h 18 m per month (previously ~36 h). For the 99.9 % overall-health check the allowance is just &lt;strong&gt;43 m&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Faster incident response.&lt;/strong&gt; Pager thresholds are being shortened from 3 m to 60 s of failing probes so we can act before you notice.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Transparent credits.&lt;/strong&gt; If we breach the SLO, service credits will land automatically—no ticket required. The updated ToS goes live next week.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Richer public telemetry.&lt;/strong&gt; Latency percentiles and burn-rate graphs will be added to each component on the status page so you can correlate issues with your own dashboards.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;how-well-stay-inside-budget&#34;&gt;How we&amp;rsquo;ll stay inside budget&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Redundant probes&lt;/strong&gt; from three regions for every heartbeat.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Instant deploy rollbacks.&lt;/strong&gt; 90 % of reversions already complete in under three minutes; the goal is sub-one-minute.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;chaos drills&lt;/strong&gt; keep recovery playbooks fresh.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Sustainable ops, not wasteful ops.&lt;/strong&gt; We continue to run on carbon-aware schedules; more nines do &lt;strong&gt;not&lt;/strong&gt; mean more megawatts.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;a-quick-look-at-the-numbers&#34;&gt;A quick look at the numbers&lt;/h2&gt;&#xA;&lt;p&gt;Since &lt;strong&gt;1 April 2025&lt;/strong&gt; we have seen:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Physical locations of our datacenter</title>
      <link>https://downtozero.cloud/posts/2025/physical-location/</link>
      <pubDate>Fri, 06 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/physical-location/</guid>
      <description>&lt;p&gt;At Down To Zero (DTZ) we believe a modern cloud platform can — and should — be both &lt;em&gt;blazingly reliable&lt;/em&gt; &lt;strong&gt;and&lt;/strong&gt; &lt;em&gt;gentle on the planet&lt;/em&gt;.&lt;br&gt;&#xA;Our answer is a twin-site architecture that pairs a private, solar-powered micro-datacenter in Leipzig with a fully redundant footprint inside Hetzner&amp;rsquo;s flagship facility in Falkenstein. Together they give us three things every customer cares about:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Consistent performance&lt;/strong&gt; (low-latency paths inside Germany)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Provable sustainability&lt;/strong&gt; (100 % renewable energy, measured &amp;amp; monitored)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fault tolerance&lt;/strong&gt; (geographic isolation, automated fail-over)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Below we dig into the what, why, and how.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing Our CustomGPT: A Powerful New Addition to the DownToZero project</title>
      <link>https://downtozero.cloud/posts/2025/adding-a-support-chatbot/</link>
      <pubDate>Sun, 16 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/adding-a-support-chatbot/</guid>
      <description>&lt;p&gt;We&amp;rsquo;re excited to announce a groundbreaking addition to our help support the DownToZero project: a CustomGPT. This new feature takes our technical documentation and support capabilities to the next level, enabling you to streamline workflows and get answers faster than ever. Below, we&amp;rsquo;ll walk through how CustomGPT works, highlight its key benefits, and show you why we believe it will become an indispensable tool for your DownToZero projects.&lt;/p&gt;&#xA;&lt;p&gt;⸻&lt;/p&gt;&#xA;&lt;h1 id=&#34;what-is-customgpt&#34;&gt;What Is CustomGPT?&lt;/h1&gt;&#xA;&lt;p&gt;CustomGPT is a specialized, AI-driven chatbot that goes beyond simple Q&amp;amp;A. Powered by advanced natural language processing, it is trained on our comprehensive DownToZero documentation. In addition to explaining our docs clearly, CustomGPT has two standout capabilities:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to log into the container registry</title>
      <link>https://downtozero.cloud/posts/2025/container-registry-login/</link>
      <pubDate>Wed, 26 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2025/container-registry-login/</guid>
      <description>&lt;h1 id=&#34;preparations&#34;&gt;Preparations&lt;/h1&gt;&#xA;&lt;p&gt;Before you can use the DTZ container registry, you need to enable the service first.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Enable the service&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://downtozero.cloud/images/2025/enable-cr.png&#34; alt=&#34;enable container registry instructions&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Access the container registry dashboard&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://downtozero.cloud/images/2025/enabled-cr.png&#34; alt=&#34;container regsitry dashbord link&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Container Registry Dashboard&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://downtozero.cloud/images/2025/cr-dashboard.png&#34; alt=&#34;container registry dashboard&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;Testing the registry endpoint&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;You can click the link on the dashboard to test your registry instance. This link should lead you to the following page.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://downtozero.cloud/images/2025/cr-admin-portal.png&#34; alt=&#34;container registry site&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;After completing the setup, you need to retrieve your instance URL from the container registry dashboard, in this case, &lt;code&gt;https://66fc19af.cr.dtz.dev/&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using DTZ Objectstore for Terraform state files</title>
      <link>https://downtozero.cloud/posts/2024/using-objectstore-for-terraform-state/</link>
      <pubDate>Sat, 28 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2024/using-objectstore-for-terraform-state/</guid>
      <description>&lt;p&gt;We use Terraform a lot either to test our own infrastructure or deploy projects within DownToZero.&lt;/p&gt;&#xA;&lt;p&gt;Since DTZ is supported as &lt;a href=&#34;https://downtozero.cloud/posts/2024/terraform-support/&#34;&gt;provider&lt;/a&gt; we started implementing projects on top of it. One thing that regualarly was coming up is the location of the state file. Checking the state in the git repo is usually not a good idea (although it still better than keeping it local), but having some for of remote state helps a lot with running TF in pipelines and making the state independent of the project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Worker Node Setup of DownToZero</title>
      <link>https://downtozero.cloud/posts/2024/node-setup/</link>
      <pubDate>Mon, 23 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2024/node-setup/</guid>
      <description>&lt;p&gt;Last year we already did a blog post on the &lt;a href=&#34;https://downtozero.cloud/posts/2023/building-our-own-nodes/&#34;&gt;hardware setup of DownToZero&lt;/a&gt;. Since then we are using the same setup for a while now and wanted to share an update.&lt;/p&gt;&#xA;&lt;h1 id=&#34;energy-consumption&#34;&gt;Energy consumption&lt;/h1&gt;&#xA;&lt;p&gt;Since we decided to purely use notebook chips, our energy consumption is significantly lower then desktop machine. Also our mode to only power the machine during times that solar power is available lead us to near zero power grid consumption.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Implementing our own Terraform provider to allow infrastructure automation</title>
      <link>https://downtozero.cloud/posts/2024/terraform-support/</link>
      <pubDate>Thu, 12 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2024/terraform-support/</guid>
      <description>&lt;p&gt;We started implementing our own Terraform provider since we think automation is key to cloud adoption.&lt;/p&gt;&#xA;&lt;p&gt;You can find our provider at github under&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/DownToZero-Cloud/terraform-provider-dtz&#34;&gt;https://github.com/DownToZero-Cloud/terraform-provider-dtz&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;and over at the Hashicorp terraform site:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://registry.terraform.io/providers/DownToZero-Cloud/dtz/latest&#34;&gt;https://registry.terraform.io/providers/DownToZero-Cloud/dtz/latest&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This provider give every customer another path of accessing DTZ resources and implemting their automation/IaaS on top of our services.&lt;/p&gt;&#xA;&lt;p&gt;To setup the provider you need to generate an API-key through the website. We currently only support apikey authentication.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A non-technical explanation of DownToZero</title>
      <link>https://downtozero.cloud/posts/2024/a-non-technical-explanation/</link>
      <pubDate>Fri, 12 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2024/a-non-technical-explanation/</guid>
      <description>&lt;p&gt;From time to time, we get the question of explaining DownToZero and what makes it stand out from other cloud services to non-technical people. We&amp;rsquo;ve tried various explanations, but we found an analogy that resonates with most people. We wanted to share it here to make our principle accessible to more people.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;After a long workday, you are driving home. Arriving at your house, you pull into your driveway, turn off the car, and go into the house. Even if you plan to go shopping later that day, you still turn off the car because leaving it running seems wasteful.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Re-packaging the Swagger UI as a Rust module</title>
      <link>https://downtozero.cloud/posts/2024/swagger-ui-dist/</link>
      <pubDate>Tue, 21 May 2024 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2024/swagger-ui-dist/</guid>
      <description>&lt;p&gt;All our services need to have a Swagger UI for presenting its current OpenAPI file to the user. Since our backend is completely built with Rust, hosting this Swagger UI is also done through a Rust process.&lt;/p&gt;&#xA;&lt;p&gt;So to make the &lt;a href=&#34;https://github.com/swagger-api/swagger-ui&#34;&gt;Swagger UI&lt;/a&gt; a first degree citizen in the Rust ecosystem, we decided to re-package the Swagger-UI as Rust module. This way, dependabot can pick up update to the underlying project und pull those dependencies into our projects.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[new feature] Status page added</title>
      <link>https://downtozero.cloud/posts/2024/status-page/</link>
      <pubDate>Fri, 10 May 2024 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2024/status-page/</guid>
      <description>&lt;p&gt;To further improve our offering we intruce a status page to our stack. This page is externally hosted, so it will keep running even if everything else is failing.&lt;/p&gt;&#xA;&lt;p&gt;This will provide a single entry point for communicating issues and provide transparancy when service failed.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://status.dtz.rocks/&#34;&gt;status.dtz.rocks&lt;/a&gt;&lt;/p&gt;&#xA;&lt;style&gt;&#xA;p a{&#xA;    display: block;&#xA;    text-align: center;&#xA;}&#xA;&lt;/style&gt;</description>
    </item>
    <item>
      <title>Building our own nodes</title>
      <link>https://downtozero.cloud/posts/2023/building-our-own-nodes/</link>
      <pubDate>Sun, 10 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2023/building-our-own-nodes/</guid>
      <description>&lt;p&gt;Ever since we started measuring our energy demand, we also started to develop concepts on how we could improve energy efficiency. Customizing our own machines more then just the software seems obvious, but it is also easier said then done.&lt;/p&gt;&#xA;&lt;p&gt;First we had to look out on what hardware we want to build upon. Most cloud providers start with rather heavy workload machine and are optimising for peak load. Our setup was different and we wanted to move the needle on the low end, not the high end. That meant that traditional servers were not really in scope for this task. Looking around the market, something between small form factor ARM or RISC-V machine seemed like an easy choice.&#xA;sadly getting those machine into a more server like setup takes quite some preparation. Also we saw 2 properties missing from all of those setups.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Metrics for calculating the cost of processing</title>
      <link>https://downtozero.cloud/posts/2023/metrics-for-calculating-cost/</link>
      <pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2023/metrics-for-calculating-cost/</guid>
      <description>&lt;p&gt;Every cloud platform must have some metric of cost assiciaated with its services. For most public cloud offerings, the target metrics for cost are usually CPU core count and amount of memory. That gets multiplied by the amount of time used and we arrive at usage-based pricing.&lt;/p&gt;&#xA;&lt;p&gt;This model has its pros and cons, so let&amp;rsquo;s iterate a little over this.&lt;/p&gt;&#xA;&lt;h4 id=&#34;the-pros&#34;&gt;The Pros&lt;/h4&gt;&#xA;&lt;p&gt;Since all cost is tied to a usage pattern, the goal ist to reduce cost by reducing usage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Server Timing on all Endpoints</title>
      <link>https://downtozero.cloud/posts/2023/server-timing-on-all-endpoints/</link>
      <pubDate>Sun, 07 May 2023 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2023/server-timing-on-all-endpoints/</guid>
      <description>&lt;p&gt;Since we can only improve on what we measure, we started implementing the Server Timing API on all HTTP endpoints.&lt;/p&gt;&#xA;&lt;p&gt;The API provides simple means to extend the http header with some performance measurements.&lt;/p&gt;&#xA;&lt;p&gt;For some general introduction into the topic you can check the mozilla documentation on it (&lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Server-Timing&#34;&gt;https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Server-Timing&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;As for the actual implementation, we use the following Rust implementation, which provides us with performance data for axum server out of the box, (&lt;a href=&#34;https://crates.io/crates/axum-server-timing&#34;&gt;https://crates.io/crates/axum-server-timing&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Solar Powered GitHub Runner</title>
      <link>https://downtozero.cloud/posts/2023/solar-powered-github-runner/</link>
      <pubDate>Sat, 15 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2023/solar-powered-github-runner/</guid>
      <description>&lt;p&gt;The more our little project progresses, the more code we produce. And like most of our community these days, we host our code on GitHub.&lt;/p&gt;&#xA;&lt;p&gt;So during development we discussed the implications of a DownToZero architecture for something like a GitHub process. We quickly identified two types of actions that need to be performed on the infrastructure.&lt;/p&gt;&#xA;&lt;p&gt;The first is the CI build, which should always provide immediate feedback to the developer. It checks for compliance as well as code integrity and is usually deeply involved in the development process. These jobs are time-sensitive because someone is usually waiting for them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RSS a better decentral alternative</title>
      <link>https://downtozero.cloud/posts/2023/rss-a-better-decentral-alternative/</link>
      <pubDate>Thu, 05 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2023/rss-a-better-decentral-alternative/</guid>
      <description>&lt;p&gt;Why RSS is a decentralized, open-source subscription method superior to centralized options like social networking.&lt;/p&gt;&#xA;&lt;p&gt;In today&amp;rsquo;s digital world, it can be easy to get overwhelmed by the vast amount of information available online. Using a subscription service is one way to stay organised and keep track of the content that interests you. There are a number of different options, including social media networks and RSS feeds. In this article, we&amp;rsquo;re going to take a look at why RSS is a better decentralised, open-source system for subscribing to content than centralised alternatives such as social networks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>scale-to-zero with containers</title>
      <link>https://downtozero.cloud/posts/2023/scale-to-zero-containers/</link>
      <pubDate>Mon, 02 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2023/scale-to-zero-containers/</guid>
      <description>&lt;p&gt;Scale-to-zero architectures have gained popularity in recent years as a way to optimize resource utilization and reduce costs in cloud-based deployments. In a scale-to-zero architecture, idle resources are automatically scaled down to zero, freeing up resources and reducing costs. This is in contrast to traditional architectures, where idle resources are still allocated and consuming resources, even if they are not actively being used.&lt;/p&gt;&#xA;&lt;p&gt;One way to implement a scale-to-zero architecture is through the use of containers. Containers are lightweight, isolated environments that allow developers to package their applications and dependencies into a single unit, making it easy to deploy and run applications in any environment. Containers have become a popular choice for deploying cloud-based applications due to their portability, scalability, and ease of use.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[new service] rss to email</title>
      <link>https://downtozero.cloud/posts/2022/rss2email-service/</link>
      <pubDate>Tue, 13 Sep 2022 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2022/rss2email-service/</guid>
      <description>&lt;p&gt;Under the umbrella of our &lt;code&gt;flows&lt;/code&gt; service, which provides easy to use integration services, we implemented a RSS to Email (RSS2Email) service.&lt;/p&gt;&#xA;&lt;p&gt;After enabling the service within a context, you can access the service through header field.&lt;/p&gt;&#xA;&lt;div style=&#34;text-align: center;&#34;&gt;&#xA;&lt;img src=&#34;https://downtozero.cloud/images/rss2email-empty.png&#34; style=&#34;max-width:90%;max-height:300px;object-fit: contain;&#34;/&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;First thing that has to be filled is the target email address. All notification will go out to this single adress. If you want to send certains feeds to another address, you need to open a new context.&lt;/p&gt;</description>
    </item>
    <item>
      <title>added some documentation</title>
      <link>https://downtozero.cloud/posts/2022/added-some-documentation/</link>
      <pubDate>Tue, 08 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2022/added-some-documentation/</guid>
      <description>&lt;p&gt;One Year in and progress is still slow and steady. this month we added a &lt;a href=&#34;https://downtozero.cloud/docs/&#34;&gt;documentation page&lt;/a&gt; to the site.&#xA;This way the changes will be more transparent and easier to follow.&lt;/p&gt;</description>
    </item>
    <item>
      <title>time for a new perspective</title>
      <link>https://downtozero.cloud/posts/2021/time-for-a-new-perspective/</link>
      <pubDate>Tue, 02 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://downtozero.cloud/posts/2021/time-for-a-new-perspective/</guid>
      <description>&lt;p&gt;IT infrastructure has become cheap. Building a highly available system with multi-machine, multi-datacenter, even multi-regional architectures can be easily achieved with just a credit card. Building fast-performing systems on top became the defacto standard for computing and data storage. Today more and more effort is put into vertical and horizontal scaling to achieve lower latency and to reach customers faster. And while in general, this is a good idea, the cost for these kinds of architectures is not just money. Scaling a &amp;lsquo;simple&amp;rsquo; website to a multi-regional approach can easily take tens of machines, all always on, all ready to perform on the incoming requests.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
