Tech Stacks

My preferred technology stacks for infrastructure, development, and operations across different use cases.

2025-11-26

Daniel Bodnar

Table of content
  1. Tech Stacks
  2. Infrastructure Stack
  3. Container Orchestration
  4. Cloud & IaC
  5. Storage
  6. Observability Stack
  7. Metrics
  8. Logging
  9. Tracing
  10. CI/CD Stack
  11. Primary: GitLab-based
  12. Alternative: GitHub-based
  13. Development Stack
  14. Languages (by preference)
  15. Backend
  16. Frontend (when needed)
  17. Databases
  18. Security Stack
  19. Network Security
  20. Vulnerability Management
  21. Secrets Management
  22. Database Stack
  23. PostgreSQL Setup
  24. Data Pipeline
  25. Local Development
  26. Operating System
  27. Editor & Tools
  28. Modern CLI Replacements
  29. Version Management
  30. Homelab Stack
  31. Hardware
  32. Software
  33. Project Templates
  34. Microservice Template
  35. Infrastructure Template
  36. Related Pages

Tech Stacks

My preferred and battle-tested technology combinations for various infrastructure, development, and operational scenarios.


Infrastructure Stack

My go-to stack for building reliable, scalable infrastructure.

Container Orchestration

Layer Primary Alternative
Orchestration Kubernetes Docker Swarm
Runtime containerd cri-o, Podman
Networking Cilium, Calico Flannel
Service Mesh Linkerd Istio
Ingress Traefik Nginx Ingress
Load Balancing MetalLB HAProxy

Cloud & IaC

Layer Primary Alternative
Cloud Provider AWS Cloudflare, DigitalOcean
IaC Tool Terraform AWS CDK
Config Management Ansible Salt
Secrets HashiCorp Vault AWS Secrets Manager
Provisioning iPXE + cloud-init Packer

Storage

Use Case Primary Alternative
Filesystem ZFS ext4, XFS
Object Storage MinIO S3
Block Storage NVMe direct Ceph
Backup restic Borg

Observability Stack

Comprehensive monitoring, logging, and tracing setup.

Metrics

Prometheus (collection) 
    -> VictoriaMetrics (long-term storage)
    -> Grafana (visualization)
    -> Alertmanager (alerting)
Component Tool Purpose
Collection Prometheus Metrics scraping
Storage VictoriaMetrics Long-term TSDB
Visualization Grafana Dashboards
Alerting Alertmanager Alert routing
Real-time NetData Live system monitoring

Logging

Application -> FluentBit (collection)
    -> Loki (aggregation)
    -> Grafana (querying)
Component Tool Purpose
Collection FluentBit Log shipping
Aggregation Loki Log storage & indexing
Search Grafana Log exploration
Alternative ELK Stack Full-text search

Tracing

Component Tool Purpose
Instrumentation OpenTelemetry Trace generation
Backend Jaeger Trace storage & UI
Correlation Grafana Unified view

CI/CD Stack

GitOps-focused continuous delivery pipeline.

Primary: GitLab-based

Code -> GitLab CI 
    -> Build (Docker/Kaniko)
    -> Test (Unit/Integration)
    -> Security Scan (Trivy)
    -> Deploy (ArgoCD/Helm)
Stage Tool Purpose
Source Control GitLab Repository & CI
Build Kaniko Container builds
Registry Harbor Image storage
Security Trivy Vulnerability scanning
Deploy ArgoCD GitOps deployment
Packaging Helm K8s manifests

Alternative: GitHub-based

Stage Tool Purpose
Source Control GitHub Repository
CI GitHub Actions Workflows
Registry GHCR Container registry
Deploy Flux GitOps

Development Stack

Tools and technologies for application development.

Languages (by preference)

  1. Rust - Systems programming, CLI tools, high-performance
  2. TypeScript - Application development, strict mode
  3. Go - Infrastructure tooling, microservices
  4. Bash/Nushell - Scripting, automation

Backend

Component Primary Alternative
Runtime Bun Node.js
Framework Hono Elysia
Validation Zod -
ORM Drizzle Prisma

Frontend (when needed)

Component Primary Alternative
Framework Astro Vue 3, Svelte
Styling Tailwind CSS -
Components SolidJS Lit

Databases

Use Case Primary Alternative
Relational PostgreSQL SQLite
Analytical DuckDB ClickHouse
Cache Redis -
Search Meilisearch Elasticsearch

Security Stack

Defense-in-depth security tooling.

Network Security

Layer Tool Purpose
VPN WireGuard Site-to-site, remote access
Access Teleport Zero-trust access
Firewall nftables Host firewall
WAF Cloudflare Web application firewall

Vulnerability Management

Layer Tool Purpose
Container Trivy Image scanning
Host Wazuh HIDS, compliance
Network OpenVAS Network scanning
Dependencies Dependabot Dependency updates

Secrets Management

Layer Tool Purpose
Primary HashiCorp Vault Dynamic secrets
K8s Native External Secrets K8s integration
Backup SOPS Git-encrypted secrets

Database Stack

Production database configurations.

PostgreSQL Setup

PostgreSQL (primary)
    -> Patroni (HA clustering)
    -> PgBouncer (connection pooling)
    -> WAL-G (backup/archiving)
    -> pg_stat_statements (monitoring)
Component Tool Purpose
Database PostgreSQL 16+ Primary database
HA Patroni Automatic failover
Pooling PgBouncer Connection management
Backup WAL-G Point-in-time recovery
Monitoring pg_stat_statements Query analysis

Data Pipeline

Sources -> DuckDB (transformation)
    -> PostgreSQL (storage)
    -> Grafana (visualization)

Local Development

My local development environment setup.

Operating System

Component Choice
OS Arch Linux
Shell Nushell (primary), Zsh (fallback)
Terminal Alacritty / Kitty
Multiplexer tmux

Editor & Tools

Component Tool
Editor Neovim (Lua config)
IDE Zed, VS Code
Git UI lazygit
File Manager yazi

Modern CLI Replacements

Classic Modern
grep rg (ripgrep)
find fd
cat bat
ls eza
sed sd
diff delta

Version Management

Tool Purpose
mise Runtime version management
direnv Environment per directory

Homelab Stack

My personal homelab infrastructure.

Hardware

Component Specs
Primary HPE DL385 Gen10, Dual Epyc 7601, 512GB RAM, 30TB NVMe
Development HPE DL380 Gen8, similar specs
Networking 56G InfiniBand FC SAN
Storage ZFS pools

Software

Layer Tool
Hypervisor Proxmox VE
Containers Kubernetes (kubeadm)
Storage ZFS + MinIO
Networking WireGuard mesh
Monitoring Prometheus + Grafana

Project Templates

Typical configurations for new projects.

Microservice Template

project/
├── cmd/
│   └── server/
│       └── main.go
├── internal/
│   ├── config/
│   ├── handlers/
│   └── services/
├── deploy/
│   ├── kubernetes/
│   └── docker/
├── .gitlab-ci.yml
├── Dockerfile
├── go.mod
└── README.md

Infrastructure Template

infrastructure/
├── terraform/
│   ├── modules/
│   ├── environments/
│   │   ├── dev/
│   │   ├── staging/
│   │   └── prod/
│   └── main.tf
├── ansible/
│   ├── playbooks/
│   ├── roles/
│   └── inventory/
├── kubernetes/
│   ├── base/
│   └── overlays/
└── docs/