Mikel Martin

Projects

Infrastructure I have designed and built, with architecture diagrams, and other software I have built. The first four are the best picture of how I work; three of them are open source.

Infrastructure

Architecture diagram: a core server running CI, deploys and observability, and separate dev and production servers joined by an overlay network

Reference platform for small software teams

The platform I set up for small software teams on bare metal: a core server running CI, GitOps deploys and monitoring with alerts; separate dev and production servers, each with a deploy agent and a secrets agent, joined by an encrypted overlay network behind a reverse proxy with automatic TLS; encrypted backups from production. Everything in Docker and defined as code.

Bare metalGitOpsDockerObservabilityBackups
Architecture diagram: a Go agent on a server behind a customer firewall dials out over WireGuard to a control plane

devops-agent

A Go agent for servers inside networks you don't control. It only dials out, over WireGuard, and never opens an inbound port. Allowlisted commands with no shell, GitOps apply with health checks and automatic rollback, signed self-updates that can undo themselves, and Prometheus metrics.

GoWireGuardGitOpsSecurity
View on GitHub
Architecture diagram: one Firecracker microVM per session inside jailer, cgroups and seccomp layers, with an nftables egress allowlist

microvm-terminal

One Firecracker microVM per user session, booted in about 3 seconds and destroyed on exit or idle, to run an AI coding agent safely. Layered isolation: jailer, cgroups v2, a custom seccomp filter and an nftables egress allowlist that lets out only DNS, the AI API and package mirrors.

FirecrackerKVMGoIsolation
View on GitHub
Architecture diagram: a controller watches CI across repos and dispatches one agent to fix a red build, then verifies CI on the fix

devops-guardian

Keeps the main branch of several repositories green. When CI turns red, a controller sends one headless agent into a clean worktree to fix it, then trusts only the CI verdict on that fix. Built after the naive version failed with several agents and people pushing to the same branch.

CI/CDPythonAI agents
View on GitHub

Other software I have built