Platform ops
Delivery and operations: pipelines, deploys, monitoring and reproducible development environments.
Best notes
- Our publish step took 110 seconds, then 78. Our release tab took three tries.
Reading a CI log line by line cut memo's publish step from 110 to 78 seconds and exposed three silent bugs. Then agents started deploying all day, and the Releases tab…
- Dual-mode monitoring for memo.d.foundation
Learn about our dual approach to monitoring at memo.d.foundation, combining synthetic and instrumental monitoring to ensure system health and community engagement.
- Secure and transparent uptime monitoring with Upptime and GitHub secrets
Discover how Dwarves Foundation uses Upptime and GitHub Actions for transparent public uptime monitoring while securely keeping tabs on internal services.
- Devbox in production: our success story
How we transformed our development and deployment process with Devbox.
- Making keg management smarter for breweries
We helped Konvoy create technology that makes tracking and managing beer kegs simple and efficient. Their solution combines smart tracking with flexible rental options…
Reports
- Our publish step took 110 seconds, then 78. Our release tab took three tries.
Reading a CI log line by line cut memo's publish step from 110 to 78 seconds and exposed three silent bugs. Then agents started deploying all day, and the Releases tab…
- Dual-mode monitoring for memo.d.foundation
Learn about our dual approach to monitoring at memo.d.foundation, combining synthetic and instrumental monitoring to ensure system health and community engagement.
- Secure and transparent uptime monitoring with Upptime and GitHub secrets
Discover how Dwarves Foundation uses Upptime and GitHub Actions for transparent public uptime monitoring while securely keeping tabs on internal services.
- Devbox in production: our success story
How we transformed our development and deployment process with Devbox.
Case studies
- Making keg management smarter for breweries
We helped Konvoy create technology that makes tracking and managing beer kegs simple and efficient. Their solution combines smart tracking with flexible rental options…
Research notes
- Using Devbox to setup local development environment
Expanded section that focuses on Devbox and its practices on setup a local development environment.
- Our docker adoption and its challenges
Our second Devbox session, where we discussed our Docker adoption and challenges.
- The world before Docker
A brief history about the world before Docker and why we need devbox for local development
- Deploying a branch of a monorepo with the Vercel CLI and GitHub Actions
Learn how to deploy specific apps in a monorepo to Vercel using GitHub Actions and Vercel CLI, optimizing builds by detecting changes and managing branch-based…
- How blue-green deployment helped Mochi Bot ship updates
Learn how implementing blue-green deployment with Argo Rollouts on Kubernetes improved Mochi Bot’s updates by eliminating downtime and ensuring seamless releases for…
- Gitflow and pull requests: branching models, reviews and workflows
Learn the best Git workflows, branching models, commit message tips, pull request strategies, code review practices, and merge vs rebase guidance to boost team…
- How we set up CI/CD at Dwarves
Learn how Dwarves simplifies CI/CD with Gitlab, Github Actions, automated linting, testing, previewing, building Docker images, and deploying to Kubernetes for faster,…
Show all 22 notes
- Set up Devbox: local and global shells, devbox.json and a containerless Go backend
A hands-on Devbox guide: run a local or global shell, configure devbox.json, and build a Go API with PostgreSQL and no containers.
- Why Docker builds drift and how Nix pins them: unstable packages, shadow copies, nixpkgs and fixed hashes
Why the same Dockerfile gives different images over time, and how Nix fixes it with pinned nixpkgs, fixed-output derivations and layered image builds.
- Why we use Devbox, from Docker's limits to Nix shells, flakes, services and plugins
Why Dwarves moved local development from Docker to Devbox, how it compares with plain Nix, and how Nix shells, flakes, Devbox services and plugins work.
- Radio talk 60 blue green deployment
Learn how blue-green deployment reduces downtime and risk by switching traffic between identical environments, improving software reliability and flexibility for…
- Kubeseal and Sops: managing Kubernetes secrets in public repositories
Learn how to securely manage Kubernetes secrets using Kubeseal and Sops to encrypt and store secrets safely in public repos while ensuring only your cluster can decrypt…
- Feature flags: switching features on and off at runtime
Feature flags let software teams enable or disable features during runtime, supporting beta testing, A/B experiments, and smoother releases without multiple code…
- Progressive delivery: gradual releases with feature flags and CI/CD
Progressive delivery lets teams release new software features gradually using feature flags and mature CI/CD pipelines to reduce risks and improve user experience.
- Blue-green deployment on Kubernetes with Argo Rollouts
Learn how to implement blue-green deployment in Kubernetes using Argo Rollouts to reduce downtime, improve reliability, and smoothly switch between production…
- Git basics: tracking changes, branching and collaborating
Learn how Git, the popular version control system, helps developers track changes, manage branches, and collaborate effectively using workflows like GitHub flow and…
- Git commit message convention: types, scopes and subjects
Learn how to write clear git commit messages using types, scopes, and subjects with practical examples to improve your team's coding workflow and commit history.
- About DevOps: continuous integration, automation and collaboration
Learn how DevOps improves software delivery with continuous integration, automation, testing, and collaboration between development and operations for faster, reliable…
Playbooks
- Application health checks and status pages
A convention for application health endpoints, with /healthz status pages in plain and JSON format, HTTP status codes and load balancer checks.
- Environments
The five environments every project needs (local, CI, testing, staging, production) and what each one is for.
- Incident management and postmortems
How we report and classify incidents by priority, plus a blameless postmortem template with a 5 Whys example.
- Logging system
How we structure and centralize system and business logs, with the Grafana Loki stack for search and Sentry for error tracking.
- Repository setup
What every repository must provide, including one-command run and deploy, a Dockerfile, a health check and minimum documentation.
- Source version control
Commit message and branch conventions, the Github flow, contributing to forks, and everyday git recovery commands.
- The 12-factor app
How Dwarves applies each of the twelve factors in real projects, from codebase and config to builds, logs and admin processes.
- LLM prompt for metrics planning
A comprehensive prompt template to get tailored metrics recommendations for any system. Use this with ChatGPT, Claude, or other LLMs to design monitoring that actually…
Show all 12 playbooks
- Continuous integration
How we approach continuous integration and delivery, covering practices, pipeline setup, a flow diagram, and checklists for tagging, caching and deploys.
- Dotfiles
Why we keep dotfiles in git and use an automated script to set up a developer laptop in minutes.
- Logging and monitoring
What to track in a frontend app, from error tracing to loading time, interactivity, visual stability and events.
- Release checklist
A pre-release checklist covering git, testing, changelog, dependencies, database, variables, monitoring, environments and notifications.
Series
Tags in this topic
Writers
neko-anon16, baenv8, huynguyenh4, zlatanpham3, lmquang2, nguyennh45222, tieubao2