À propos du projet
DeployBar est une application native macOS pour la barre de menus, développée en Swift, qui regroupe la surveillance des déploiements sur plusieurs fournisseurs cloud dans une interface unique et compacte. Au lieu de jongler entre plusieurs onglets de navigateur et tableaux de bord, les utilisateurs disposent d'un indicateur d'état dans la barre de menus, d'un popover SwiftUI affichant des instantanés de déploiement indépendants du fournisseur, et de notifications macOS natives lorsque les déploiements démarrent, réussissent, échouent, sont annulés ou supprimés.
L'application est conçue pour être locale-first : il n'y a pas de service backend DeployBar, pas de synchronisation hébergée des identifiants, et pas de shell Electron. Les jetons API des fournisseurs sont stockés exclusivement dans le trousseau macOS sous l'identifiant de service com.deploybar.tokens, tandis que les paramètres non secrets sont persistés en JSON dans ~/Library/Application Support/DeployBar/settings.json. Le projet est publié sous licence MIT et distribué sous forme de Homebrew Cask signé et notarisé.
Les fournisseurs pris en charge incluent Vercel (API REST), Railway (API GraphQL), Netlify (API REST), Render (API REST), Cloudflare Pages (API v4), Cloudflare Workers (API v4 avec historique des builds), DigitalOcean App Platform (API Apps), Heroku (API Platform), Fly.io (API GraphQL), GitHub Deployments (API REST) et GitLab Deployments (API REST). Chaque fournisseur mappe ses états de déploiement natifs vers un modèle de statut unifié couvrant les états en file d'attente, en construction, prêt, échoué, annulé et supprimé. L'application prend en charge la découverte automatique des ressources à partir des paramètres, la configuration des cibles surveillées, et la planification des actualisations avec conservation des instantanés obsolètes, backoff en cas de problème, et interrogation plus rapide pendant que les déploiements sont actifs.
Le codebase cible macOS 13+ et utilise Swift 6, Swift Package Manager, SwiftUI pour les surfaces popover et paramètres, et AppKit NSStatusItem pour l'intégration à la barre de menus. Les versions de release incluent les mises à jour d'application Sparkle via GitHub Releases. Le projet comprend des tests pour le mappage des statuts, l'analyse des réponses, les requêtes fournisseurs, la découverte, la rédaction, la correspondance des cibles surveillées et le comportement d'actualisation. Les plans futurs incluent des diagnostics fournisseurs plus approfondis, un suivi optionnel des journaux d'échec, et plus de finitions autour de la découverte des comptes et des ressources.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.