Skip to main content

Flashenv is a CLI tool designed for developers who need a fresh, isolated Docker environment in seconds

Project description

⚡ Flashenv

The fastest way to spin up disposable Docker environments on AWS.

Python 3.14+ License: MIT Code Style: Ruff

FlashEnv is a CLI tool designed for developers who need a fresh, isolated Docker environment in seconds. It automates the boring stuff: creating EC2 instances, configuring Security Groups, managing SSH keys, and installing Docker.

Stop paying for idle staging servers. Spin it up, test your code, and nuke it when you're done.


🚀 Features

  • 1-Command Deploy: Launches an EC2 instance and auto-installs Docker.
  • 💸 Spot Mode: Use AWS Spot Instances to save up to 70% on costs (--spot).
  • 🔐 Zero-Config SSH: Connect instantly with flashenv env ssh <name>. No key management required.
  • 🐳 Docker Integration: Auto-pulls your specified image and fetches logs remotely.
  • 💰 FinOps: Real-time cost estimation based on your region's pricing.
  • ☢️ Nuke Protocol: One command to tear down everything (Instances, Keys, SGs) and stop billing immediately.

🛠️ Prerequisites

  1. Python 3.10+ installed.
  2. AWS Account with an Access Key and Secret Key.
  3. AWS CLI configured (optional, but recommended):
    aws configure
    
    (Or simply export AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY in your terminal).

📦 Installation

Option 1: Via Pip

pip install flashenv

Option 2: Via Poetry (Recommended for Devs)

git clone https://github.com/zoldik333/flashenv.git
cd src
poetry install
poetry shell

⚡ Quickstart

1. Initiatilize

Sets up the local database, generates a secure SSH key pair, and uploads it to AWS.

flashenv init

2. Launch an environment

Create a t2.micro instance running Nginx on a Spot Instance (cheap!).

flashenv env create web-test --image nginx --spot

3. Connect

SSH directly into the box.

flashenv env ssh web-test

4. Check logs

View the logs of your remote container to debug applications.

flashenv env logs web-test

5. Display costs

See how much you've spent so far (Real-time estimate).

flashenv cost

5. Destroy

Remove the environment when you are done.

flashenv env delete web-test

Remove everyting completely.

flashenv nuke

📦 Config structure

Configuration files and state are stored in your home directory.

~/.flashenv/
├── id_rsa          # Private SSH key (Permissions 600)
├── id_rsa.pub      # Public SSH key (Uploaded to AWS)
└── state.json      # Local database of active environments

📄 License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flashenv-0.1.0.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flashenv-0.1.0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file flashenv-0.1.0.tar.gz.

File metadata

  • Download URL: flashenv-0.1.0.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.14.2 Darwin/25.2.0

File hashes

Hashes for flashenv-0.1.0.tar.gz
Algorithm Hash digest
SHA256 98f9dbb3fd8b3a0a1a6c3583a11b308defa16b2f52c26307c2449d3d24dc8b8a
MD5 ff97b51f02a5f920b3f60ee29154c991
BLAKE2b-256 94df7dd060e8be7588cfdfe27eea3c732fe4bec42abe11a5a46bd9adfca7a7ff

See more details on using hashes here.

File details

Details for the file flashenv-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: flashenv-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.14.2 Darwin/25.2.0

File hashes

Hashes for flashenv-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91afe5bcdb617f197a27d85d9a419949a19093deefcf5e013d3ad02ce3d9c018
MD5 0456b0a87fd881b8b43dd8b4d5babb9b
BLAKE2b-256 dd62a5d70efc3e689d1db15f1653e141e76c47c24904e6907eff3c6d7056b0c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page