Choose a learning path based on your role or goal. Each path provides a structured reading order with the knowledge you'll gain at each step.
| Your Goal | Start Here | Time |
|---|---|---|
| Get running ASAP | Just Start Developing | 15 min |
| Understand the system | Understanding DevStack | 1 hour |
| Connect my app | Application Developer | 30 min |
| Learn Vault secrets | Vault Deep Dive | 45 min |
| Set up monitoring | Observability | 30 min |
| Debug issues | Troubleshooting | As needed |
Goal: Get DevStack running and connect your application as quickly as possible.
Time: 15 minutes
📖 Read: Getting Started
You'll learn:
- How to install prerequisites
- How to start all services
- How to verify everything works
📖 Read: Getting Started - Connect Your Application
You'll learn:
- How to get database passwords
- Connection strings for each database
📖 Read: Quick Reference (first page only)
You'll learn:
- Start/stop commands
- How to view logs
- Basic troubleshooting
📖 Bookmark: CLI Reference
For quick command lookup while developing.
Goal: Understand how DevStack works before using it.
Time: 1 hour
📖 Read: Getting Started 📖 Read: Glossary - scan key terms
You'll learn:
- What DevStack provides
- Key terminology (Vault, AppRole, Colima)
- High-level architecture
📖 Read: Architecture - Visual Overview 📖 Read: Architecture - Network Architecture
You'll learn:
- Service layout and dependencies
- Network segmentation (4 networks)
- How services communicate
📖 Read: Architecture - Security Architecture 📖 Read: Glossary - Vault Concepts
You'll learn:
- Why Vault instead of .env files
- How services get credentials
- Certificate management (PKI)
📖 Read: Service Profiles
You'll learn:
- Different profile options
- Resource requirements
- When to use each profile
📖 Follow: Getting Started - Quick Start
You'll do:
- Install and start DevStack
- Initialize Vault
- Verify services are healthy
Goal: Connect your application to DevStack services.
Time: 30 minutes
📖 Follow: Getting Started - Quick Start
You'll do:
- Start DevStack
- Initialize Vault
📖 Read: Getting Started - Get Database Credentials
You'll learn:
- How to get passwords from Vault
- How to load credentials into environment
Commands you'll use:
./devstack vault-show-password postgres
source scripts/load-vault-env.sh📖 Read: Use Cases
You'll learn:
- Connection strings for each language
- Code examples for Python, Go, Node.js, Rust
- How to test connections
📖 Explore: reference-apps/ directory
You'll see:
- Working examples in 5 languages
- Best practices for Vault integration
- Health check implementations
Explore in browser:
- http://localhost:8000/docs (FastAPI docs)
- http://localhost:8000/health/all (Health check)
Goal: Understand how HashiCorp Vault manages secrets and certificates.
Time: 45 minutes
📖 Read: Glossary - Vault Concepts
You'll learn:
- What Vault is and why it's used
- Key concepts: unsealing, tokens, secrets engines
- AppRole authentication
📖 Read: Vault
You'll learn:
- PKI hierarchy (Root CA → Intermediate CA → Certs)
- Secrets engine structure
- How credentials are stored
📖 Read: Architecture - AppRole Authentication Flow
You'll learn:
- How services authenticate
- Role and secret IDs
- Token lifecycle
📖 Follow: These commands
# View Vault status
./devstack vault-status
# Get a password
./devstack vault-show-password postgres
# Access Vault UI
open http://localhost:8200
# Token: cat ~/.config/vault/root-token
# List secrets
export VAULT_ADDR=http://localhost:8200
export VAULT_TOKEN=$(cat ~/.config/vault/root-token)
vault kv list secret/📖 Read: Vault Security
You'll learn:
- Production hardening recommendations
- Policy management
- Audit logging
Goal: Set up and use monitoring with Prometheus and Grafana.
Time: 30 minutes
📖 Follow: These commands
# Start with observability services
./devstack start --profile full
# Verify observability services are healthy
./devstack health | grep -E "(prometheus|grafana|loki)"📖 Open: http://localhost:3001
Login: admin / admin
Explore:
- Dashboards → Browse pre-configured dashboards
- Explore → Query metrics with PromQL
- Explore → Switch to Loki for logs
📖 Read: Architecture - Observability Architecture
You'll learn:
- Metrics flow (services → Prometheus → Grafana)
- Logs flow (containers → Promtail → Loki → Grafana)
- What metrics are available
📖 Try in Grafana: These PromQL queries
# CPU usage by container
rate(container_cpu_usage_seconds_total[5m])
# Memory usage
container_memory_usage_bytes
# HTTP request rate (FastAPI)
rate(http_requests_total[5m])
# Redis operations
rate(redis_commands_total[5m])
📖 Try in Grafana: Explore → Loki
# All PostgreSQL logs
{container="dev-postgres"}
# Errors only
{container="dev-reference-api"} |= "error"
# JSON log parsing
{container="dev-reference-api"} | json | level="ERROR"
Goal: Diagnose and fix common problems.
Time: As needed
# Overall status
./devstack health
# Service logs
./devstack logs <service>
# Vault status
./devstack vault-status
# Container status
docker ps -a| Problem | Go To |
|---|---|
| Services won't start | Troubleshooting - Services |
| Database connection failed | Troubleshooting - Databases |
| Vault is sealed | Troubleshooting - Vault |
| Container keeps restarting | Troubleshooting - Containers |
| Out of disk space | Troubleshooting - Resources |
Start Here
│
▼
┌─────────────────────────────────┐
│ Run: ./devstack health │
└─────────────────────────────────┘
│
├─── All healthy? ───▶ Problem is elsewhere
│
▼
┌─────────────────────────────────┐
│ Which service is unhealthy? │
└─────────────────────────────────┘
│
├─── Vault ───▶ ./devstack vault-status
│ └─── Sealed? ───▶ ./devstack vault-unseal
│
├─── Database ───▶ ./devstack logs <db>
│ └─── Check credentials
│
└─── Other ───▶ ./devstack logs <service>
└─── Check dependencies
Goal: Manage DevStack in a team environment.
Time: 1 hour
📖 Follow: Path 2: Understanding DevStack
📖 Read: Disaster Recovery
You'll learn:
- Backup procedures
- Restore procedures
- RTO and RPO targets
Commands:
# Backup all databases
./devstack backup
# List backups
./devstack restore
# Restore specific backup
./devstack restore 20250113_143022📖 Read: TLS Certificate Management
You'll learn:
- Certificate lifecycle
- Renewal procedures
- Monitoring expiration
📖 Read: Performance Tuning
You'll learn:
- Resource allocation
- Colima VM sizing
- Optimization strategies
📖 Read: Upgrade Guide
You'll learn:
- Version migration steps
- Breaking changes
- Rollback procedures
Goal: Contribute to DevStack Core development.
Time: 30 minutes
📖 Follow: Path 1: Just Start Developing
📖 Read: Contributing
You'll learn:
- Code style requirements
- PR process
- Testing requirements
📖 Read: Architecture (full document)
📖 Read: Testing Approach
Commands:
# Run all tests
./tests/run-all-tests.sh
# Run specific test
./tests/test-vault.sh
# Run with parallel execution
./tests/run-all-tests.sh --parallelFor complete documentation, see docs/README.md.
| Topic | Documents |
|---|---|
| Getting Started | Getting Started, Installation |
| CLI | CLI Reference, Quick Reference |
| Architecture | Architecture, Network Segmentation |
| Vault | Vault, Vault Security |
| Databases | Services, Redis |
| Monitoring | Observability |
| Operations | Management, Disaster Recovery |
| Troubleshooting | Troubleshooting, FAQ |
| Reference | Glossary, Environment Variables |
-
Bookmark frequently used docs:
-
Join the community:
- GitHub Issues for questions
- PRs for contributions
-
Keep learning:
- Explore reference apps in
reference-apps/ - Try different profiles
- Set up monitoring with full profile
- Explore reference apps in