Eden Hub - Service Discovery & Configuration Management

  • Home /
  • Eden Hub - Service Discovery & Configuration Management

Eden Hub: Service Discovery & Configuration Management

Press Release

Ataiva Introduces Eden Hub: Next-Generation Service Discovery and Configuration Management for Modern Microservices

For immediate release - June 3, 2025

Sub-headline

Eden Hub revolutionizes microservices architecture management with intelligent service discovery, centralized configuration management, and automated health monitoring, enabling teams to build resilient, scalable distributed systems with unprecedented simplicity and reliability.

The Problem

Modern applications built on microservices architectures face a fundamental challenge: services need to find and communicate with each other reliably across dynamic, distributed environments. Traditional service discovery solutions are either too complex for small teams or too limited for enterprise scale, while configuration management becomes a nightmare of scattered files, environment variables, and manual updates. Teams struggle with service mesh complexity, configuration drift, health check management, and the operational overhead of maintaining service registries. The result is brittle systems that fail unpredictably, deployment bottlenecks caused by configuration management, and significant engineering time spent on infrastructure instead of business features.

The Solution

Eden Hub addresses these challenges through a comprehensive service discovery and configuration management platform that combines simplicity with enterprise-grade capabilities. The system provides automatic service registration and discovery with intelligent health monitoring, centralized configuration management with real-time updates, and advanced load balancing with failure detection. Built-in integration with popular service meshes, container orchestrators, and cloud platforms ensures seamless adoption, while the unified API and CLI make management straightforward for teams of any size. Advanced features like configuration versioning, canary deployments, and circuit breaker integration provide the reliability and flexibility needed for production microservices environments.

Community Quote

“Eden Hub has transformed how we manage our microservices architecture,” says Marcus Johnson, Principal Architect at CloudNative Systems. “We were drowning in the complexity of managing 200+ microservices across multiple Kubernetes clusters. Service discovery was unreliable, configuration management was a constant source of outages, and our team spent 40% of their time on infrastructure issues instead of building features. Eden Hub gave us automatic service discovery that just works, centralized configuration with zero-downtime updates, and intelligent health monitoring that prevents cascading failures. Our mean time to recovery dropped from 45 minutes to 3 minutes, and our deployment frequency increased 5x because configuration management is no longer a bottleneck. It’s the missing piece that makes microservices actually manageable at scale.”

How It Works

Eden Hub implements comprehensive service discovery and configuration management through an intelligent platform designed for reliability, scalability, and ease of use:

Dynamic Service Registration: Automatic service registration and discovery with support for multiple registration methods including API-based, file-based, and integration with container orchestrators. Services automatically register themselves and their capabilities, while the system maintains real-time service topology maps.

Intelligent Health Monitoring: Comprehensive health check aggregation with support for HTTP, TCP, gRPC, and custom health checks. The system continuously monitors service health and automatically removes unhealthy instances from service discovery while providing detailed health analytics and alerting.

Centralized Configuration Management: Unified configuration management with support for hierarchical configurations, environment-specific overrides, and real-time updates without service restarts. The system provides configuration versioning, rollback capabilities, and audit trails for all configuration changes.

Advanced Load Balancing: Intelligent load balancing with multiple algorithms including round-robin, least connections, weighted routing, and geographic routing. The system automatically adapts to service performance and health metrics to optimize traffic distribution.

Service Mesh Integration: Native integration with popular service meshes including Istio, Linkerd, and Consul Connect, providing advanced traffic management, security policies, and observability without vendor lock-in.

API Gateway Functionality: Built-in API gateway capabilities including request routing, rate limiting, authentication, and request/response transformation, eliminating the need for separate gateway solutions in many cases.

Availability

Eden Hub is available as part of the Eden DevOps Suite, currently in Phase 2 completion with production-ready capabilities. The component can be used standalone or as part of the integrated Eden platform. Visit the GitHub repository for documentation and access information.

Get Started Today

Simplify your microservices architecture with Eden Hub’s intelligent service discovery and configuration management. Experience the reliability and scalability that modern distributed systems demand.

Frequently Asked Questions

Service Discovery Questions

How does Eden Hub handle service registration?
Eden Hub supports multiple service registration methods:

  • Automatic Registration: Services automatically register using SDKs or agents
  • API Registration: Manual registration via REST API or CLI
  • Container Integration: Automatic registration from Docker, Kubernetes labels
  • File-Based Registration: Configuration file-based service definitions
  • Third-Party Integration: Import from existing service registries

What types of health checks does Eden Hub support?
Eden Hub provides comprehensive health monitoring:

  • HTTP Health Checks: GET/POST requests with configurable responses
  • TCP Health Checks: Socket connection testing
  • gRPC Health Checks: Native gRPC health check protocol
  • Custom Scripts: Execute custom health check scripts
  • Composite Checks: Combine multiple health check types
  • Dependency Checks: Monitor service dependencies and cascading health

How does Eden Hub handle service failures?
Eden Hub implements intelligent failure handling:

# Health check configuration
health_checks:
  - name: "api-service"
    type: "http"
    url: "http://api-service:8080/health"
    interval: "10s"
    timeout: "5s"
    failure_threshold: 3
    success_threshold: 2
    
    actions:
      on_failure:
        - remove_from_discovery
        - notify_team
        - trigger_circuit_breaker
      on_recovery:
        - add_to_discovery
        - reset_circuit_breaker
        - log_recovery

Configuration Management Questions

How does centralized configuration work?
Eden Hub provides hierarchical configuration management:

# Configuration hierarchy
global:
  database:
    connection_timeout: 30s
    max_connections: 100
    
environment:
  production:
    database:
      max_connections: 200
      ssl_required: true
  development:
    database:
      max_connections: 10
      ssl_required: false
      
service:
  user-service:
    database:
      name: "users_db"
    cache:
      ttl: "1h"

Can configurations be updated without service restarts?
Yes, Eden Hub supports real-time configuration updates:

  • Hot Reloading: Services receive configuration updates without restarts
  • Gradual Rollouts: Configuration changes can be rolled out gradually
  • Rollback Capabilities: Instant rollback to previous configurations
  • Change Validation: Validate configurations before applying
  • Audit Trails: Complete history of configuration changes

How does Eden Hub handle configuration secrets?
Eden Hub integrates with Eden Vault for secure configuration:

  • Secret References: Reference secrets without exposing values
  • Automatic Injection: Secrets automatically injected into configurations
  • Encryption: All configuration data encrypted at rest and in transit
  • Access Controls: Role-based access to configuration data
  • Audit Logging: Complete audit trail of secret access

Technical Questions

What load balancing algorithms does Eden Hub support?
Eden Hub provides multiple load balancing strategies:

  • Round Robin: Equal distribution across healthy instances
  • Least Connections: Route to instance with fewest active connections
  • Weighted Round Robin: Distribute based on instance capacity weights
  • IP Hash: Consistent routing based on client IP
  • Geographic Routing: Route based on client and service location
  • Performance-Based: Route based on response time and health metrics

How does Eden Hub integrate with Kubernetes?
Eden Hub provides native Kubernetes integration:

# Kubernetes service definition
apiVersion: v1
kind: Service
metadata:
  name: user-service
  annotations:
    eden.hub/register: "true"
    eden.hub/health-check: "/health"
    eden.hub/load-balancer: "least_connections"
spec:
  selector:
    app: user-service
  ports:
    - port: 8080
      targetPort: 8080

Can Eden Hub work with existing service meshes?
Yes, Eden Hub integrates with popular service meshes:

  • Istio: Native integration with Istio service registry and traffic management
  • Linkerd: Support for Linkerd service profiles and traffic policies
  • Consul Connect: Integration with Consul service mesh capabilities
  • AWS App Mesh: Support for AWS App Mesh virtual services
  • Custom Meshes: Extensible architecture for custom service mesh integration

Integration Questions

How do I register a service with Eden Hub?
Service registration is simple and flexible:

# Python SDK example
from eden_hub import ServiceRegistry

registry = ServiceRegistry(
    api_url="https://eden-hub.company.com",
    token=os.environ['EDEN_TOKEN']
)

# Register service
service = registry.register(
    name="user-service",
    address="10.0.1.100",
    port=8080,
    tags=["api", "users", "v2"],
    health_check={
        "type": "http",
        "url": "/health",
        "interval": "10s"
    },
    metadata={
        "version": "2.1.0",
        "environment": "production"
    }
)

# Discover services
api_services = registry.discover("api-gateway")
for service in api_services:
    print(f"Found service: {service.address}:{service.port}")

How does Eden Hub work with CI/CD pipelines?
Eden Hub integrates seamlessly with deployment workflows:

# GitHub Actions integration
- name: Register Service
  uses: eden-hub/register-action@v1
  with:
    api-token: ${{ secrets.EDEN_TOKEN }}
    service-name: "user-service"
    service-port: 8080
    health-check: "/health"
    tags: "api,users,production"
    
- name: Update Configuration
  uses: eden-hub/config-action@v1
  with:
    api-token: ${{ secrets.EDEN_TOKEN }}
    config-path: "services/user-service"
    config-file: "production.yaml"
    validate: true

Can Eden Hub export metrics for monitoring?
Yes, Eden Hub provides comprehensive metrics:

  • Prometheus Metrics: Native Prometheus metrics export
  • Custom Dashboards: Pre-built Grafana dashboards
  • Health Metrics: Service health and availability metrics
  • Performance Metrics: Response times and throughput data
  • Configuration Metrics: Configuration change and rollback metrics

Operational Questions

How do I manage configuration across multiple environments?
Eden Hub supports environment-specific configuration management:

# Multi-environment configuration
environments:
  development:
    replicas: 1
    resources:
      cpu: "0.5"
      memory: "512Mi"
    database_url: "dev-db.company.com"
    
  staging:
    replicas: 2
    resources:
      cpu: "1"
      memory: "1Gi"
    database_url: "staging-db.company.com"
    
  production:
    replicas: 5
    resources:
      cpu: "2"
      memory: "2Gi"
    database_url: "prod-db.company.com"
    high_availability: true

How does Eden Hub handle network partitions?
Eden Hub implements resilient networking:

  • Distributed Architecture: No single points of failure
  • Consensus Algorithms: Raft consensus for consistent state
  • Partition Tolerance: Continues operating during network splits
  • Automatic Recovery: Seamless recovery when partitions heal
  • Conflict Resolution: Intelligent conflict resolution strategies

What backup and disaster recovery options are available?
Eden Hub provides comprehensive backup and recovery:

  • Automatic Backups: Regular automated backups of service registry and configuration
  • Point-in-Time Recovery: Restore to any point in time
  • Cross-Region Replication: Replicate data across multiple regions
  • Export/Import: Export service definitions and configurations
  • Disaster Recovery: Comprehensive DR procedures and testing

Key Features

FeatureDescription
πŸ” Dynamic Service DiscoveryAutomatic service registration and discovery with real-time topology mapping and intelligent routing
βš™οΈ Centralized ConfigurationHierarchical configuration management with real-time updates, versioning, and rollback capabilities
πŸ’“ Intelligent Health MonitoringComprehensive health check aggregation with automatic failure detection and recovery
βš–οΈ Advanced Load BalancingMultiple load balancing algorithms with performance-based routing and geographic distribution
🌐 Service Mesh IntegrationNative integration with Istio, Linkerd, Consul Connect, and other popular service mesh solutions
πŸšͺ API Gateway FunctionalityBuilt-in API gateway with request routing, rate limiting, authentication, and transformation

Service Discovery Architecture

Eden Hub’s architecture provides reliable, scalable service discovery and configuration management:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Service Registration Layer                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚   Manual    β”‚ β”‚  Automatic  β”‚ β”‚ Container   β”‚ β”‚ Third-Party β”‚β”‚
β”‚  β”‚Registration β”‚ β”‚Registration β”‚ β”‚Integration  β”‚ β”‚ Integration β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                   Service Registry Core                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚  Service Catalog β€’ Health Status β€’ Configuration Store     β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                    Discovery & Routing                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚   Service   β”‚ β”‚    Load     β”‚ β”‚   Health    β”‚ β”‚   Circuit   β”‚β”‚
β”‚  β”‚  Discovery  β”‚ β”‚  Balancing  β”‚ β”‚  Checking   β”‚ β”‚  Breakers   β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                 Configuration Management                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚   Hierarchical Config β€’ Real-time Updates β€’ Version Controlβ”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                   Integration Layer                            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ Service     β”‚ β”‚     API     β”‚ β”‚ Kubernetes  β”‚ β”‚   Cloud     β”‚β”‚
β”‚  β”‚   Mesh      β”‚ β”‚   Gateway   β”‚ β”‚Integration  β”‚ β”‚ Platforms   β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Use Cases

Use CaseDescription
πŸ—οΈ Microservices ArchitectureEnable reliable service-to-service communication in distributed microservices environments
βš™οΈ Configuration ManagementCentralize and manage configuration across multiple services and environments
πŸ’“ Health MonitoringMonitor service health and automatically handle failures with intelligent routing
🌐 API GatewayProvide unified API access with routing, rate limiting, and authentication
πŸ”„ Service Mesh ManagementIntegrate with service meshes for advanced traffic management and security
☁️ Multi-Cloud DeploymentManage services across multiple cloud providers and hybrid environments

Getting Started

Basic Service Registration

# Install Eden Hub CLI
curl -L https://github.com/ataivadev/eden/releases/latest/download/eden-hub -o eden-hub
chmod +x eden-hub && sudo mv eden-hub /usr/local/bin/

# Authenticate
eden auth login --email [email protected]

# Register a service
eden hub register \
  --name "user-service" \
  --address "10.0.1.100" \
  --port 8080 \
  --tags "api,users,v2" \
  --health-check "/health"

# Discover services
eden hub discover --service "api-gateway"
eden hub discover --tag "database"

Service Configuration

# service-config.yaml
service:
  name: "user-service"
  version: "2.1.0"
  
  registration:
    address: "auto"  # Auto-detect IP address
    port: 8080
    tags: ["api", "users", "production"]
    
  health_checks:
    - name: "http-health"
      type: "http"
      url: "/health"
      interval: "10s"
      timeout: "5s"
      failure_threshold: 3
      
    - name: "database-health"
      type: "tcp"
      address: "db.company.com"
      port: 5432
      interval: "30s"
      
  load_balancing:
    algorithm: "least_connections"
    weights:
      - instance: "10.0.1.100:8080"
        weight: 100
      - instance: "10.0.1.101:8080"
        weight: 150
        
  configuration:
    database:
      url: "{{ vault.get('DATABASE_URL') }}"
      max_connections: 20
      timeout: "30s"
      
    cache:
      redis_url: "{{ vault.get('REDIS_URL') }}"
      ttl: "1h"
      
    features:
      new_user_flow: true
      advanced_search: false

Advanced Configuration Management

# hierarchical-config.yaml
# Global configuration (applies to all services)
global:
  logging:
    level: "info"
    format: "json"
  
  monitoring:
    metrics_enabled: true
    tracing_enabled: true
    
  security:
    tls_required: true
    jwt_validation: true

# Environment-specific overrides
environments:
  development:
    logging:
      level: "debug"
    monitoring:
      metrics_enabled: false
    security:
      tls_required: false
      
  production:
    logging:
      level: "warn"
    monitoring:
      sampling_rate: 0.1
    security:
      strict_mode: true

# Service-specific configuration
services:
  user-service:
    database:
      name: "users"
      pool_size: 10
    cache:
      enabled: true
      ttl: "30m"
      
  order-service:
    database:
      name: "orders"
      pool_size: 20
    payment:
      timeout: "10s"
      retry_attempts: 3

Kubernetes Integration

# kubernetes-integration.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: user-service
  annotations:
    eden.hub/register: "true"
    eden.hub/service-name: "user-service"
    eden.hub/health-check: "/health"
    eden.hub/tags: "api,users,production"
spec:
  replicas: 3
  selector:
    matchLabels:
      app: user-service
  template:
    metadata:
      labels:
        app: user-service
      annotations:
        eden.hub/port: "8080"
        eden.hub/load-balancer: "round_robin"
    spec:
      containers:
      - name: user-service
        image: company/user-service:v2.1.0
        ports:
        - containerPort: 8080
        env:
        - name: EDEN_HUB_URL
          value: "https://eden-hub.company.com"
        - name: EDEN_HUB_TOKEN
          valueFrom:
            secretKeyRef:
              name: eden-credentials
              key: token
        livenessProbe:
          httpGet:
            path: /health
            port: 8080
          initialDelaySeconds: 30
          periodSeconds: 10
        readinessProbe:
          httpGet:
            path: /ready
            port: 8080
          initialDelaySeconds: 5
          periodSeconds: 5

---
apiVersion: v1
kind: Service
metadata:
  name: user-service
  annotations:
    eden.hub/external-discovery: "true"
spec:
  selector:
    app: user-service
  ports:
    - port: 8080
      targetPort: 8080
  type: ClusterIP

SDK Integration Examples

// Go SDK example
package main

import (
    "context"
    "log"
    "github.com/ataivadev/eden-hub-go"
)

func main() {
    // Initialize Eden Hub client
    client, err := edenhub.NewClient(&edenhub.Config{
        Address: "https://eden-hub.company.com",
        Token:   os.Getenv("EDEN_HUB_TOKEN"),
    })
    if err != nil {
        log.Fatal(err)
    }

    // Register service
    service := &edenhub.ServiceRegistration{
        Name:    "user-service",
        Address: "10.0.1.100",
        Port:    8080,
        Tags:    []string{"api", "users", "v2"},
        HealthCheck: &edenhub.HealthCheck{
            Type:     "http",
            URL:      "/health",
            Interval: "10s",
        },
    }
    
    err = client.Register(context.Background(), service)
    if err != nil {
        log.Fatal(err)
    }

    // Discover services
    services, err := client.Discover(context.Background(), "api-gateway")
    if err != nil {
        log.Fatal(err)
    }
    
    for _, svc := range services {
        log.Printf("Found service: %s at %s:%d", svc.Name, svc.Address, svc.Port)
    }

    // Get configuration
    config, err := client.GetConfig(context.Background(), "user-service")
    if err != nil {
        log.Fatal(err)
    }
    
    log.Printf("Database URL: %s", config.Get("database.url"))
}

CLI Usage Examples

# Service management
eden hub services list
eden hub services describe user-service
eden hub services health user-service

# Configuration management
eden hub config get user-service
eden hub config set user-service database.pool_size 25
eden hub config history user-service

# Health monitoring
eden hub health status
eden hub health checks user-service
eden hub health failures --last 24h

# Load balancing
eden hub lb status user-service
eden hub lb weights user-service --set "10.0.1.100:8080=100,10.0.1.101:8080=150"
eden hub lb algorithm user-service --set least_connections

# Service discovery
eden hub discover --service api-gateway
eden hub discover --tag database --healthy-only
eden hub topology --service user-service --depth 2

Monitoring and Observability

# monitoring-config.yaml
monitoring:
  metrics:
    enabled: true
    endpoint: "/metrics"
    format: "prometheus"
    
  health_checks:
    aggregate_status: true
    detailed_reporting: true
    
  service_topology:
    enabled: true
    update_interval: "30s"
    max_depth: 5

alerts:
  - name: "Service Down"
    condition: "service_health == 'critical'"
    duration: "2m"
    channels: ["pagerduty", "slack"]
    
  - name: "High Error Rate"
    condition: "error_rate > 5%"
    duration: "5m"
    channels: ["slack"]
    
  - name: "Configuration Drift"
    condition: "config_version != expected_version"
    channels: ["email"]

dashboards:
  - name: "Service Overview"
    widgets:
      - type: "service_map"
        title: "Service Topology"
        
      - type: "health_status"
        title: "Service Health"
        
      - type: "configuration_status"
        title: "Configuration Versions"
        
      - type: "load_balancing"
        title: "Traffic Distribution"