criecm.tomcat
tomcat
FreeBSD & Debian, tomcat 8/9, jdk8, sessions memcache, support pour remoteipvalve
variables (valeur par défaut)
configuration générale
classpath_adds('') liste des jar à ajouter, séparée par des colonnes (:)tomcat_java_version(11) version de Java souhaitée pour exécuter Tomcattomcat_default_java_opts('-Djava.awt.headless=true -Xms1024m -Xmx2g -Dlog4j2.formatMsgNoLookups=true') arguments de la commande Javatomcat_java_gc_opts('-XX:+UseConcMarkSweepGC' si java < 9, '' sinon) options de GC Java à remplacertomcat_java_opts('') options Java supplémentaires pour le démarrage de Tomcattomcat_lang_opts('') arguments de commande Java supplémentairestomcat_http_port(8080) port HTTPtomcat_ajp_port(8009) port AJPtomcat_ajp_address(0.0.0.0) adresse d'écoute AJPtomcat_keystore('') chemin vers un fichier keystoretomcat_storepass('') mot de passe du keystoretomcat_catalina_props([]) liste des lignes à ajouter/remplacer dans catalina.properties (remplace la ligne correspondant à la ligne avant '=')tomcat_apr_port('') si défini, sur quel port nous devons écouter avec le connecteur APRtomcat_apr_cert('') Si défini avec un certificat x509, le support HTTPS sera activé avec le support APR le certificat et la clé seront copiés dans le répertoire de configuration de Tomcattomcat_apr_key('') clé PEM pour le certificat ci-dessus. Obligatoire si vous souhaitez TLS avec APRjre_dir(dépend de la distribution) chemin vers le JRE pour Tomcattomcat_env_vars({}) dictionnaire des variables d'environnement pour Tomcattomcat_env_file('') un fichier source pour les variables d'environnement- voir
defaults/main.ymlpour une liste exhaustive
support du reverse-proxy http(s)
proxies_ips_regex('') regex correspondant à l'IP des proxy(s) (par exemple : '^(127.0.0.1|::1)$' pour localhost IPv4 et IPv6)si
proxies_ips_regexest défini, RemoteIpValve sera configuré, supportant :- X-Forwarded-For
- X-Forwarded-Proto (doit être 'https' si ssl)
sessions memcache
si memcached_nodes n'est pas vide :
Les sessions sont répliquées entre les instances memcache sur chaque hôte Tomcat En utilisant https://github.com/magro/memcached-session-manager/wiki
memcached_nodesdoit être rempli comme suit :les noms des nœuds (ici srv1/srv2) DOIVENT correspondre à l'memcached_nodes: 'srv1:srv1.fqdn:11211,srv2:srv2.fqdn:11211'
inventory_hostnametomcat_memcached_sticky(True) Si défini sur false, active les sessions synchrones non collantes
(voir templates/context.xml.j2)
déploiement des webapps
tomcat_webapps([]) liste des dictionnaires décrivant les webapps à déployerkeyest le nomwarest le fichier war à déployer dans le répertoire des webappsgitsrcsera cloné dans le répertoiregitdstsi les deux existentscriptest la ligne de commande, relative àgitdst, à lancer (en tant que racine) après le déploiement (si existant)
tomcat_forced_deploy(False) force Tomcat à s'arrêter avant le déploiement et à supprimer les répertoires d'applications de manière forcéemyapp('') Si défini, déploie uniquement cette application (doit correspondre à webapp.key)
ansible-galaxy install criecm.tomcat