|
| 1 | +# 🗺️ Roadmap - Monitoring Hub |
| 2 | + |
| 3 | +This document outlines planned features and improvements for the Monitoring Hub project. |
| 4 | + |
| 5 | +## 🔥 High Priority |
| 6 | + |
| 7 | +### 📊 Exporter Status Dashboard |
| 8 | + |
| 9 | +**Goal**: Provide real-time visibility into build status for all exporters |
| 10 | + |
| 11 | +**Components**: |
| 12 | +- [ ] Generate status badges JSON for shields.io endpoints |
| 13 | + - Total exporters badge |
| 14 | + - Success rate badge |
| 15 | + - RPM/DEB/Docker status badges |
| 16 | + - Last build timestamp badge |
| 17 | +- [ ] Create `STATUS.md` with per-exporter build status |
| 18 | + - Individual badges per exporter |
| 19 | + - Distribution and architecture coverage |
| 20 | + - Build timestamps and versions |
| 21 | +- [ ] Add status tab to web portal |
| 22 | + - Interactive status dashboard |
| 23 | + - Real-time metrics (success/failed/pending) |
| 24 | + - Filterable status table |
| 25 | + - Build history visualization |
| 26 | +- [ ] Implement aggregate-status workflow |
| 27 | + - Triggered after Release and Auto Release |
| 28 | + - Reads all `catalog/*.json` from gh-pages |
| 29 | + - Generates global metrics and badges |
| 30 | + - Publishes to `badges/*.json` and `STATUS.md` |
| 31 | + |
| 32 | +**Benefits**: |
| 33 | +- Quick overview of build health |
| 34 | +- Easy identification of failing builds |
| 35 | +- Better visibility for users and contributors |
| 36 | + |
| 37 | +**Implementation Notes**: |
| 38 | +- Use shields.io endpoint format for badges |
| 39 | +- Merge remote catalog data to avoid false status on partial builds |
| 40 | +- Auto-update after each release workflow |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +### 🐳 Docker Multi-Architecture Support (ARM64) |
| 45 | + |
| 46 | +**Goal**: Build and publish ARM64 Docker images alongside AMD64 |
| 47 | + |
| 48 | +**Current State**: |
| 49 | +- ✅ RPM: x86_64 + aarch64 (with QEMU) |
| 50 | +- ✅ DEB: amd64 + arm64 (with QEMU) |
| 51 | +- ❌ Docker: amd64 only |
| 52 | + |
| 53 | +**Proposed Approach**: Docker Buildx Multi-Platform (Option 1) |
| 54 | + |
| 55 | +**Implementation**: |
| 56 | +- [ ] Add `docker/setup-buildx-action@v3` to workflow |
| 57 | +- [ ] Use `docker buildx build --platform linux/amd64,linux/arm64` |
| 58 | +- [ ] Generate multi-arch manifest automatically |
| 59 | +- [ ] Update documentation for ARM64 usage |
| 60 | + |
| 61 | +**Benefits**: |
| 62 | +- Native ARM64 support (Raspberry Pi, AWS Graviton, Apple Silicon) |
| 63 | +- Single `docker pull` command auto-selects correct architecture |
| 64 | +- Standard industry approach (matches official Docker images) |
| 65 | + |
| 66 | +**Trade-offs**: |
| 67 | +- Build time: ~2x slower per exporter (QEMU emulation) |
| 68 | +- Storage: ~2x GHCR space (acceptable: 10GB vs 50GB free tier) |
| 69 | +- No additional GitHub Actions cost (uses QEMU, not ARM runners) |
| 70 | + |
| 71 | +**Estimated Impact**: |
| 72 | +- Build time: +2-3 hours total (parallelized across 35 exporters) |
| 73 | +- GHCR storage: ~10GB total (well within free tier) |
| 74 | + |
| 75 | +--- |
| 76 | + |
| 77 | +## 🚀 Medium Priority |
| 78 | + |
| 79 | +### 📦 Repository Mirrors |
| 80 | + |
| 81 | +**Goal**: Provide faster package downloads via CDN/mirrors |
| 82 | + |
| 83 | +**Options**: |
| 84 | +- [ ] CloudFlare R2 mirror for RPM/DEB packages |
| 85 | +- [ ] DigitalOcean Spaces mirror |
| 86 | +- [ ] Add mirror selection to repository configuration |
| 87 | + |
| 88 | +**Benefits**: |
| 89 | +- Faster downloads for international users |
| 90 | +- Reduced load on GitHub Releases |
| 91 | +- Better availability |
| 92 | + |
| 93 | +--- |
| 94 | + |
| 95 | +### 🔍 Enhanced Search and Filtering |
| 96 | + |
| 97 | +**Goal**: Improve exporter discovery in web portal |
| 98 | + |
| 99 | +**Features**: |
| 100 | +- [ ] Advanced search filters (category, status, architecture) |
| 101 | +- [ ] Tag-based filtering (monitoring, database, web, etc.) |
| 102 | +- [ ] Version comparison view |
| 103 | +- [ ] Dependency tree visualization |
| 104 | + |
| 105 | +--- |
| 106 | + |
| 107 | +### 📈 Metrics and Analytics |
| 108 | + |
| 109 | +**Goal**: Track usage and adoption metrics |
| 110 | + |
| 111 | +**Components**: |
| 112 | +- [ ] Download statistics per exporter |
| 113 | +- [ ] Popular exporters dashboard |
| 114 | +- [ ] Build time trends |
| 115 | +- [ ] Failure rate tracking |
| 116 | + |
| 117 | +**Privacy**: All metrics would be aggregated and anonymous. |
| 118 | + |
| 119 | +--- |
| 120 | + |
| 121 | +## 🔮 Future Ideas |
| 122 | + |
| 123 | +### 🎨 Custom Exporter Templates |
| 124 | + |
| 125 | +Allow users to create custom exporter templates for specific use cases: |
| 126 | +- Systemd service templates with custom options |
| 127 | +- Docker compose examples |
| 128 | +- Kubernetes manifests |
| 129 | +- Prometheus scrape configs |
| 130 | + |
| 131 | +### 🔐 Enhanced Security |
| 132 | + |
| 133 | +- [ ] Automated CVE scanning results in portal |
| 134 | +- [ ] Security advisories for affected exporters |
| 135 | +- [ ] SBOM (Software Bill of Materials) generation |
| 136 | +- [ ] Signature verification documentation |
| 137 | + |
| 138 | +### 🤖 Auto-Healing Builds |
| 139 | + |
| 140 | +- [ ] Automatic retry of failed builds |
| 141 | +- [ ] Smart failure detection and categorization |
| 142 | +- [ ] Notification system for persistent failures |
| 143 | + |
| 144 | +### 📝 Interactive Documentation |
| 145 | + |
| 146 | +- [ ] Live YAML validator for manifests |
| 147 | +- [ ] Interactive manifest builder |
| 148 | +- [ ] Architecture decision records (ADRs) |
| 149 | + |
| 150 | +### 🌐 Community Features |
| 151 | + |
| 152 | +- [ ] User-contributed exporter suggestions |
| 153 | +- [ ] Voting system for new exporters |
| 154 | +- [ ] Community showcase (how are you using these exporters?) |
| 155 | + |
| 156 | +--- |
| 157 | + |
| 158 | +## 📋 Completed Features |
| 159 | + |
| 160 | +### ✅ v0.18.0 - Catalog Fragmentation (2024-02-10) |
| 161 | + |
| 162 | +- Fragmented catalog structure (`catalog/index.json` + per-exporter files) |
| 163 | +- 54x smaller state manager downloads (4KB vs 217KB) |
| 164 | +- Incremental publishing support |
| 165 | +- Backward compatible legacy `catalog.json` |
| 166 | + |
| 167 | +### ✅ v0.17.0 - DEB Package Support |
| 168 | + |
| 169 | +- Full Debian/Ubuntu package support |
| 170 | +- GPG signing for DEB packages |
| 171 | +- Multi-distribution support (Ubuntu 22.04/24.04, Debian 12/13) |
| 172 | + |
| 173 | +### ✅ v0.16.0 - Intelligent Build Routing |
| 174 | + |
| 175 | +- Automatic version detection and incremental builds |
| 176 | +- Parallel build matrix for RPM/DEB/Docker |
| 177 | +- Optimized CI/CD workflows |
| 178 | + |
| 179 | +--- |
| 180 | + |
| 181 | +## 🤝 Contributing |
| 182 | + |
| 183 | +Have ideas for new features? We'd love to hear them! |
| 184 | + |
| 185 | +1. Check if the feature is already listed here |
| 186 | +2. Open a [Feature Request](https://github.com/SckyzO/monitoring-hub/issues/new/choose) |
| 187 | +3. Join the [Discussion](https://github.com/SckyzO/monitoring-hub/discussions) |
| 188 | + |
| 189 | +--- |
| 190 | + |
| 191 | +**Last Updated**: 2024-02-10 |
0 commit comments