{"id":37317326,"url":"https://github.com/cburgosro9303/vortex-config","last_synced_at":"2026-01-16T03:12:38.054Z","repository":{"id":332023979,"uuid":"1132487983","full_name":"cburgosro9303/vortex-config","owner":"cburgosro9303","description":"High-performance, cloud-native configuration server written in Rust. Drop-in replacement for Spring Cloud Config Server.","archived":false,"fork":false,"pushed_at":"2026-01-12T06:44:40.000Z","size":694,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-12T10:05:59.044Z","etag":null,"topics":["cloud-native","config-server","configuration","docker","git","kubernetes","rust","spring-cloud-config"],"latest_commit_sha":null,"homepage":"https://github.com/cburgosro9303/vortex-config/wiki","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cburgosro9303.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-12T03:00:46.000Z","updated_at":"2026-01-12T04:26:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cburgosro9303/vortex-config","commit_stats":null,"previous_names":["cburgosro9303/vortex-config"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/cburgosro9303/vortex-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cburgosro9303%2Fvortex-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cburgosro9303%2Fvortex-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cburgosro9303%2Fvortex-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cburgosro9303%2Fvortex-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cburgosro9303","download_url":"https://codeload.github.com/cburgosro9303/vortex-config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cburgosro9303%2Fvortex-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28476991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:02:43.018Z","status":"ssl_error","status_checked_at":"2026-01-16T03:01:27.857Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud-native","config-server","configuration","docker","git","kubernetes","rust","spring-cloud-config"],"created_at":"2026-01-16T03:12:37.295Z","updated_at":"2026-01-16T03:12:38.044Z","avatar_url":"https://github.com/cburgosro9303.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vortex Config\n\n[![CI](https://github.com/cburgosro9303/vortex-config/actions/workflows/ci.yml/badge.svg)](https://github.com/cburgosro9303/vortex-config/actions/workflows/ci.yml)\n[![Coverage](https://codecov.io/gh/cburgosro9303/vortex-config/branch/main/graph/badge.svg)](https://codecov.io/gh/cburgosro9303/vortex-config)\n[![License](https://img.shields.io/badge/license-Polyform%20NC%201.0-green.svg)](LICENSE)\n[![Rust](https://img.shields.io/badge/rust-1.92%2B-orange.svg)](https://www.rust-lang.org/)\n[![Status](https://img.shields.io/badge/status-50%25%20complete-yellow.svg)](STATUS.md)\n[![Release](https://img.shields.io/github/v/release/cburgosro9303/vortex-config)](https://github.com/cburgosro9303/vortex-config/releases)\n\nA high-performance, cloud-native configuration server written in Rust. Designed as a drop-in replacement for Spring Cloud Config Server.\n\n\u003e **Project Status:** 50% Complete (5/10 epics) - [See Detailed Status](STATUS.md)\n\n## 📚 Documentation\n\n- **[Getting Started](docs/wiki/Getting-Started.md)** - Quick setup and first steps\n- **[Wiki Home](docs/wiki/Home.md)** - Complete documentation hub\n- **[API Reference](docs/wiki/API-Reference.md)** - Full API documentation\n- **[Configuration Guide](docs/wiki/Configuration.md)** - Server configuration\n- **[Deployment Guide](docs/wiki/Deployment.md)** - Production deployment\n- **[Architecture](docs/wiki/Architecture.md)** - Internal architecture\n- **[PRD](docs/PRD.md)** - Product requirements document\n\n## ⚡ Key Features\n\n### ✅ Currently Available\n\n- **🔄 Spring Cloud Config Compatible** - Drop-in replacement, no client changes needed\n- **🚀 High Performance** - Cold start \u003c 500ms, latency p99 \u003c 10ms, ~20MB memory\n- **💾 Git Backend** - Clone, fetch, auto-refresh, branches/tags support\n- **📦 Smart Cache** - Moka async cache with TTL, invalidation, metrics\n- **📊 Observability** - Prometheus metrics, structured logging, tracing\n- **🎨 Multiple Formats** - JSON, YAML, Java Properties\n- **🐳 Production Ready** - Docker (~37MB), Kubernetes manifests, CI/CD\n\n### 📋 Planned Features\n\n- **Epic 6:** S3, PostgreSQL, MySQL, SQLite backends\n- **Epic 7:** Property-level access control (PLAC), schema validation\n- **Epic 8:** WebSocket real-time updates, semantic diff\n- **Epic 9:** Feature flags, templating, compliance engine\n- **Epic 10:** Canary rollouts, drift detection, multi-cluster\n\n[View Complete Roadmap →](STATUS.md)\n\n## 🚀 Quick Start\n\n### With Docker (Recommended)\n\n```bash\ndocker run -d \\\n  -p 8888:8888 \\\n  -e GIT_URI=https://github.com/spring-cloud-samples/config-repo.git \\\n  -e GIT_DEFAULT_LABEL=main \\\n  --name vortex-config \\\n  vortex-config:latest\n\n# Test it\ncurl http://localhost:8888/health\ncurl http://localhost:8888/foo/dev | jq\n```\n\n### From Source\n\n**Prerequisites:**\n- Rust 1.92+ (edition 2024)\n- Git 2.x+ installed on system\n\n```bash\n# Clone and build\ngit clone https://github.com/cburgosro9303/vortex-config.git\ncd vortex-config\ncargo build --release\n\n# Configure\nexport GIT_URI=https://github.com/your-org/config-repo.git\nexport GIT_DEFAULT_LABEL=main\n\n# Run\ncargo run --release --bin vortex-server\n```\n\n### Example API Usage\n\n```bash\n# Get configuration (JSON)\ncurl http://localhost:8888/myapp/production\n\n# Get with specific branch\ncurl http://localhost:8888/myapp/production/v1.0.0\n\n# Get as YAML\ncurl -H \"Accept: application/x-yaml\" http://localhost:8888/myapp/production\n\n# Clear cache\ncurl -X DELETE http://localhost:8888/cache/myapp/production\n\n# Prometheus metrics\ncurl http://localhost:8888/metrics\n```\n\n**[→ Complete Getting Started Guide](docs/wiki/Getting-Started.md)**\n\n## 🏗️ Project Structure\n\n```\nvortex-config/\n├── crates/\n│   ├── vortex-core/        # Domain types, ConfigMap, formats, merge\n│   ├── vortex-git/         # Git backend with auto-refresh\n│   ├── vortex-server/      # Axum HTTP server, cache, handlers\n│   └── vortex-sources/     # Backend registry (future)\n├── deployment/             # Docker, docker-compose, K8s manifests\n├── docs/                   # Documentation, PRD, planning, wiki\n└── .github/workflows/      # CI/CD pipeline\n```\n\n**[→ Detailed Architecture](docs/wiki/Architecture.md)**\n\n## 👨‍💻 Development\n\n```bash\n# Build and test\ncargo build --workspace\ncargo test --workspace\ncargo fmt --all\ncargo clippy --workspace -- -D warnings\n\n# Run locally\ncargo run --bin vortex-server\n```\n\n**[→ Complete Development Guide](docs/wiki/Development.md)**\n\n## 🐳 Deployment\n\n### Docker\n\n```bash\n# Build image\ndocker build -f deployment/Dockerfile -t vortex-config:latest .\n\n# Run container\ndocker run -d -p 8888:8888 \\\n  -e GIT_URI=https://github.com/your-org/config-repo.git \\\n  -v vortex-repos:/var/lib/vortex/repos \\\n  vortex-config:latest\n```\n\n### Docker Compose\n\n```bash\ncd deployment\ndocker-compose up -d\n```\n\n### Kubernetes\n\nSee complete Kubernetes manifests in the [Deployment Guide](docs/wiki/Deployment.md) including:\n- Deployment with replicas\n- Service (ClusterIP)\n- ConfigMap \u0026 Secrets\n- PersistentVolumeClaim\n- Ingress (optional)\n\n**Key specs:**\n- Memory: 64Mi (request) / 256Mi (limit)\n- CPU: 100m (request) / 500m (limit)\n- Health checks on `/health`\n- Non-root user (UID 1000)\n\n**[→ Complete Deployment Guide](docs/wiki/Deployment.md)**\n\n## 🔧 Configuration\n\n### Environment Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `GIT_URI` | *required* | Git repository URL |\n| `VORTEX_PORT` | `8888` | HTTP port |\n| `VORTEX_CACHE_TTL_SECONDS` | `300` | Cache TTL |\n| `GIT_REFRESH_INTERVAL_SECS` | `30` | Refresh interval |\n| `RUST_LOG` | `info` | Log level |\n\n**[→ Complete Configuration Guide](docs/wiki/Configuration.md)**\n\n## ☁️ Spring Cloud Config Compatibility\n\n**Drop-in replacement** - No client changes required:\n\n```yaml\n# Spring Boot application.yml\nspring:\n  application:\n    name: myapp\n  cloud:\n    config:\n      uri: http://vortex-config:8888\n      profile: ${ENVIRONMENT}\n      label: main\n```\n\n**File resolution order** (highest priority first):\n1. `{app}-{profile}.yml`\n2. `{app}.yml`\n3. `application-{profile}.yml`\n4. `application.yml`\n\n## 🤝 Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch\n3. Run tests: `cargo test --workspace`\n4. Format code: `cargo fmt --all`\n5. Lint: `cargo clippy --workspace -- -D warnings`\n6. Open a Pull Request\n\n**[→ Development Guide](docs/wiki/Development.md)**\n\n## 📊 Project Metrics\n\n| Metric | Value |\n|--------|-------|\n| **Completeness** | 50% (5/10 epics) |\n| **Lines of Code** | ~7,100 Rust |\n| **Tests** | 89 active tests |\n| **Coverage** | \u003e80% critical paths |\n| **Build Time** | ~90s (release) |\n| **Binary Size** | ~10MB |\n| **Docker Image** | ~37MB |\n| **Cold Start** | \u003c500ms |\n| **Memory (idle)** | ~20MB |\n\n**[→ Detailed Status](STATUS.md)**\n\n## 📄 License\n\n**[Polyform Noncommercial License 1.0.0](LICENSE)**\n\n- ✅ **Allowed:** Personal, research, education, non-profit use\n- ❌ **Not allowed:** Commercial use without permission\n- ⚠️ **No liability:** Use at your own risk\n\n**Commercial licensing:** Contact [@cburgosro9303](https://github.com/cburgosro9303)\n\n---\n\n**Made with ⚡ by [Carlos Burgos](https://github.com/cburgosro9303)** | [Report Issue](https://github.com/cburgosro9303/vortex-config/issues) | [Request Feature](https://github.com/cburgosro9303/vortex-config/discussions)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcburgosro9303%2Fvortex-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcburgosro9303%2Fvortex-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcburgosro9303%2Fvortex-config/lists"}