← Index03 / 05 · Ephemeral
Disposable Azure environmentsTerraform / Bash / Microsoft Azure2025

Ephemeral

One command creates the Azure stack. A TTL makes sure it knows when to leave.

View repository
Ephemeral project cover
Shipped productDesigned + built by Aymen Bowran
README.mdmain / public

because not everything
needs to live forever.

I was tired of rebuilding the same Azure setup and relying on somebody to remember the cleanup. So I wrapped the Terraform in one Bash interface: name the environment, choose its lifetime, add only the services you need, and write the deletion time at creation.

Use it for
Feature branches, demos, proofs of concept and temporary staging.
Do not use it for
Anything you plan to explain with “we’ll delete it later.”
  1. 01CreateName it, choose a TTL, pick the optional services../create-env.sh --name demo --ttl 4
  2. 02TagOwner, cost centre and deletion time travel with every resource.DestroyAfter=+4h
  3. 03LeaveThe cleanup job finds expired stacks and removes them../cleanup-expired.sh --force
AYMEN@AZURE: ~/ephemeral-environment-QOLmain● connected
3 resources · approx. €0.14 · deletion scheduled at creation
$./create-env.sh --name portfolio-demo --ttl 4 --with-database

The command is real enough to inspect.
The infrastructure is simulated here because this is a portfolio, not your Azure bill.

Terraform + Bash / AzureChange the flags, then run the command.
Under the command

The shortcut is small. The stack is not.

AlwaysResource groupVNet + subnetsNetwork securityPrivate DNS
OptionalPostgreSQLLinux App ServiceContainer registryCost export
Every time1–168 hour TTL7 tracking tagsCron-ready cleanupTerraform outputs
Typical four-hour stack~€0.14

An estimate from the repository, not a made-up “cost reduction” graph.

Next projectOutages, without the noiseSignal