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.1.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.1-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flashenv-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 7248d39d86140122671d94d88b941b15e6587601596833fec201f1c9c5bfe4d4
MD5 c930c83090d203de3835b771397e5b85
BLAKE2b-256 13be3135a8ef77b482579a610528248160c513e15285a9c3b5382ede3c9c2c5f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flashenv-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ed656a5338a79f0910593fd0d5122519d5d3a3d4ac0b2ee73987966326a92bd5
MD5 2427071fd9065beb98c3f9111bc77267
BLAKE2b-256 1e80f1a25760d6d80be1759e0169f19105421ef341d2f2c20ac574502d6a922d

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