Getting Started with Dploy
Welcome to Dploy - launch ephemeral Kubernetes environments instantly.
What is Dploy?
Dploy is an all-in-one solution for managing temporary Kubernetes environments via ArgoCD Applications and Git-based Helm charts. It provides a simple web UI and API to deploy, manage, and automatically clean up development environments.
Key Features
- Embedded Web UI - Modern interface with real-time updates
- Single Container - API + Frontend in one Docker image
- Fast - Built with GoFiber framework
- Secure - JWT/OIDC authentication via JWKS
- Simple Config - YAML-based, no CRDs needed
- Git Charts - Deploy Helm charts from Git repositories
- Auto Management - ArgoCD handles GitOps
- Quotas & TTL - Automatic cleanup and limits
- Native K8s - Uses official client-go
Tech Stack
- Go 1.23+ with GoFiber
- Kubernetes client-go
- JWT authentication
- ArgoCD for GitOps
- Built-in TTL cleanup worker
- Vanilla JavaScript frontend
Quick Start
Local Development (Kind)
# Clone and setup with Kind
git clone https://github.com/AYDEV-FR/dploy.git
cd dploy
./dev/setup.sh
# Access the UI
open http://dploy.localhost
This creates a complete local environment with:
- Kind cluster (3 nodes)
- NGINX Ingress
- ArgoCD
- Authentik (OIDC)
- Prometheus + Grafana
- Dploy API
Production (Helm)
# Add repository
helm repo add dploy https://aydev-fr.github.io/dploy
helm repo update
# Install
helm install dploy dploy/dploy \
--namespace dploy-system \
--create-namespace \
--set auth.jwksURL="https://your-oidc.com/keys" \
--set auth.jwtIssuer="https://your-oidc.com" \
--set ingress.enabled=true \
--set ingress.host="dploy.your-domain.com"
See Installation for detailed options including ArgoCD Application deployment.
How It Works
Each environment:
- Gets a unique 8-character UUID
- Creates an ArgoCD Application
- Deploys to namespace:
{user}-{env}-{uuid} - Gets ingress:
{user}-{uuid}.env.dploy.localhost - Auto-deletes after TTL expires
Next Steps
- Installation - Deploy to production
- Configuration - Setup environment variables
- Environments - Define available environments
- Web UI Guide - Use the interface
- API Reference - Explore REST endpoints