mayfly
Ephemeral environments. Delightfully fast.
One YAML spec spins up a full isolated environment — S3, Postgres/RDS, Kafka, Redis, your apps — in an isolated Kubernetes namespace.
A TTL reaper destroys it automatically.
lives fast. gone by sunset.
One spec, full stack
Declare S3 buckets, RDS databases, ElastiCache, Kafka topics, and app deployments in one YAML file. Everything spins up together. Everything tears down together.
Truly isolated
Each environment is one Kubernetes namespace, deterministically named from a seed. Teardown is namespace deletion — no leftovers, ever.
Self-cleaning
TTLs on everything. mayfly reap and the reaper delete expired environments automatically. Live fast, clean fast. Leave no trace.
/ how it works
> Local emulation, cloud-compatible
AWS-compatible emulator running in-cluster behind http://aws:4566. Swap it out if you like. Your apps don't care.
> No Docker socket. No privileged pods.
We don't mount your Docker socket.
We don't need privileged pods.
We don't touch real AWS.
Sleep well.
> Secrets as the contract
Every service's endpoints and credentials are delivered as Kubernetes Secrets. Your apps consume Secrets. That's it.
> Deterministic naming
Names derived from the seed.
Predictable, shareable, scriptable.
Perfect for PRs and previews.
/ cli reference
mayfly up env.yaml
mayfly status env.yaml
mayfly list
mayfly render env.yaml
mayfly extend env.yaml --ttl 4h
mayfly down env.yaml
mayfly reap
/ install
Requires: kubectl + any Kubernetes cluster (k3d is plenty).
Or: pip install mayfly