Skip to main content

Internal Developer Platform CLI โ€” Self-service infrastructure, service creation, health monitoring, and dependency visualization for developers

Project description

๐Ÿš€ Internal Developer Platform (IDP) CLI

A powerful CLI tool that enables self-service infrastructure and service creation for developers, following modern Platform Engineering principles.

The IDP CLI automates the creation of production-ready services by generating repositories, CI/CD pipelines, Kubernetes deployments, and observability integrations โ€” enabling developers to bootstrap new services in seconds.


๐ŸŽฏ Problem

In many organizations, creating a new service requires multiple manual steps:

  • Requesting a repository
  • Setting up CI/CD pipelines
  • Writing Dockerfiles
  • Creating Kubernetes manifests
  • Configuring monitoring and alerts
  • Setting up environments

This process slows down development and increases operational overhead.


๐Ÿ’ก Solution

The Internal Developer Platform CLI provides a self-service developer platform where engineers can create fully configured services with a single command.

Example:

idp-cli create-service payment-service --template python-api

This automatically generates:

  • Service repository with application code
  • CI/CD pipeline (GitHub Actions / GitLab CI / Jenkins)
  • Docker configuration (multi-stage, non-root)
  • Kubernetes deployment manifests (with Kustomize overlays)
  • Environment configuration (dev / staging / production)
  • Monitoring setup (Prometheus rules, Grafana dashboards)
  • Documentation templates (README, deployment guide, architecture)

โœจ Features

๐Ÿ”ง Service Scaffolding

Generate production-ready microservices using prebuilt templates.

๐ŸŒ Backend APIs

Template Description Language Framework
python-api Production-ready Python API service Python FastAPI
node-api Production-ready Node.js API service JavaScript Express
go-api Production-ready Go API service Go Gin
rust-api High-performance Rust API service Rust Axum
python-graphql GraphQL API with Strawberry and FastAPI Python Strawberry
ml-inference Machine learning model inference API Python FastAPI

๐ŸŽจ Frontend Applications

Template Description Language Framework
react-frontend React frontend with TypeScript and Vite TypeScript React
nextjs-fullstack Full-stack application with Next.js TypeScript Next.js
static-site Modern static site with HTML, CSS, JS JavaScript Vanilla

๐Ÿ› ๏ธ Developer Tools

Template Description Language Framework
python-cli Command-line tool with Click and Rich Python Click
worker Background worker/job processing service Python Celery

โš™๏ธ CI/CD Automation

Automatically include CI/CD pipelines for new services.

Provider Pipeline Includes
github-actions Build, Test, Security scan, Docker build, Deploy
gitlab-ci Lint, Test, Security, Build, Deploy (staging + production)
jenkins Checkout, Lint, Test, Security, Docker build/push, Deploy

๐Ÿณ Containerization

Automatically generate optimized Docker configurations:

  • Multi-stage builds
  • Secure base images
  • Non-root containers
  • Health checks

โ˜ธ๏ธ Kubernetes Deployment

Generate Kubernetes manifests with Kustomize overlays:

  • Deployments with resource limits
  • Services (ClusterIP)
  • ConfigMaps
  • Horizontal Pod Autoscaler
  • Liveness, readiness, and startup probes
  • Environment-specific overlays (dev/staging/production)

๐Ÿ”„ GitOps Integration

Supports GitOps workflows:

Tool Generated Artifacts
argocd Application manifests per environment, AppProject
flux GitRepository source, Kustomization per environment

๐Ÿ“Š Observability Integration

Automatically configure monitoring:

  • Prometheus alerting rules (error rate, latency, pod restarts)
  • ServiceMonitor for Prometheus Operator
  • Grafana dashboard template (request rate, latency, errors, CPU, memory)

๐Ÿงฉ Multi-Environment Support

Environment-specific configuration via Kustomize overlays:

Environment Replicas CPU Limit Memory Limit
dev 1 250m 256Mi
staging 2 500m 512Mi
production 3 1000m 1Gi

๐Ÿฅ Service Health Monitoring

Monitor the health and availability of your deployed services across different environments.

# Check health of all services in dev environment
idp-cli health --environment dev

# Check health of a specific service
idp-cli health --service payment-api --environment staging

# Continuously monitor service health
idp-cli health --watch --interval 15

๐Ÿ”— Service Dependency Visualization

Understand service relationships and identify potential issues like circular dependencies.

# Show dependency tree
idp-cli deps --environment dev --format tree

# Show dependency table with deployment order
idp-cli deps --format table --deployment-order

# Generate Mermaid diagram for documentation
idp-cli deps --format mermaid

# Check for circular dependencies
idp-cli deps --check-cycles

๐ŸŒ Environment Status Check

Verify that your environment infrastructure is ready for deployments.

# Check all environment components
idp-cli env-status --environment dev

# Check specific component only
idp-cli env-status --component kubernetes --detailed

# Check production environment readiness
idp-cli env-status --environment production

๐Ÿ“„ Documentation Generation

Auto-generated documentation:

  • README.md โ€” Quick start, project structure, next steps
  • docs/deployment.md โ€” Deployment guide for all environments
  • docs/architecture.md โ€” Architecture overview and design principles

๐ŸŽฏ Template Coverage

The IDP CLI supports 11 production-ready templates covering the entire modern development stack:

Category Templates Use Cases
Backend APIs (6) python-api, node-api, go-api, rust-api, python-graphql, ml-inference Microservices, APIs, GraphQL, ML services
Frontend Apps (3) react-frontend, nextjs-fullstack, static-site SPAs, full-stack apps, marketing sites
Developer Tools (2) python-cli, worker CLI tools, background jobs, task processing

Each template includes:

  • โœ… Production-ready code with best practices
  • โœ… Comprehensive testing setup
  • โœ… Docker configuration (multi-stage, secure)
  • โœ… Kubernetes manifests with HPA
  • โœ… CI/CD pipelines (GitHub/GitLab/Jenkins)
  • โœ… Monitoring and observability
  • โœ… Environment-specific configs
  • โœ… Complete documentation

๐Ÿ“ฆ Installation

pip install idp-cli

Or install from source:

git clone https://github.com/NotHarshhaa/internal-developer-platform-cli.git
cd internal-developer-platform-cli
pip install -e .

๐Ÿ–ฅ๏ธ Usage

Create a Service

# Python API service
idp-cli create-service payment-service --template python-api

# Go API service
idp-cli create-service user-service --template go-api

# React frontend
idp-cli create-service web-app --template react-frontend

# Rust API service
idp-cli create-service auth-service --template rust-api

Create Service with Full Options

# Full-stack Next.js application with complete CI/CD
idp-cli create-service my-app \
  --template nextjs-fullstack \
  --ci github-actions \
  --deploy kubernetes \
  --gitops argocd \
  --output-dir ./services

# High-performance Go API with GitLab CI
idp-cli create-service api-gateway \
  --template go-api \
  --ci gitlab-ci \
  --deploy kubernetes

List Available Templates

idp-cli list-templates

Check Service Health

# Check all services in dev environment
idp-cli health --environment dev

# Monitor specific service continuously
idp-cli health --service payment-api --watch --interval 30

Visualize Service Dependencies

# Show dependency tree
idp-cli deps --environment dev

# Check for circular dependencies and show deployment order
idp-cli deps --check-cycles --deployment-order

Check Environment Status

# Check all environment components
idp-cli env-status --environment dev

# Check specific component with details
idp-cli env-status --component kubernetes --detailed

Skip Optional Components

idp-cli create-service my-service \
  --template python-api \
  --no-docker \
  --no-k8s \
  --no-monitoring \
  --no-docs

Get Help

idp-cli --help
idp-cli create-service --help

๐Ÿง  Architecture Overview

The IDP CLI follows Platform Engineering principles by providing a standardized developer experience.

Developer Request
        โ†“
   IDP CLI (Click)
        โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Template Registry  โ”‚ โ†’ Service code scaffolding
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ CI/CD Generator    โ”‚ โ†’ GitHub Actions / GitLab CI / Jenkins
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Docker Generator   โ”‚ โ†’ Multi-stage Dockerfile + .dockerignore
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ K8s Generator      โ”‚ โ†’ Deployments, Services, ConfigMaps, HPA
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ GitOps Generator   โ”‚ โ†’ ArgoCD / Flux manifests
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Monitoring Gen     โ”‚ โ†’ Prometheus rules, Grafana dashboards
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Docs Generator     โ”‚ โ†’ README, deployment guide, architecture
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿงช Development

# Clone the repository
git clone https://github.com/NotHarshhaa/internal-developer-platform-cli.git
cd internal-developer-platform-cli

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest -v

# Run tests with coverage
pytest --cov=idp_cli --cov-report=html -v

# Lint
ruff check idp_cli/

# Format
black idp_cli/ tests/

๐ŸŽฏ Goals

  • Enable self-service infrastructure
  • Standardize service creation
  • Reduce DevOps bottlenecks
  • Improve developer experience (DevEx)
  • Promote platform engineering practices

๐Ÿ‘จโ€๐Ÿ’ป Who Is This For?

  • Platform Engineers
  • DevOps Engineers
  • Cloud Engineers
  • SRE teams
  • Engineering organizations building Internal Developer Platforms

๐Ÿš€ Roadmap

  • Service health monitoring
  • Service dependency visualization
  • Environment status checking
  • Service catalog integration
  • Policy as Code support
  • Infrastructure provisioning (Terraform)
  • Web portal interface
  • Plugin architecture
  • Multi-cluster deployment
  • Secrets management integration
  • Custom template support

๐Ÿ“œ License

MIT License โ€” see LICENSE for details.

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

idp_cli-0.3.0.tar.gz (105.5 kB view details)

Uploaded Source

Built Distribution

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

idp_cli-0.3.0-py3-none-any.whl (111.6 kB view details)

Uploaded Python 3

File details

Details for the file idp_cli-0.3.0.tar.gz.

File metadata

  • Download URL: idp_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 105.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for idp_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 071c2a8060775b63e7a1900a72533d7d46980f3db6befb2f7eb7b573c4c79053
MD5 76cc7450976aa97d33ed38b4f350dcff
BLAKE2b-256 a54df1dcee13b6b336b609cdb2d3d61faa5e570db406a4dc01d6935abb3284b2

See more details on using hashes here.

File details

Details for the file idp_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: idp_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 111.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for idp_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0aa11e751aaa22d52d71cadbe85260a0f7824fe2b2eb1603bdc63041083e4bb3
MD5 62bb73d35f16faf38074cdd5ff147a4b
BLAKE2b-256 5849df0cca0d28d04f460fe9922edaf58557dfc31f14e52f1f0707e432e01509

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