Skip to main content

Internal Developer Platform CLI โ€” Self-service infrastructure and service creation 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.

Supported templates:

Template Description Language Framework
python-api Production-ready Python API service Python FastAPI
node-api Production-ready Node.js API service JavaScript Express
worker Background worker/job processing service Python Celery
ml-inference Machine learning model inference API Python FastAPI

โš™๏ธ 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

๐Ÿ“„ 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

๐Ÿ“ฆ 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

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

Create Service with Full Options

idp-cli create-service payment-service \
  --template node-api \
  --ci github-actions \
  --deploy kubernetes \
  --gitops argocd \
  --output-dir ./services

List Available Templates

idp-cli list-templates

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

๐Ÿ—๏ธ Project Structure

idp-cli/
โ”œโ”€โ”€ idp_cli/
โ”‚   โ”œโ”€โ”€ cli.py                    # Main CLI entry point
โ”‚   โ”œโ”€โ”€ commands/
โ”‚   โ”‚   โ”œโ”€โ”€ create_service.py     # create-service command
โ”‚   โ”‚   โ””โ”€โ”€ list_templates.py     # list-templates command
โ”‚   โ”œโ”€โ”€ templates/
โ”‚   โ”‚   โ”œโ”€โ”€ base.py               # Base template class
โ”‚   โ”‚   โ”œโ”€โ”€ registry.py           # Template registry
โ”‚   โ”‚   โ”œโ”€โ”€ python_api.py         # Python API template
โ”‚   โ”‚   โ”œโ”€โ”€ node_api.py           # Node.js API template
โ”‚   โ”‚   โ”œโ”€โ”€ worker.py             # Worker service template
โ”‚   โ”‚   โ””โ”€โ”€ ml_inference.py       # ML inference template
โ”‚   โ”œโ”€โ”€ integrations/
โ”‚   โ”‚   โ”œโ”€โ”€ docker.py             # Dockerfile generator
โ”‚   โ”‚   โ”œโ”€โ”€ kubernetes.py         # K8s manifest generator
โ”‚   โ”‚   โ”œโ”€โ”€ github/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ actions.py        # GitHub Actions generator
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ gitlab_ci.py      # GitLab CI generator
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ jenkins.py        # Jenkins pipeline generator
โ”‚   โ”‚   โ”œโ”€โ”€ gitops/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ argocd.py         # ArgoCD config generator
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ flux.py           # Flux CD config generator
โ”‚   โ”‚   โ”œโ”€โ”€ monitoring/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ prometheus.py     # Prometheus & Grafana generator
โ”‚   โ”‚   โ””โ”€โ”€ docs.py               # Documentation generator
โ”‚   โ”œโ”€โ”€ config/
โ”‚   โ”‚   โ””โ”€โ”€ settings.py           # Default settings & constants
โ”‚   โ””โ”€โ”€ utils/
โ”‚       โ”œโ”€โ”€ file_utils.py         # File operations
โ”‚       โ””โ”€โ”€ console.py            # Console output formatting
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ test_cli.py
โ”‚   โ”œโ”€โ”€ test_create_service.py
โ”‚   โ”œโ”€โ”€ test_templates.py
โ”‚   โ””โ”€โ”€ test_utils.py
โ”œโ”€โ”€ pyproject.toml
โ”œโ”€โ”€ requirements.txt
โ””โ”€โ”€ README.md

๐Ÿง  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 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.2.0.tar.gz (47.4 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.2.0-py3-none-any.whl (52.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: idp_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 47.4 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.2.0.tar.gz
Algorithm Hash digest
SHA256 39218ef4d62787752a8c869a0d2f4f9352cefb280a42b68f7c96785e8b8b22be
MD5 0edcded846008e7277dcd66c108fc5cc
BLAKE2b-256 4d3ac83f7f367e67c424d3570f7b750b2eeecb8c020a606c7fe15754363d9478

See more details on using hashes here.

File details

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

File metadata

  • Download URL: idp_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 52.0 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 abdb17b8d7a77d25e1eb7db2165aa23cfd3cce93614443fec97edb66ad60350d
MD5 a69850a032f6acd722c08967792cc7f3
BLAKE2b-256 8e88ea5e8074ac4a1979510356db764d879eadebf641c8cdf1ac417ae91e90e4

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