ruvector/crates/ruvector-tiny-dancer-core/examples
rUv d316a52d42 fix(ci): Fix formatting and workflow permission issues
- Run cargo fmt across all crates (468 files formatted)
- Add permissions for PR comments in benchmarks.yml
- Add continue-on-error for PR comment steps
- Remove Docker service from postgres-extension-ci (pgrx manages own postgres)
- Add permissions to postgres-extension-ci.yml

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 22:11:57 +00:00
..
admin-server.rs fix(ci): Fix formatting and workflow permission issues 2025-12-26 22:11:57 +00:00
full_observability.rs fix(ci): Fix formatting and workflow permission issues 2025-12-26 22:11:57 +00:00
metrics_example.rs fix(ci): Fix formatting and workflow permission issues 2025-12-26 22:11:57 +00:00
OBSERVABILITY_EXAMPLES.md fix: Fix case sensitivity bug preventing native module from loading 2025-11-21 21:34:52 +00:00
README.md fix: Fix case sensitivity bug preventing native module from loading 2025-11-21 21:34:52 +00:00
tracing_example.rs fix: Resolve unresolved imports in ruvector-tiny-dancer-core examples 2025-11-26 22:48:12 +00:00
train-model.rs fix: Resolve CI build failures 2025-11-26 15:25:47 +00:00

Tiny Dancer Examples

This directory contains example applications demonstrating how to use Tiny Dancer.

Admin Server Example

File: admin-server.rs

A production-ready admin API server with health checks, metrics, and administration endpoints.

Features

  • Health check endpoints (K8s liveness & readiness probes)
  • Prometheus metrics export
  • Hot model reloading
  • Configuration management
  • Circuit breaker monitoring
  • Optional bearer token authentication

Running

cargo run --example admin-server --features admin-api

Testing

Once running, test the endpoints:

# Health check
curl http://localhost:8080/health

# Readiness check
curl http://localhost:8080/health/ready

# Prometheus metrics
curl http://localhost:8080/metrics

# System information
curl http://localhost:8080/info

Admin Endpoints

Admin endpoints support optional authentication:

# Reload model (if auth enabled)
curl -X POST http://localhost:8080/admin/reload \
  -H "Authorization: Bearer your-token-here"

# Get configuration
curl http://localhost:8080/admin/config \
  -H "Authorization: Bearer your-token-here"

# Circuit breaker status
curl http://localhost:8080/admin/circuit-breaker \
  -H "Authorization: Bearer your-token-here"

Configuration

Edit the example to configure:

  • Bind address and port
  • Authentication token
  • CORS settings
  • Router configuration

Production Deployment

For production use:

  1. Enable authentication:

    auth_token: Some("your-secret-token".to_string())
    
  2. Use environment variables:

    let token = std::env::var("ADMIN_AUTH_TOKEN").ok();
    
  3. Deploy behind HTTPS proxy (nginx, Envoy, etc.)

  4. Set up Prometheus scraping:

    scrape_configs:
      - job_name: 'tiny-dancer'
        static_configs:
          - targets: ['localhost:8080']
    
  5. Configure Kubernetes probes:

    livenessProbe:
      httpGet:
        path: /health
        port: 8080
    readinessProbe:
      httpGet:
        path: /health/ready
        port: 8080
    

Documentation

Next Steps

  1. Integrate with your application
  2. Set up monitoring (Prometheus + Grafana)
  3. Configure alerts
  4. Deploy to production

Support

For issues or questions, see the main repository documentation.