Nomad App Store
Vue d'ensemble
Interface web moderne permettant de visualiser et gérer les applications déployées sur un cluster HashiCorp Nomad. Cette solution répond au besoin de centraliser la gestion de nombreux projets en entreprise avec une interface intuitive type "app store".
Problématique
En entreprise, la multiplication des microservices et applications déployées sur l'infrastructure rend difficile :
- La visibilité sur l'ensemble des projets actifs
- Le suivi des statuts en temps réel
- La recherche et filtrage parmi de nombreuses applications
- L'accès rapide aux services déployés
Solution développée
Fonctionnalités principales
- Dashboard centralisé : Vue d'ensemble de tous les services
- Statuts temps réel : Intégration directe avec l'API Nomad
- Système de catégories : Organisation par type (Infrastructure, Développement, Monitoring, etc.)
- Recherche avancée : Filtrage par nom, catégorie, statut
- Liens directs : Accès rapide aux services via leurs ports
- Actualisation automatique : Refresh des données toutes les 60 secondes
Métriques affichées
- Total : Nombre total d'applications
- Actives : Services en cours d'exécution
- Ports : Nombre de ports exposés
- Statut détaillé : Pour chaque service individuel
Architecture technique
Frontend
- React : Interface utilisateur moderne
- Design responsive : Adaptation mobile/desktop
- Components modulaires : Réutilisabilité du code
Backend Integration
- API Nomad : Connexion directe au cluster
- Polling intelligent : Récupération périodique des données
- Cache optimisé : Performance des requêtes
Déploiement
- Conteneurisé : Déployé comme job Nomad
- Auto-hébergé : Pas de dépendance externe
- Haute disponibilité : Réplication possible
Catégories supportées
- Infrastructure : Services de base (registres, proxies)
- Développement : Outils de dev (Gitea, IDE web)
- Monitoring : Supervision (Grafana, Prometheus)
- Bases de données : Stockage et persistance
- Applications Web : Services métier
- Autres : Services divers
Avantages de l'intégration Nomad
Simplicité
- API native : Pas de middleware supplémentaire
- Déploiement uniforme : Même processus que les autres apps
- Configuration simple : Fichiers HCL standards
Performance
- Léger : Consommation ressources optimisée
- Réactif : Mise à jour temps réel des statuts
- Scalable : Support de milliers d'applications
Sécurité
- ACL Nomad : Gestion des permissions intégrée
- Réseau interne : Communication cluster sécurisée
- Audit trail : Logs des actions utilisateur
Impact métier
Pour les équipes de développement
- Visibilité : Vue claire de l'écosystème applicatif
- Productivité : Accès rapide aux services
- Collaboration : Partage d'information facilité
Pour les équipes d'exploitation
- Monitoring : Surveillance centralisée
- Diagnostic : Identification rapide des problèmes
- Reporting : Métriques d'utilisation
Évolutions futures
Fonctionnalités prévues
- Gestion des déploiements : Start/stop depuis l'interface
- Historique : Suivi des changements dans le temps
- Alertes : Notifications en cas de problème
- Métriques avancées : CPU, mémoire, réseau
Intégrations
- Consul : Service discovery enrichi
- Vault : Gestion des secrets
- Grafana : Dashboards intégrés
Technologies utilisées
- Frontend : React, CSS modules, Responsive design
- Backend : API REST, intégration Nomad
- Déploiement : Docker, Nomad job
- Monitoring : Health checks intégrés
Ressources
- Démo live : Visible sur le cluster de développement
- Code source : Repository privé d'entreprise
- Documentation : Guide d'utilisation détaillé
- Formation : Sessions équipes prévues
Ce projet illustre comment simplifier la gestion d'une infrastructure complexe avec des outils adaptés et une interface utilisateur soignée.