Cloud-native IP Address Management
CloudPAM is a modern IPAM solution designed for hybrid and multi-cloud environments. It helps infrastructure teams plan, allocate, and track IP addresses across on-premises data centers and cloud providers.
- Hierarchical Pool Management - Organize IP addresses in a tree structure matching your network topology
- Smart Planning - AI-assisted network planning with gap analysis, recommendations, and growth projections
- Cloud Discovery - Auto-import VPCs, subnets, and IPs from AWS, GCP, and Azure
- Schema Wizard - Design IP schemas with templates before deploying
- Drift Detection - Identify discrepancies between planned and actual allocations
- Multi-tenant - Role-based access control with team-scoped permissions
# Clone the repository
git clone https://github.com/BadgerOps/cloudpam.git
cd cloudpam
# Start with Docker Compose (SQLite)
docker-compose up -d
# Access the UI
open http://localhost:8080| Document | Description |
|---|---|
| Quick Start Guide | Get running in 5 minutes |
| Deployment Guide | Production deployment options |
| Document | Description |
|---|---|
| API Specification | OpenAPI 3.1 spec (85+ endpoints) |
| Smart Planning API | AI planning & analysis endpoints |
| Database Schema | PostgreSQL/SQLite schema design |
| Authentication Flows | JWT, API keys, SSO/OIDC |
| Documentation Architecture | Embedded docs system |
| Document | Description |
|---|---|
| Smart Planning Architecture | Discovery, analysis, and AI planning |
| Planning Interfaces | Go service interfaces |
| Implementation Roadmap | 20-week development plan |
| Document | Description |
|---|---|
| Observability Architecture | Logging, metrics, tracing, audit |
| Observability Interfaces | Logger, Metrics, Tracer interfaces |
| Observability API | Audit log and health endpoints |
| Vector Configuration | Log shipping to Splunk, CloudWatch, etc. |
| K8s Observability | Prometheus, Grafana, Jaeger |
| Docker Compose | Local observability stack |
| Document | Description |
|---|---|
| IP Schema Planning | Design effective IP schemas |
| Smart Planning Guide | AI-assisted network planning |
| API Examples | Common API usage patterns |
| Mockup | Description |
|---|---|
| Dashboard | Main dashboard with pool overview |
| Cloud Accounts | Cloud provider integration |
| Discovery | Cloud resource discovery |
| Schema Planner | Visual schema designer |
| AI Planning Assistant | Conversational planning interface |
| Audit Log | Activity and change tracking |
| Auth Settings | Authentication configuration |
┌─────────────────────────────────────────────────────────────────────────────┐
│ CloudPAM │
│ │
│ ┌────────────────┐ ┌────────────────┐ ┌────────────────────────────────┐ │
│ │ REST API │ │ Web UI │ │ AI Planning Assistant │ │
│ │ (OpenAPI 3.1) │ │ (React) │ │ (LLM-powered, pluggable) │ │
│ └───────┬────────┘ └───────┬────────┘ └───────────────┬────────────────┘ │
│ │ │ │ │
│ ┌───────┴───────────────────┴───────────────────────────┴────────────────┐ │
│ │ Core Services │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌───────────────────┐ │ │
│ │ │ Pools │ │ Auth │ │ Audit │ │ Smart Planning │ │ │
│ │ │ Management │ │ (RBAC) │ │ Logging │ │ (Analysis + AI) │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └───────────────────┘ │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────────────┴─────────────────────────────────────┐ │
│ │ PostgreSQL / SQLite (dual-mode) │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ AWS │ │ GCP │ │ Azure │
│ (VPC/EC2) │ │ (Compute) │ │ (VNets) │
└─────────────┘ └─────────────┘ └─────────────┘
| Component | Technology |
|---|---|
| Backend | Go 1.21+ |
| Database | PostgreSQL 15+ (production) / SQLite (development) |
| Frontend | React 18 + Tailwind CSS |
| API | OpenAPI 3.1 with Scalar documentation |
| Auth | JWT + OAuth/OIDC + API Keys |
| AI | Pluggable LLM (OpenAI, Anthropic, Azure, Ollama) |
| Logging | slog (Go std lib) + Vector for shipping |
| Metrics | OpenTelemetry + Prometheus |
| Tracing | OpenTelemetry + Jaeger |
cloudpam/
├── cmd/
│ └── cloudpam/ # Main application entry point
├── internal/
│ ├── api/ # HTTP handlers and routing
│ ├── domain/ # Core domain models
│ │ └── models.go # Pool, Address, User types
│ ├── storage/ # Database interfaces and implementations
│ │ ├── interfaces.go # Repository interfaces
│ │ ├── postgres/ # PostgreSQL implementation
│ │ └── sqlite/ # SQLite implementation
│ ├── planning/ # Smart planning services
│ │ └── interfaces.go # Discovery, Analysis, AI interfaces
│ ├── observability/ # Logging, metrics, tracing
│ │ └── interfaces.go # Logger, Metrics, Tracer interfaces
│ ├── auth/ # Authentication and authorization
│ └── docs/ # Embedded documentation
├── deploy/ # Deployment configurations
│ ├── vector/ # Vector log shipping config
│ ├── k8s/ # Kubernetes manifests
│ └── docker-compose.observability.yml
├── migrations/ # Database migrations
├── web/ # React frontend
├── openapi.yaml # Core API specification
├── openapi-smart-planning.yaml # Planning API specification
└── docker-compose.yml # Local development setup
| Phase | Status | Description |
|---|---|---|
| Foundation | 🟡 Design | Core API, database, auth |
| Cloud Integration | 🟡 Design | AWS/GCP/Azure discovery |
| Smart Planning | 🟡 Design | Analysis, recommendations |
| AI Planning | 🟡 Design | LLM integration, conversations |
| Observability | 🟡 Design | Logging, metrics, tracing, audit |
| Enterprise | ⚪ Planned | Multi-tenancy, SSO |
See IMPLEMENTATION_ROADMAP.md for the full development timeline.
CloudPAM provides a comprehensive REST API with 100+ endpoints:
GET/POST /api/v1/pools- Pool managementGET/POST /api/v1/cloud-accounts- Cloud provider integrationGET /api/v1/discovery/resources- Discovered cloud resourcesGET /api/v1/audit/events- Audit trail
POST /api/v1/planning/analyze- Run network analysisGET /api/v1/planning/recommendations- Get recommendationsPOST /api/v1/planning/ai/conversations- AI planning sessionsPOST /api/v1/planning/schema/generate- Generate schemas
GET/PUT /api/v1/settings/llm- LLM provider configurationGET /api/v1/settings/llm/prompts- Prompt templates
Full API documentation available at /docs/api when running.
We welcome contributions! Please see our contributing guidelines:
- Fork the repository
- Create a 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
MIT License - see LICENSE for details.
- Documentation: Browse the
/docsendpoint - Issues: GitHub Issues
- Discussions: GitHub Discussions