Zap: v1.5.0 Release

Release date:
November 17, 2025
Previous version:
v1.4.0 (released March 6, 2024)
Magnitude:
4,709 Diff Delta
Contributors:
2 total committers
Data confidence:
Commits:

Top Contributors in v1.5.0

issmirnov
dependabot-bot

Directory Browser for v1.5.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

πŸŽ‰ Major New Feature: Kubernetes Deployment

Zap can now be deployed to Kubernetes for network-wide URL shortcuts! Deploy once, use everywhere on your network.

What's New

🐳 Docker Support - Multi-stage Alpine-based image (15.3MB) - Multi-arch: linux/amd64, linux/arm64 - Published to ghcr.io/issmirnov/zap - Security hardened: non-root, read-only filesystem - Built-in health checks

☸️ Helm Chart (deploy/helm/zap/) - Production-ready defaults - LoadBalancer support (MetalLB, Cilium BGP, cloud providers) - ConfigMap hot reload (no pod restart needed) - Health probes configured - Horizontal pod autoscaling support - Security contexts (non-root, dropped capabilities) - Example configs: Cilium BGP, MetalLB, HA, dev

πŸ“¦ Plain Kubernetes Manifests (deploy/kubernetes/) - Simple deployment without Helm - Namespace, ConfigMap, Deployment, Service - Production-ready defaults

πŸ”„ CI/CD Testing - Automated Helm chart testing with kind - Tests real Kubernetes deployments on every PR - Validates redirects actually work - Multi-arch Docker builds - 3 parallel test jobs (~5min total)

πŸ“š Comprehensive Documentation - Quickstart guide - Complete Kubernetes deployment guide - DNS configuration examples (dnsmasq, Pi-hole, router) - Troubleshooting guide - CI/CD documentation

Quick Start

# Using Helm
helm install zap ./deploy/helm/zap

# Using kubectl
kubectl apply -f deploy/kubernetes/

# Interactive
./deploy/quickstart.sh

Then configure DNS to point shortcuts to the LoadBalancer IP.

Architecture

Deploy Zap to Kubernetes with a LoadBalancer, configure network DNS (dnsmasq/Pi-hole) to resolve shortcuts to the LoadBalancer IP. All machines on the network can then use shortcuts without local installation.

Deployment Options

  • Self-hosted: MetalLB, Cilium BGP, kube-vip
  • Cloud: GKE, EKS, AKS (native LoadBalancer)
  • Local testing: kind, minikube

Technical Highlights

  • 150,000+ requests/second throughput
  • ~30MB RAM, ~50m CPU per pod
  • ConfigMap hot reload via inotify
  • Security hardened by default
  • Comprehensive CI/CD validation
  • Zero breaking changes (100% backward compatible)

Docker Image

docker pull ghcr.io/issmirnov/zap:v1.5.0
docker pull ghcr.io/issmirnov/zap:latest

Multi-arch support: linux/amd64, linux/arm64

Documentation

See docs/helm/ for complete documentation: - QUICKSTART.md - Quick reference - KUBERNETES.md - Complete deployment guide - CI-CD.md - CI/CD documentation

What Changed

Full Changelog: https://github.com/issmirnov/zap/compare/v1.4.0...v1.5.0

Key Commits: - 06171ae Add comprehensive Kubernetes deployment support - 5588f3f docs: Consolidate Helm documentation - e07beec docs: Move Helm/K8s docs to docs/helm/ - 3597cd6 Fix workflow triggers to avoid duplicate runs - f2846a3 Fix Dockerfile ENTRYPOINT for Kubernetes - daa38f6 Fix multi-arch Docker builds - e04d03e Add Helm chart CI/CD testing with kind

πŸ€– Generated with Claude Code