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 stepsdocs/deployment.mdโ Deployment guide for all environmentsdocs/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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59aff322d526537cab46ddbc660f367bda0fbb61ab3db31df3f47bc03dfdf7b1
|
|
| MD5 |
7bbcfd98e70c88093b9729130140c72b
|
|
| BLAKE2b-256 |
9095a84e7ce7c713dc75b68214e8d3d3d07c5ff4c26b4ff881462ef827f86da7
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e665528dfa2e751ac8c67d395aae2e8f02ec19b8c93516256a523b90d990ae2c
|
|
| MD5 |
7065c97c40d13fe300d5501de5bb15d0
|
|
| BLAKE2b-256 |
82ebb0f1ad461e1c49b982c686604d70145ded6b0d304a3298ea66759e66e8b8
|