Skip to main content

A local DevOps readiness checker for safer deployments.

Project description

🩺 Pre-Deploy Doctor

Pre-Deploy Doctor is a local DevOps readiness checker that validates whether your environment is safe to deploy BEFORE you run Docker, kubectl, or CI/CD pipelines.

It runs 100% locally, requires no cloud accounts or AI, and is designed to catch common "stupid" mistakes before they hit your production infrastructure.

🚀 Features

  • Docker Health: Checks if Docker is installed and the daemon is actually running.
  • Environment Validation: Loads .env and validates that your required environment variables are set.
  • Port Conflicts: Identifies if required ports are already in use and shows the conflicting process name.
  • Kubernetes Context Safety: Warns you if your kubectl context isn't in your "allowed" list for the project.
  • Project Structure: Ensures critical files like Dockerfile are present.

📦 Installation

pip install predeploy-doctor

🛠 Usage

Run inside any project directory:

predeploy check

Configuration (predeploy.yaml)

Create a predeploy.yaml in your project root to customize the checks:

required_env:
  - DB_URL
  - SECRET_KEY

required_ports:
  - 3000
  - 5432

kubernetes:
  allowed_contexts:
    - dev
    - staging
    - minikube

📋 Sample Output

🩺 Pre-Deploy Doctor Report

✔ Docker is running
✔ Found Dockerfile
✔ All required environment variables are set
❌ Port 3000 already in use (Process: node)
⚠ Kubernetes context 'production' not in allowed list

==============================
Status: ❌ NOT SAFE TO DEPLOY

🔢 Exit Codes

  • 0: All checks passed (or only warnings). Safe to deploy.
  • 1: One or more critical checks failed. Deployment should be blocked.

📜 License

MIT

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

predeploy_doctor-0.1.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

predeploy_doctor-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: predeploy_doctor-0.1.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for predeploy_doctor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6e9804b8b330d4ec81361ec7b04a1396cf8b399183b40194b9ab5fec9f68fcfa
MD5 a19b9a323a2feedf9d95e84746678313
BLAKE2b-256 12ae52d68a2a7a49d0bd7c9cd2d12cdc9f617a8127bdb43ffa4173fab09048ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for predeploy_doctor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c5324ed2da17fbf8399920c01a02cf8d3f2869e88eda35ccbd6dd882e521d6a8
MD5 883b84def42da42e24cbd19fbdc22bde
BLAKE2b-256 217507602473fb9f936e366e18163e75c4c664f146d54a42db10f77f1654c879

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