Aller au contenu

Apps

Une app regroupe les ressources d’une application : conteneurs et déploiements, projets Compose, bases de données, stockages, routes et projets Pages. Chaque app comporte des environnements, comme production et staging, et chaque ressource de l’app appartient à un environnement. La page de l’app affiche ensemble la santé, la supervision, les alertes et l’activité de toutes ces ressources, et offre un seul endroit pour exécuter, arrêter et promouvoir toute l’application.

Les Apps sont disponibles avec tous les plans, y compris Community. Ouvrez Apps dans la barre latérale, juste sous Dashboard.

Vue d'ensemble d'une app avec les environnements Production et Staging, une alerte et des tuiles pour les conteneurs, les bases de données et le stockageVue d'ensemble d'une app avec les environnements Production et Staging, une alerte et des tuiles pour les conteneurs, les bases de données et le stockage
  1. Ouvrez Apps et choisissez New App.
  2. Saisissez un nom. Il est affiché dans Apps et dans la recherche.
  3. L’app démarre avec un environnement, production, marqué Production.

Ajoutez d’autres environnements avec New → Environment sur la page de l’app ou dans le bloc Environments de l’onglet Settings de l’app. Un environnement vide ne peut encore rien faire : ouvrez sa page, autorisez-y au moins un nœud avec Allow node, puis créez-y des ressources ou importez des ressources existantes. Voir Environnements.

Un seul environnement est Production. Le badge de santé de l’app le suit, et l’environnement Production ne peut pas être supprimé. Mark as Production sur un autre environnement déplace ce marqueur.

Depuis la page de l’app, New crée un conteneur, un déploiement, un projet Compose, une base de données, un stockage, une route, un projet Pages ou un lien entre conteneurs directement dans un environnement. La boîte de dialogue de création fixe l’app, vous laisse choisir l’environnement et ne propose que les nœuds que cet environnement autorise. Lorsque l’environnement n’autorise aucun nœud du type requis, la boîte de dialogue l’indique et renvoie vers Allow a node.

Pour intégrer des ressources existantes, utilisez Import existing dans la section de ce type de ressource, dans les onglets de l’app. Vous pouvez sélectionner plusieurs ressources à la fois. Une ressource dont le nœud n’est pas autorisé par l’environnement cible est affichée désactivée avec « Allow <node> in <environment> first ». Depuis une liste normale, le menu de ligne Move to app… fait la même chose pour une seule ressource.

Pour déplacer une ressource d’un environnement à un autre, utilisez Move to Environment dans son menu de ligne sur la page de l’app. Pour sortir une ressource de l’app, choisissez No app dans Move to app…. Dans tous les cas, la ressource continue de s’exécuter ; seul son regroupement change.

Les liens entre conteneurs et les liens vers les bases de données ou le stockage n’ont pas d’environnement propre : ils appartiennent à l’environnement de la charge de travail qui les utilise et sont listés dans l’onglet Network de l’app.

Les ressources d’une app ne sont pas affichées dans les listes normales Docker, Routes, Databases, Storage et Pages, ni dans leurs arborescences de dossiers ou leurs compteurs. Ces listes ne conservent que ce qui est hors des apps. Vous atteignez toujours une ressource d’app par :

  • la page de l’app ;
  • la recherche globale, qui la trouve et l’étiquette « in <app> · <environment> » ;
  • sa propre page, qui reste accessible par URL et affiche Part of <app> · <environment> dans l’en-tête ;
  • la page du nœud, qui continue de lister tout ce qui s’exécute sur le nœud, avec un badge d’app.

Le tableau de bord et les compteurs des nœuds incluent toujours les ressources des apps. Les points de terminaison de liste de l’API REST et de MCP les renvoient aussi, avec un champ app et un filtre qui exclut les membres des apps.

L’en-tête de la page de l’app affiche la santé de l’app, le nombre d’environnements et de ressources, Refresh et New. Les onglets sont :

Onglet Ce qu’il affiche
Overview Un panneau par environnement avec sa santé, les alertes ouvertes et des tuiles pour les conteneurs, bases de données, stockages, routes, Pages et nœuds, sur la dernière heure ou les dernières 24 heures
Compute Conteneurs, déploiements et projets Compose, regroupés par environnement
Data Bases de données et stockages, regroupés par environnement
Network Routes, projets Pages et liens entre conteneurs, vers les bases de données et vers le stockage
Nodes Les nœuds que chaque environnement peut utiliser
Activity Entrées d’audit de l’app et de ses ressources, les plus récentes en premier
Settings Nom, maintenance de toute l’app, environnements et zone de danger

Les lignes de Compute, Data et Network ont les mêmes colonnes et actions que les listes normales.

Overview déclenche des alertes pour un conteneur qui a redémarré 3 fois ou plus en une heure, un disque de base de données ou de stockage rempli à 85 % ou plus, une route avec 2 % ou plus d’erreurs serveur sur 15 minutes, et une ressource passée hors ligne. Chaque alerte renvoie vers la ressource.

Activity commence lorsqu’une ressource rejoint l’app ; l’historique antérieur reste dans les entrées d’audit propres à la ressource. Vous voyez les entrées des ressources que vous êtes autorisé à consulter.

Un environnement est Failing lorsque l’une de ses ressources est en échec, Degraded lorsque l’une est dégradée, et Healthy sinon ; un environnement vide est sain. Les routes en maintenance et les routes désactivées ne comptent pas. La santé de l’app est celle de son environnement Production, sauf si l’app est arrêtée ou isolée, ce que le badge affiche alors. Une base de données ou un stockage qui s’exécute sur plusieurs serveurs compte comme dégradé tant qu’il ne peut pas basculer.

L’accès à une app s’accorde sur l’app ou sur l’un de ses environnements. Dans Administration, ajoutez une ligne d’accès In an app environment et choisissez « <app> · every environment » ou « <app> · <environment> ». Les rôles de cette ligne sont :

Rôle Peut
Viewer Voir l’app, ses environnements et leurs ressources
Deployer Viewer, plus promouvoir dans l’environnement
Developer Deployer, plus gérer l’environnement : variables, secrets, nœuds autorisés, maintenance, et entrée et sortie des ressources
Operator Developer, plus arrêter, démarrer et isoler

Une ligne « every environment » couvre aussi les environnements ajoutés plus tard. Les scopes correspondants sont apps:view, apps:create, apps:edit, apps:delete, apps:env:manage, apps:promote et apps:operate ; voir Référence des scopes. Les actions sur une ressource elle-même, comme le redémarrage d’un conteneur, nécessitent toujours le scope propre à cette ressource.

  • Avec apps:view sur l’app, un utilisateur voit toute l’app : chaque environnement, Overview et Activity, y compris les entrées concernant l’app et ses environnements. Les ressources nécessitent toujours leurs propres scopes de consultation : les listes, compteurs et entrées d’activité ne couvrent que les ressources que l’utilisateur peut consulter. apps:view sur un environnement affiche cet environnement en entier.
  • Sans apps:view, une app est visible par toute personne qui peut voir l’une de ses ressources (conteneur, déploiement, projet Compose, base de données, stockage, route ou projet Pages) grâce à ses propres droits, y compris un droit sur la ressource elle-même, sur le dossier de son environnement ou sur le dossier de l’app. Apps apparaît alors dans la barre latérale. L’utilisateur ne voit que les environnements qui contiennent de telles ressources et, à l’intérieur, uniquement ces ressources. La santé, les compteurs, Overview, Activity et les éléments d’incident ne couvrent que ces ressources ; Activity omet les entrées concernant l’app et ses environnements.

Voir une app à travers ses ressources ne donne aucun autre droit. Les nœuds autorisés, la maintenance, les variables et secrets, la promotion, l’arrêt et l’isolement nécessitent toujours leurs scopes d’app. Un tel utilisateur n’a pas accès à l’onglet Nodes, et un environnement visible uniquement à travers ses ressources n’ouvre pas de page propre.

Delete App dans la zone de danger de Settings supprime l’app. Ses ressources continuent de s’exécuter et quittent l’app ; elles réapparaissent dans les listes normales. Les variables, secrets et nœuds autorisés des environnements sont supprimés, et les accès accordés pour l’app et ses environnements sont retirés. La suppression d’un seul environnement fonctionne de la même manière pour cet environnement. Ni l’une ni l’autre n’est possible tant que l’app ou cet environnement est arrêté ou isolé.

Tout ce qui figure sur ces pages est aussi disponible via l’API REST sous /api/apps et via MCP : list_apps, get_app, manage_app, manage_app_environment, manage_app_variables, manage_app_members, get_app_overview, get_app_activity, manage_app_incident et promote_app_environment. Pour créer une ressource dans un environnement via l’API ou MCP, passez le folderId que get_app renvoie pour ce type de ressource. list_apps et get_app indiquent access pour l’app et pour chaque environnement : full avec apps:view, members lorsqu’il n’est visible qu’à travers ses ressources.