Alex Freidah

Infrastructure & Platform Engineering


Munchbox

A hybrid homelab platform built on HashiCorp Nomad, Consul, and Vault. The cluster spans bare-metal nodes, Proxmox VMs, and Oracle Cloud free-tier instances connected over WireGuard across amd64 and arm64 architectures. Managed with Terraform and Ansible, monitored with Prometheus, Grafana, Loki, and Tempo.

View on GitHub

Built for the munchbox

s3-orchestrator
s3-orchestrator

Combines multiple S3-compatible storage backends into a single unified endpoint with per-backend quota enforcement.

  • Supports any S3-compatible backend (OCI, Backblaze B2, IDrive e2, MinIO, AWS, etc.)
  • Per-backend byte quotas and monthly API/ingress/egress quota enforcement
  • Configurable placement strategies (pack, spread)
  • Virtual buckets with isolated namespaces and independent credentials
  • Optional cross-backend replication/failover and envelope encryption
g3
g3

An S3-compatible HTTP gateway that uses Gmail and Google Drive as the storage backend.

  • Object data in Google Drive, metadata as Gmail emails with JSON pointers
  • Local SQLite or PostgreSQL index for zero-API-call metadata operations
  • Buckets map to Gmail labels, works with AWS CLI and any S3 SDK
  • Multipart upload support for large files
  • SigV4 authentication, Prometheus metrics, and OpenTelemetry tracing
nomad-temporal-jobs
nomad-temporal-jobs

Temporal workflow workers that automate daily backups, Trivy vulnerability scanning, and stale allocation cleanup.

  • Automated PostgreSQL/Consul/Nomad backups to S3
  • Trivy vulnerability scanning of all running container images
  • Stale allocation cleanup on Nomad client nodes via SSH
  • Transient vs. permanent error classification with configurable retry
  • OpenTelemetry tracing and Prometheus metrics
cloudflare-log-collector
cloudflare-log-collector

Polls the Cloudflare GraphQL Analytics API for firewall events and HTTP traffic, then ships them into Loki, Prometheus, and Tempo.

  • WAF/firewall event collection pushed to Loki as structured JSON
  • Aggregated HTTP traffic stats exposed as Prometheus gauges
  • Automatic log-trace correlation via injected trace_id/span_id
  • Cloudflare rate limit handling with Retry-After support
  • OpenTelemetry tracing per poll cycle
oracle-watchdog
oracle-watchdog

Detects when Oracle Cloud reclaims free-tier instances and automatically stop/start cycles them back to life via the OCI API.

  • Consul session heartbeats with configurable TTL
  • Automatic OCI stop/start cycle on missed heartbeats
  • Duplicate restart prevention via in-flight tracking
  • Configurable max consecutive restart attempts per node
  • Dry-run mode for testing

What I Work With

Go Nomad Consul Vault Terraform Ansible Docker WireGuard Prometheus Grafana Loki Tempo PostgreSQL Temporal Traefik Cloudflare Oracle Cloud Proxmox Linux