Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

ObservecO Infrastructure

Infrastructure as Code for ObservecO products


Overview

This repository contains all infrastructure definitions for deploying ObservecO products to various platforms.

What's Included

  • ✅ Docker Compose (local development)
  • ✅ Kubernetes manifests (production)
  • ✅ Terraform modules (AWS, GCP, Azure)
  • ✅ CI/CD workflows (GitHub Actions)
  • ✅ Helm charts (Kubernetes packaging)

Quick Start

Local Development (Docker Compose)

# Clone this repo
git clone https://github.com/observeco/infra.git
cd infra

# Start all services
docker-compose up -d

# Check status
docker-compose ps

# View logs
docker-compose logs -f

# Stop services
docker-compose down

Production (Kubernetes)

# Apply all manifests
kubectl apply -f k8s/

# Check deployment
kubectl get pods -n observeco

# Port forward to dashboard
kubectl port-forward svc/dashboard 3000:3000 -n observeco

Terraform (AWS)

cd terraform/aws

# Initialize
terraform init

# Plan
terraform plan

# Apply
terraform apply

Directory Structure

infra/
├── docker-compose/        # Docker Compose files
│   ├── docker-compose.yml
│   └── docker-compose.prod.yml
├── k8s/                   # Kubernetes manifests
│   ├── namespace.yaml
│   ├── pulse/
│   ├── context/
│   ├── dashboard/
│   └── ingress/
├── terraform/             # Terraform configurations
│   ├── aws/
│   ├── gcp/
│   └── azure/
├── helm/                  # Helm charts
│   ├── pulse/
│   ├── context/
│   └── dashboard/
└── .github/               # GitHub Actions workflows
    └── workflows/

Services

Docker Compose Services

Service Port Description
pulse N/A CLI tool (not containerized)
context 8080 API server
context-db 5432 PostgreSQL database
context-redis 6379 Redis cache
dashboard 3000 Web UI

Configuration

Environment Variables

Copy .env.example to .env:

cp .env.example .env

Edit .env with your configuration:

# Context API
CONTEXT_PORT=8080
DB_HOST=postgres
DB_PORT=5432
DB_NAME=observe_context
DB_USER=postgres
DB_PASSWORD=your_password

# Dashboard
NEXT_PUBLIC_API_URL=http://localhost:8080

# Observability
OTEL_ENABLED=true
OTEL_EXPORTER_OTLP_ENDPOINT=http://jaeger:4317

Deployment

AWS

cd terraform/aws
terraform init
terraform apply

GCP

cd terraform/gcp
terraform init
terraform apply

Azure

cd terraform/azure
terraform init
terraform apply

Monitoring

All services include:

  • ✅ Health check endpoints
  • ✅ Prometheus metrics
  • ✅ Structured logging
  • ✅ OpenTelemetry tracing

Security

  • ✅ Secrets managed via environment variables
  • ✅ Network policies (Kubernetes)
  • ✅ TLS/SSL enabled
  • ✅ RBAC configured

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Test infrastructure changes locally
  4. Open a Pull Request

License

MIT License


Support


ObservecO - Infrastructure that scales.

About

Infrastructure as Code for ObservecO products

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors