Personnaliser le fichier de configuration de Workflow Manager

Disponible avec une licence Workflow Manager.

En tant qu’administrateur de ArcGIS Workflow Manager, vous pouvez ajouter et gérer des propriétés dans le fichier workflowManager.conf afin de configurer des paramètres personnalisés pour ArcGIS Workflow Manager Server et l’application Web. Une fois Workflow Manager installé, le fichier de configuration se trouve dans ~/.esri/WorkflowManager/<hostname>/workflowManager.conf.

Remarque :

Si l’implémentation de ArcGIS Enterprise contient plusieurs machines ArcGIS Server avec Workflow Manager Server, les modifications apportées au fichier de configuration doivent être répétées dans chaque instance de ArcGIS Server.

Paramètres d’administration

Vous pouvez modifier les paramètres suivants pour définir des attributs personnalisés :

Remarque :

Si vous procédez à la mise à niveau vers Workflow Manager 11.2, les paramètres suivants n’existent pas et doivent être ajoutés manuellement au fichier de configuration.

ParamètreDescriptionExemple de format

LogRetentionPeriod

Indique la fréquence de suppression des messages de journal dans l’application Web par la tâche de nettoyage. Cette propriété est définie par défaut sur 7 jours.

Cette propriété ne modifie pas la fréquence de suppression des journaux Workflow Manager Server.

LogRetentionPeriod = 7 days

allowUnsecureWebhooks

Indique si les webhooks entrants nécessitent une sécurité d’en-tête. À partir de la version 11.2, cette propriété est définie par défaut sur false.

Remarque :

Si vous utilisez le webhook ArcGIS Survey123 pour créer des tâches dans Workflow Manager, vous devez définir cette propriété sur true.

Attention :

Lorsque cette propriété est définie sur true, toute personne disposant de l’URL du webhook peut créer des tâches dans l’application Web.

allowUnsecureWebhooks = false

webRequestAllowLocal

Indique si l’étape Send Web Request (Envoyer la requête Web) autorise les requêtes Web vers localhost.

webRequestAllowlocal = false

webRequestAllowedProtocols

Indique le protocole autorisé lors de l’étape Send Web Request (Envoyer la requête Web).

webRequestAllowedProtocols = ["https"]

webRequestBlockedHosts

Indique les hôtes bloqués pour la réception des requêtes Web lors de l’étape Send Web Request (Envoyer la requête Web).

webRequestBlockedHosts = ["169.254.169.254/32", "127.0.0.1/32", "1/128"]

webRequestBlockedPorts

Indique les ports bloqués lors de l’étape Send Web Request (Envoyer la requête Web).

webRequestBlockedPorts = ["80", "81"]

Noms des outils de géotraitement qui correspondent à des expressions Arcade

Si le nom d’un outil de géotraitement correspond au nom d’une expression ArcGIS Arcade, comme Zone tampon ou Découper, supprimez les marques de commentaire de allowedList et ajoutez les noms d’outils qui ne devraient pas être évalués comme des expressions Arcade. Vous pouvez également faire figure le nom de l’outil entre des guillemets simples ou doubles dans la configuration de l’étape Run Pro GP Tool (Exécuter un outil de géotraitement Pro).

Configurer un déploiement haute disponibilité

Dans le cas de déploiements highly available Workflow Manager hautement disponibles, chaque machine doit être configurée pour activer la haute disponibilité :

Remarque :

Lors de la fédération des machines ArcGIS Server sur lesquelles Workflow Manager Server est installé avec votre portail ArcGIS Enterprise, définissez comme URL d’administration une URL pouvant être utilisée pour communiquer avec tous les serveurs du site.

  1. Ouvrez ~/.esri/WorkflowManager/<hostname>/workflowManager.conf dans un éditeur de texte.
  2. Annulez les marques de commentaire appliquées aux lignes suivantes dans le fichier workflowManager.conf :
    • play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
    • play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"

    Si ces lignes n’existent pas dans votre fichier workflowManager.conf, ajoutez-les au bas du fichier.

  3. Enregistrez la modification dans le fichier.
  4. Redémarrez le service ArcGIS Workflow Manager Server.
  5. Répétez les étapes 1 à 4 sur chaque machine Workflow Manager Server.

    Workflow Manager Server est désormais configuré pour la haute disponibilité.

Exemple de fichier de configuration

Le fichier suivant est un exemple de fichier de configuration Workflow Manager qu’il est possible d’utiliser ou de référencer dans votre système :

#########################################################
# Workflow Manager configuration settings
# Set any user-defined configuration options in this file
#########################################################

include "application.conf"

wmx {
  // Generally should be set to <= play.server.http.idleTimeout / 2
  // This way 2  pings are sent / timeout period to avoid disconnections if one is lost
  wsKeepAlive = 3 minutes

  arcadeExpressionTimeout = 10 seconds

  featureBatchSize = 100

  webRequestTimeout = 1 minute

  webhookTokenExpiration = 30 minutes

  webhookMaxAttachmentSize = 10m

  logRetentionPeriod = 7 days

  // Note: Using unsecured webhooks will allow anyone that can access the webhook URL to create jobs
  allowUnsecureWebhooks = false

//  webRequestAllowLocal = true
//  webRequestAllowedProtocols = ["http", "https"]
//  webRequestBlockedHosts = ["169.254.169.254/32"]
//  webRequestBlockedPorts = []
//  webRequestRestrictedHeaders = ["Content-Length", "Content-Location", "Forwarded", "From", "Host", "Referer", "Referer-Policy", "User-Agent", "Via", "X-Forwarded-For", "X-Forwarded-Host", "X-Forwarded-Proto", "Strict-Transport-Security", "X-Frame-Options", "X-XSS-Protection", "X-Content-Type-Options", "Access-Control-Allow-Origin", "Content-Security-Policy", "Origin"]
}

// Uncomment to modify the allowedList of GP Tool names that are also Arcade functions
// wmx.steps.proGP {
//   allowedList = []
// }

// The following settings can be used to modify security settings

// Uncomment this to modify the allowed cipher suites. Can use same options as ArcGIS Server
//akka.ssl-config.enabledCipherSuites = [
//  "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
//  "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
//  "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
//  "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
//  ]

// Uncomment this to modify the allowed TLS protocols
//akka.ssl-config.enabledProtocols = [
//  "TLSv1.2",
//  // "TLSv1.1", // Deprecated - only use if absolutely required
//  // "TLSv1" // Deprecated - only use if absolutely required
//]

// Uncomment this to enable CORS
//play.filters.enabled += "play.filters.cors.CORSFilter"
//play.filters.cors {
//  pathPrefixes = ["/workflow"]
//  allowedOrigins = ["https://www.example.com", ...]
//  allowedHttpMethods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"]
//  allowedHttpHeaders = ["Accept", "Accept-Language", "Content-Language", "Content-Type"]
//  preflightMaxAge = 1 day
//}

// Uncomment the following lines to configure site to support multi-machine deployments
// play.modules.disabled += "esri.workflow.utils.inject.LocalDataProvider"
// play.modules.enabled += "esri.workflow.utils.inject.DistributedDataProvider"

// This can be used to change the maximum file size for attachments.
// If file sizes larger than 500MB are required, the hosted feature layer for the workflow item will also
// need to be updated in addition to this parameter. See the Workflow Manager documentation for more information.
// play.http.parser.maxDiskBuffer = 500m

// This can be used to change the max allowable POST body size
//play.http.parser.maxMemoryBuffer = 2m

Rubriques connexes