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.1.0.tar.gz (46.9 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.1.0-py3-none-any.whl (51.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: idp_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 46.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 59aff322d526537cab46ddbc660f367bda0fbb61ab3db31df3f47bc03dfdf7b1
MD5 7bbcfd98e70c88093b9729130140c72b
BLAKE2b-256 9095a84e7ce7c713dc75b68214e8d3d3d07c5ff4c26b4ff881462ef827f86da7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: idp_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 51.4 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e665528dfa2e751ac8c67d395aae2e8f02ec19b8c93516256a523b90d990ae2c
MD5 7065c97c40d13fe300d5501de5bb15d0
BLAKE2b-256 82ebb0f1ad461e1c49b982c686604d70145ded6b0d304a3298ea66759e66e8b8

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