Skip to content

observeco/infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors