π Complete Developer Platform for Service Creation, Deployment, and Management
Velora is a comprehensive Internal Developer Platform (IDP) that automates service creation, CI/CD pipelines, and Kubernetes deployments. Create services with a single command and get automated GitHub repos, Docker builds, and live deployments.
-
CLI-based Service Creation - Create services with templates in seconds
-
Auto GitHub Integration - Automatic repository creation with starter code
-
CI/CD Automation - Jenkins pipelines with security scanning
-
Kubernetes Deployment - Auto-scaling deployments on AWS EKS
-
Web Dashboard - Monitor services, pipelines, and developers
-
Email Notifications - Deployment status and alerts
-
Multiple Service Types - API, Frontend, Worker, Database services
velora/
βββ backend/ # FastAPI backend server
βββ frontend/ # React web dashboard
βββ cli/ # Node.js CLI tool
βββ infrastructure/ # AWS, Jenkins, ArgoCD setup scripts
βββ templates/ # Service templates (generated)
βββ docs/ # Documentation
- Node.js 16+ and npm/yarn
- Python 3.9+ and pip
- MongoDB (local or cloud)
- Docker (for service templates)
- Git for version control
# Clone the repository
git clone <your-repo-url>
cd velora
# Install backend dependencies
cd backend
pip install -r requirements.txt
# Install frontend dependencies
cd ../frontend
yarn install
# Install CLI dependencies
cd ../cli
npm installEdit /app/backend/.env with your actual API keys:
# MongoDB Configuration
MONGO_URL=mongodb://localhost:27017
DB_NAME=velora
# CORS Configuration
CORS_ORIGINS=http://localhost:3005
# GitHub Integration (Required for repo creation)
# Docker Hub Integration (Required for image pushing)
DOCKER_USERNAME=your_dockerhub_username_here
DOCKER_TOKEN=your_dockerhub_token_here
# Email Notifications (Gmail SMTP)
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=your_gmail_address_here
SMTP_PASSWORD=your_gmail_app_password_here
# Frontend URL
FRONTEND_URL=http://localhost:3005
# AWS Configuration (for cloud deployment)
AWS_REGION=ap-south-1
AWS_ACCESS_KEY_ID=your_aws_access_key_here
AWS_SECRET_ACCESS_KEY=your_aws_secret_key_hereThe frontend .env is already configured for local development:
REACT_APP_BACKEND_URL=http://localhost:8002- Go to GitHub Settings > Developer settings > Personal access tokens
- Click "Generate new token (classic)"
- Give veit a descriptive name: "Velora IDP"
- Select scopes:
- β
repo(Full control of private repositories) - β
workflow(Update GitHub Action workflows) - β
user(Read user profile data)
- β
- Click "Generate token"
- Copy the token and add to
backend/.envasGITHUB_TOKEN
- Go to Docker Hub > Account Settings > Security
- Click "New Access Token"
- Name: "Velora IDP"
- Permissions: "Read, Write, Delete"
- Click "Generate"
- Copy the token and add to
backend/.envasDOCKER_TOKEN - Add your Docker Hub username as
DOCKER_USERNAME
- Enable 2-Factor Authentication on your Gmail account
- Go to Google Account Settings > Security > App passwords
- Select app: "Mail", Select device: "Other (Custom name)"
- Enter name: "Velora IDP"
- Click "Generate"
- Copy the 16-character password and add to
backend/.envasSMTP_PASSWORD - Add your Gmail address as
SMTP_USERNAME
- Go to AWS Console > IAM > Users
- Click "Add user"
- Username: "velora-cli"
- Access type: "Programmatic access"
- Attach policies:
AmazonEKSClusterPolicyAmazonEKSWorkerNodePolicyAmazonEKS_CNI_PolicyAmazonEC2ContainerRegistryReadOnlyElasticLoadBalancingFullAccess
- Click "Create user"
- Copy
Access Key IDandSecret Access Key - Add to
backend/.envasAWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEY
# Install MongoDB
# macOS
brew install mongodb-community
# Ubuntu
sudo apt install mongodb
# Start MongoDB
mongod --dbpath ./data/db- Create account at MongoDB Atlas
- Create a free cluster
- Get connection string and update
MONGO_URLinbackend/.env
cd backend
python3 -m uvicorn server:app --host 0.0.0.0 --port 8002 --reloadcd backend
python -m uvicorn server:app --host 0.0.0.0 --port 8002 --reloadcd frontend
yarn startcd cli
npm link # Install CLI globally
# Configure CLI
velora config setup
# Enter API URL: http://localhost:8002/api
# GitHub token: (paste your token)
# Docker registry: (your Docker Hub username)
# Docker token: (paste your Docker Hub token)# Create an API service
velora create my-first-api --type api --description "My awesome API service"
# Monitor the service
velora status my-first-api --follow
# List all services
velora list
# Access the web dashboard
open http://localhost:3005Access the web dashboard at http://localhost:3005
- Dashboard - Overview of services and analytics
- Services - Manage and monitor all services
- Create Service - Web interface for service creation
- Service Details - Detailed view with logs and pipeline status
- Admin Dashboard - Platform-wide analytics
- Developer Management - Manage team members
# Create a new service
velora create <name> --type <api|frontend|worker|database> --description "..."
# List all services
velora list [--status <status>] [--type <type>] [--format <table|json>]
# Check service status
velora status <name> [--follow] [--json]
# View service logs
velora logs <name> [--follow] [--lines <number>]
# Deploy/rollback service
velora deploy <name> [--rollback] [--follow]
# Delete service
velora delete <name> [--force]# Interactive setup
velora config setup
# Set configuration value
velora config set <key> <value>
# Get configuration value
velora config get <key>
# List all configuration
velora config list
# Reset to defaults
velora config reset- Framework: FastAPI with automatic OpenAPI docs
- Features: Health checks, metrics, auto-scaling
- Template includes: Dockerfile, Helm chart, Jenkinsfile
- Framework: React with modern tooling
- Features: CDN integration, SSL certificates
- Template includes: Build optimization, static hosting
- Framework: Background job processing
- Features: Queue integration, auto-scaling
- Template includes: Job scheduling, monitoring
- Options: PostgreSQL, MongoDB, Redis
- Features: Persistent storage, automated backups
- Template includes: StatefulSets, volumes
# Install AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
# Install eksctl
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
# Install kubectl
curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin
# Install Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash# Configure AWS credentials
aws configure
# Enter your AWS Access Key ID
# Enter your AWS Secret Access Key
# Default region: ap-south-1 (Mumbai)
# Create EKS cluster and infrastructure
cd infrastructure
chmod +x aws-setup.sh
./aws-setup.shchmod +x jenkins-setup.sh
./jenkins-setup.shchmod +x argocd-setup.sh
./argocd-setup.shchmod +x deploy-velora-web.sh
./deploy-velora-web.sh# Check logs
tail -n 100 /var/log/supervisor/backend.*.log
# Check MongoDB connection
mongosh $MONGO_URL
# Verify environment variables
cd backend && python -c "from dotenv import load_dotenv; load_dotenv(); import os; print(os.environ.get('MONGO_URL'))"# Clear cache and reinstall
cd frontend
rm -rf node_modules yarn.lock
yarn install
# Check for port conflicts
lsof -i :3003# Test API connection
curl http://localhost:8002/api/health
# Check CLI configuration
velora config list
# Reset CLI configuration
velora config reset- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ for developers, by developers
Happy coding! π
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify