# The Zentered Blog

The latest news and other posts from Zentered.

- [One Worker, One Deploy: Running Roadbook on Cloudflare](https://zentered.co/articles/building-roadbook-on-cloudflare/) — A single Cloudflare Worker server-renders our Astro app, queries SQLite at the edge, runs durable background jobs, and fires cron. Here is what that bought us, what we gave up, and the migration that cascade-wiped nine tables before we learned to guard it.
- [Orchestrating GitHub with Terraform](https://zentered.co/articles/github-orchestration-with-terraform/) — Using Terraform to manage and automate GitHub repositories, teams, and permissions.
- [Building Open Communities with GitHub](https://zentered.co/articles/building-open-communities-with-github/) — A concept for building open communities with GitHub and GitHub Actions
- [Time Series Data with TDEngine and GraphQL](https://zentered.co/articles/time-series-data-with-tdengine-and-graphql/) — Collecting and querying time-series data from IoT devices with TDEngine and GraphQL
- [GitHub (Preview) Deployments with Google Cloud Platform](https://zentered.co/articles/preview-builds-with-cloud-run/) — Create and managed GitHub Deployments and Environments with Google Cloud Build and Cloud Run
- [Environment Variable Management with Terraform and Google Cloud Secrets Manager](https://zentered.co/articles/environment-variable-managent-with-terraform/) — Using Secrets Manager to synchronize local environment variables with Google Cloud
- [Fastify DX and SolidJS in the Real World](https://zentered.co/articles/fastify-dx-and-solidjs-in-the-real-world/) — SolidJS ranked #1 in the 2021 "State of JS Front-End Frameworks", so we wanted to see what the fuzz is about and tried to build a real application with it.
- [MDX 2 with Next.js and Embed Components (ESM version)](https://zentered.co/articles/nextjs-with-mdx2/) — Markdown for the component era.
- [Issue Ops Meet Event Management](https://zentered.co/articles/events-meet-issue-ops/) — An engineering approach to event management for technical user groups.
- [Authenticated requests with Vite + React 18 + Hummingbird Swift API](https://zentered.co/articles/auth0-with-vite-react-swift/) — Setting up a React 18 Single Page Application with Vite tooling and Next.js-like routing pattern, including authentication with Auth0 and API requests.
- [Deploying a Swift API on AWS Elastic Container Service with CodePipeline](https://zentered.co/articles/deploying-swift-api-on-aws/) — We wanted to see how to get a Swift API running on Amazon Web Services (AWS). Easier than said, we quickly realized there are a lot of different products needed in AWS, so we created a new Terraform project to consistently re-create the environment.
- [Deploying a Swift API on Google Cloud Run with Google Cloud Build](https://zentered.co/articles/deploying-swift-api-on-google-cloud/) — Recently we started a Swift API proof of concept and wanted to see if we can deploy the service with "the tools we know" from Node.js: continuous integration in the cloud and deployment to serverless / managed k8s platforms. TL;DR: It works! And very similar to working with Node.js services.
- [Getting Started with Swift on Server](https://zentered.co/articles/getting-started-with-swift-server/) — Swift on Server has been around for a few years now, and Swift is an interesting language to learn for mobile development. It feels quite similar to JavaScript with the new async/await features and is easily readable.
- [Serverless v3.0.0](https://zentered.co/articles/serverless-v3-0-0/) — Cloud Native from source to production with semantic-release and conventional commits.
- [Hardening GitHub Actions in Private Repositories](https://zentered.co/articles/hardening-github-actions-in-private-repositories/) — Security measures for GitHub Actions.
- [Set up an Async Fastify App with Jest](https://zentered.co/articles/setup-async-fastify-with-jest-test/) — Proof of concept to test a Fastify App which uses asynchronous plugins.
- [Running a Next.js Site on Cloudflare Pages](https://zentered.co/articles/nextjs-on-cloudflare/) — Step by step tutorial on how to deploy your website on Cloudflare Pages.
- [Product Docs Alongside Product Code (with Next.js)](https://zentered.co/articles/product-documentation-with-nextjs/) — If you have an open source project on GitHub and want a separate company or project website, a common problem to solve is: where do you version control and how do you present your docs?
- [Universal/Isomorphic Web Apps on Google Cloud Run](https://zentered.co/articles/universal-app-on-google-cloud-run/) — We'll demonstrate how to run a JavaScript application on Google Cloud run with Server Side Rendering (SSR), a global Content Delivery Network (CDN) on Google Cloud Run (fully managed).
- [Going Serverless, without serverless.](https://zentered.co/articles/going-serverless-without-serverless/) — Automated deployment of serverless functions with Cloud Build.
- [Serverless Sales Automation](https://zentered.co/articles/serverless-sales-automation/) — How to capture and organise your customers with Typeform and Infusionsoft.
- [Our First Retreat](https://zentered.co/articles/our-first-retreat/) — Our experience organizing a company retreat.
- [GitHub Pro Tips for Projects with Multiple Repositories](https://zentered.co/articles/github-pro-tips-for-projects-with-multiple-repositories/) — GitHub Pro Tips for Projects with Multiple Repositories. A good practice when working with multiple services in the same project is to create a new repository for each service. And since GitHub changed the pricing from “per repo” to “per user”, companies were not restricted to 10 repositories any longer to save money.
- [How to manage multiple repositories](https://zentered.co/articles/how-to-manage-multiple-repositories/) — Today we’d like to share a few more helpers from our toolbox. We already shared our Makefile for Node.js Developers some time ago, these tools require the Makefile to be set up.
- [Serverless v2.0.0](https://zentered.co/articles/serverless-v2-0-0/) — serverless on steroids with semantic-release, automated continuous integration and automated deployments to Google Cloud Functions.
- [Service to Service communication with Hemera and NATS](https://zentered.co/articles/service-to-service-communication-with-hemera-and-nats/) — How to increase scalability, performance and maintainability of your software.
- [Makefile for Node.js developers](https://zentered.co/articles/makefile-for-node-js-developers/) — Andreas Möller recently posted his Makefile for lazy developers approach for PHP developers, which motivated me to publish our Node.js Makefiles and the story how we got there.
