Aller au contenu principal

Interface web Temporal (temporal-ui)

Interface web pour inspecter et piloter les workflows Temporal du Navin Control Plane : espaces de noms, workflows, files de tâches, planifications. Sans état, elle lit le frontend Temporal en gRPC.

Généré depuis catalog/services/temporal-ui.yaml : ne pas modifier à la main.

Résumé​

Version2.57.0
Usageinstaller et configurer
Coucheinfrastructure (présentée à part)
CatégoriePlateformes de données
Méthodes d'installationbinary, podman
Connexion externenon
Réservé au bac à sablenon

Licence​

Identifiant SPDXMIT
Politique de licencelicence socle (MIT ou Apache-2.0)
Exception de licence-
Composant de la plateformetemporal-ui

Paquets et artefacts​

Un paquet que publie le projet du service (son image, son archive binaire, son paquet Python ou système) porte la licence du service ; un paquet tiers porte la licence écrite sur sa ligne, lue dans les métadonnées officielles du projet amont.

TypePaquetVersionLicenceDétails
image de conteneurdocker.io/temporalio/ui2.57.0MITclé d'image ui, utilisée par ui, condensé sha256:d944f959d0923c35cd991a17a0edbe087770eff843724b181933e0cfdd563ab2
archive binaireui-server_2.57.0_linux_amd64.tar.gz2.57.0MIThttps://github.com/temporalio/ui-server/releases/download/v2.57.0/ui-server_2.57.0_linux_amd64.tar.gz, x86_64, somme de contrôle sha256

Les images sont épinglées par étiquette dans le descripteur, et par condensé (digest) quand le descripteur en déclare un (le bundle hors ligne refuse alors une image téléchargée qui ne le porte pas) ; le condensé est enregistré dans le miroir du Manager à l'import du bundle hors ligne, et chaque téléchargement ou chargement est vérifié par rapport à lui.

Systèmes et architectures pris en charge​

MéthodeSystèmes d'exploitationArchitectures
binaryfamille RHEL (dnf), famille Debian (apt), Arch Linux (pacman)x86_64 (architecture des artefacts du descripteur)
podmanfamille RHEL (dnf), famille Debian (apt), Arch Linux (pacman)x86_64, aarch64 (non restreintes par le descripteur)

Systèmes hôtes certifiés : RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). Le contrôle préalable des hôtes accepte ces systèmes (une autre version d'une famille connue donne un avertissement, une version en fin de vie est refusée) et les architectures x86_64 et aarch64.

Prérequis​

Hôte​

  • au moins 256 Mo de mémoire (bloquant, memory).

Réseau et ports​

ComposantNom du portPortOuvert dans le pare-feu de l'hôte
uiweb8233/tcpoui

Services et connexions nécessaires​

Détail et résolution : voir Dépendances.

Méthodes et modes d'installation​

MéthodeDéfautCe que la méthode utilise
binaryouiles archives binaires du descripteur, décompressées dans le répertoire du service
podman-les images de conteneur du descripteur, exécutées par Podman sous systemd

Composants​

ComposantTypeMéthodes d'installationPorts
Serveur de l'interface web (ui)maîtrebinary, podman8233/tcp

Instance unique (single) (par défaut)​

Un seul serveur d'interface, suffisant pour la plupart des installations.

Ce que le mode déploie :

ComposantPlacement
uimin 1, max 1

Répliqué (replicated)​

Plusieurs serveurs sans état derrière le répartiteur de charge (HAProxy) ; indiquez l'URL publique du répartiteur.

Ce que le mode déploie :

ComposantPlacement
uimin 2, recommandé 2

Installer ce service​

L'assistant d'installation du Navin Manager planifie, valide et exécute l'installation ; il faut la permission services:install sur le cluster.

  1. Ouvrez l'assistant. Dans Clusters, choisissez l'action de ligne Installer des services du cluster cible. L'assistant s'ouvre sur sa première étape, Service.

  2. Choisissez le service. À l'étape Service, sélectionnez Interface web Temporal. La carte affiche la licence MIT et les dépendances dont l'installation a besoin. Choisissez la Méthode parmi binary, podman (par défaut binary).

  3. Choisissez les hôtes et le mode. À l'étape Hôtes, cochez les hôtes, puis choisissez le Mode : single (par défaut), replicated. Chaque mode déploie les composants listés dans Méthodes et modes d'installation.

  4. Liez les dépendances. À l'étape Liaisons, choisissez pour chaque dépendance (temporal) Installer avec la plateforme ou Utiliser une connexion existante ; une dépendance facultative peut rester sur Aucune liaison.

  5. Configurez. À l'étape Configuration, relisez les paramètres (voir Paramètres de configuration). Les mots de passe laissés vides avec une valeur générée par défaut sont générés et scellés par le Manager.

  6. Relisez et installez. À l'étape Installation, le Manager valide le plan et affiche l'ordre d'installation ; quand il indique « Le plan est valide. Prêt pour l'installation. », choisissez Installer. Un mode hautement disponible n'est installé que si ses contrôles HA réussissent.

  7. Vérifiez. L'opération se termine quand les contrôles de santé de chaque instance réussissent (voir Contrôles de santé) ; le service apparaît alors en marche dans Services.

Haute disponibilité​

Clusterréplicas (replication)
Haute disponibilitéexterne (external)
Basculerépartiteur (load-balancer)
Réplicationaucun (none)
Quorumaucun (none)
Découverteaucun (none)
Point d'entréerépartiteur (load-balancer)
Documentation officiellehttps://docs.temporal.io/references/web-ui-configuration

Prérequis​

PrérequisDoit être hautement disponibleModesDescription
temporalouimodes de niveau ha ou clusterTemporal Server joignable en gRPC, lui-même hautement disponible.

Topologie par mode​

ModesNiveau le plus haut du catalogueRépartitionComposant du quorumDomaines de panneDescription
singleautonome (standalone)unique (single)-1Une instance, sans tolérance aux pannes.
replicatedha (ha)actif-actif (active-active)-2Plusieurs serveurs sans état derrière HAProxy ; l'URL publique pointe vers le répartiteur.

Paramètres de configuration​

Réseau​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Port web (port)port8233-nonnonouiPort de l'interface web et de son point de contrôle /healthz.
TLS (tls_enabled)boolfalse-nonnonouiServir l'interface en TLS avec un certificat émis par l'autorité de la console.
URL publique (public_url)url(vide)-nonnonnonAdresse utilisée par les opérateurs, par exemple le répartiteur de charge devant une interface répliquée. Vide : l'adresse de l'hôte.
Origines supplémentaires (cors_origins)list[]-nonnonnonAutres origines autorisées à appeler l'interface (l'URL publique l'est toujours). (avancé)

Affichage​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Espace de noms par défaut (default_namespace)stringdefault^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$nonnonnonEspace de noms ouvert en premier par l'interface.
Lecture seule (read_only)boolfalse-nonnonnonMasquer toutes les actions d'écriture (arrêt, annulation, signal, réinitialisation, lancement) : les opérateurs ne peuvent qu'inspecter.
Bannière d'environnement (banner_text)string(vide)^[A-Za-z0-9 ._-]{1,60}$nonnonnonTexte d'une bannière permanente, par exemple PRODUCTION (lettres, chiffres, espaces, points, tirets). Vide : aucune bannière.
Couleur de la bannière (banner_color)enumwarningneutral, info, warning, success, danger, error, accentnonnonnonCouleur prédéfinie de la bannière d'environnement.

Authentification unique​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Connexion OIDC (oidc_enabled)boolfalse-nonnonnonExiger une connexion OpenID Connect (Keycloak de la plateforme ou fournisseur d'identité de la banque).
URL du fournisseur (oidc_provider_url)url(vide)-nonnonnonURL de l'émetteur du fournisseur OIDC, par exemple https://sso.bank.internal/realms/navin.
Identifiant du client (oidc_client_id)string(vide)-nonnonnonClient enregistré pour l'interface auprès du fournisseur OIDC.
Secret du client (oidc_client_secret)password--nonouinonSecret du client OIDC (stocké scellé, écrit seulement dans un fichier lisible par le service).

Dépendances​

Pour chaque dépendance active, le Manager prend la première solution parmi : la liaison choisie dans l'assistant ; un service de la même installation qui la fournit ; un service déjà installé dans le cluster ; la seule connexion du type attendu. Sinon, une dépendance facultative reste non liée, et une dépendance obligatoire est ajoutée à l'installation dans son mode par défaut (la colonne ci-dessous nomme le service du catalogue ajouté).

LiaisonFournie parType de connexionPoint d'accèsFacultativeQuand rien n'est liéDescription
temporaltemporal-frontendnontemporal est ajouté à l'installationFrontend Temporal (gRPC) que l'interface web lit et pilote.

Points d'accès​

Point d'accèsSchémaComposantPortCheminParamètre TLSParamètres de liaisonSecrets de liaisonCommande de provisionnement
webhttpui8233 (port)-tls_enabled---

Contrôles de santé​

Vivacité (par instance)​

ComposantContrôleDétails
uiHTTP {{ ('https://' ~ host.fqdn) if config.tls_enabled else ('http://' ~ (host.ip or '127.0.0.1')) }}:{{ config.port }}/healthzAttendu 200 ; 30 tentatives ; intervalle 2 s ; délai 3 s

Disponibilité (contrôle du service)​

ContrôleDétails
HTTP {{ ('https://' ~ host.fqdn) if config.tls_enabled else ('http://' ~ (host.ip or '127.0.0.1')) }}:{{ config.port }}/healthzAttendu 200 ; Attendu OK ; 5 tentatives ; intervalle 2 s ; délai 5 s

Contrôles préalables​

ContrôleTypeSignificationSévéritéComposants
memorymemory_mb {"min": 256}au moins 256 Mo de mémoirebloquanttous les composants
web_port_freeport_free {"param": "port"}port 8233 libre sur l'hôtebloquanttous les composants

Désinstallation​

Chemins supprimés quand les données sont purgées : {{ paths.log }}.

Liens rapides​

  • Interface web Temporal : {{ (config.public_url or ((('https' if config.tls_enabled else 'http')) ~ '://' ~ host.fqdn ~ ':' ~ config.port)).rstrip('/') ~ '/' }}

Documentation amont​