Open main menu

aha is the Ansi HTML Adapter

It converts ANSI escape sequences of a unix terminal to HTML code.

See https://github.com/theZiz/aha


Example

sudo meza deploy production --list-tasks | sudo tee > >(aha --black --title "Production Deploy Tasks" > /tmp/deploy.tasks.html)

produces output like the following:


playbook: /opt/meza/src/playbooks/site.yml

  play #1 (localhost): localhost	TAGS: []
    tasks:
      Ensure no password on meza-ansible user on controller	TAGS: []
      Ensure controller has user alt-meza-ansible	TAGS: []
      Ensure user alt-meza-ansible .ssh dir configured	TAGS: []
      Copy meza-ansible keys to alt-meza-ansible	TAGS: []
      Copy meza-ansible known_hosts to alt-meza-ansible	TAGS: []
      Ensure secret.yml encrypted	TAGS: []
      Ensure secret.yml owned by meza-ansible	TAGS: []

  play #2 (app-servers): app-servers	TAGS: []
    tasks:
      set-vars : Set meza-core path variables	TAGS: []
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: []
      set-vars : Set meza local public variables	TAGS: []
      set-vars : Get individual wikis dirs from localhost	TAGS: []
      set_fact	TAGS: []
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: []
      set-vars : Set meza local secret variables	TAGS: []
      init-controller-config : Does controller have local config	TAGS: []
      init-controller-config : Get local config repo if set	TAGS: []
      init-controller-config : Does controller have local config	TAGS: []
      init-controller-config : Ensure m_local_public configured on controller	TAGS: []
      init-controller-config : Ensure m_local_public/wikis exists	TAGS: []
      init-controller-config : Ensure pre/post settings directories exists in config	TAGS: []
      init-controller-config : Ensure base files present, do NOT overwrite	TAGS: []

  play #3 (all:!exclude-all:!load-balancers-unmanaged): all:!exclude-all:!load-balancers-unmanaged	TAGS: [base]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [base]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [base]
      set-vars : Set meza local public variables	TAGS: [base]
      set-vars : Get individual wikis dirs from localhost	TAGS: [base]
      set_fact	TAGS: [base]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [base]
      set-vars : Set meza local secret variables	TAGS: [base]
      base : Ensure user's meza-ansible and alt-meza-ansible in group "wheel"	TAGS: [base]
      base : Ensure user alt-meza-ansible .ssh dir configured	TAGS: [base]
      base : Copy meza-ansible authorized_keys to alt-meza-ansible	TAGS: [base]
      base : Ensure user meza-ansible and alt-meza-ansible authorized_keys configured	TAGS: [base]
      base : Set authorized key for alt-meza-ansible	TAGS: [base]
      base : Ensure no password on alt-meza-ansible user	TAGS: [base]
      base : Ensure alt-meza-ansible is passwordless sudoer	TAGS: [base]
      base : ensure deltarpm is installed and latest	TAGS: [base, latest]
      base : upgrade all packages	TAGS: [base, latest]
      base : ensure EPEL installed	TAGS: [base]
      base : Check if EPEL repo is already configured.	TAGS: [base]
      base : Install EPEL repo.	TAGS: [base]
      base : Import EPEL GPG key.	TAGS: [base]
      base : Ensure optional repos enabled	TAGS: [base]
      base : ensure libselinux-python installed prior to SELinux	TAGS: [base]
      base : Install base packages	TAGS: [base]
      base : put SELinux in permissive mode	TAGS: [base]
      base : ensure firewalld is running (and enable it at boot)	TAGS: [base]
      base : Ensure sshd is running and enabled	TAGS: [base]
      base : Ensure SSH client and SSH Daemon configs in place	TAGS: [base]
      base : Ensure SSH client and SSH Daemon configs in place	TAGS: [base]
      base : Install NTP	TAGS: [base]
      base : Ensure NTP is running and enabled as configured.	TAGS: [base]
      base : Copy the ntp.conf template file	TAGS: [base]
      base : Ensure deploy directory in place	TAGS: [base]
      base : Ensure config variables available in PHP and shell files	TAGS: [base]
      base : Ensure {{ m_tmp }} exists	TAGS: [base]
      base : Ensure {{ m_logs }} exists	TAGS: [base]
      base : Ensure crontab empty for meza-ansible when overwriting wikis	TAGS: [base]
      base : Copy any custom PEM-format CA certs into place	TAGS: [base]
      base : Copy any custom OpenSSL extended-format CA certs into place	TAGS: [base]
      base : Update CA trust if certs changed	TAGS: [base]

  play #4 (load-balancers): load-balancers	TAGS: [load-balancer]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [load-balancer]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [load-balancer]
      set-vars : Set meza local public variables	TAGS: [load-balancer]
      set-vars : Get individual wikis dirs from localhost	TAGS: [load-balancer]
      set_fact	TAGS: [load-balancer]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [load-balancer]
      set-vars : Set meza local secret variables	TAGS: [load-balancer]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [load-balancer]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [load-balancer]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [load-balancer]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [load-balancer]
      haproxy : Install haproxy packages	TAGS: [load-balancer]
      haproxy : Ensure haproxy certs directory exists	TAGS: [load-balancer]
      haproxy : Check if secret config on CONTROLLER has SSL keys	TAGS: [load-balancer]
      haproxy : Ensure config SSL directory exists	TAGS: [load-balancer]
      haproxy : If not exists, create self-signed SSL cert on CONTROLLER	TAGS: [load-balancer]
      haproxy : Ensure SSL cert and key are encrypted	TAGS: [load-balancer]
      haproxy : Read SSL key into variable	TAGS: [load-balancer]
      haproxy : Read SSL cert into variable	TAGS: [load-balancer]
      haproxy : Ensure cert and key assembled into into pem file	TAGS: [load-balancer]
      haproxy : Ensure haproxy certs have secure permissions	TAGS: [load-balancer]
      haproxy : write the haproxy config file	TAGS: [load-balancer]
      haproxy : Ensure error files directory in place	TAGS: [load-balancer]
      haproxy : Ensure error pages in place	TAGS: [load-balancer]
      haproxy : Ensure firewalld haproxy service files in place	TAGS: [load-balancer]
      haproxy : Ensure SELinux context for firewalld haproxy service files	TAGS: [load-balancer]
      haproxy : Configure firewalld for haproxy via port 80 and 443	TAGS: [load-balancer]
      haproxy : Ensure firewalld port 1936 OPEN when haproxy stats ENABLED	TAGS: [load-balancer]
      haproxy : Ensure firewalld port 1936 CLOSED when haproxy stats DISABLED	TAGS: [load-balancer]
      haproxy : Ensure firewalld port 8088 OPEN when PHP profiling ENABLED	TAGS: [load-balancer]
      haproxy : Ensure firewalld port 8088 CLOSED when PHP profiling DISABLED	TAGS: [load-balancer]
      haproxy : Uncomment '$ModLoad imudp' in /etc/rsyslog.conf	TAGS: [load-balancer]
      haproxy : Uncomment '$UDPServerRun 514' in /etc/rsyslog.conf	TAGS: [load-balancer]
      haproxy : Ensure /etc/rsyslog.d/haproxy.conf configured	TAGS: [load-balancer]
      haproxy : ensure haproxy is running (and enable it at boot)	TAGS: [load-balancer]

  play #5 (app-servers): app-servers	TAGS: [apache-php]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [apache-php]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [apache-php]
      set-vars : Set meza local public variables	TAGS: [apache-php]
      set-vars : Get individual wikis dirs from localhost	TAGS: [apache-php]
      set_fact	TAGS: [apache-php]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [apache-php]
      set-vars : Set meza local secret variables	TAGS: [apache-php]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [apache-php]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [apache-php]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [apache-php]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [apache-php]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [apache-php]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [apache-php]
      base-extras : Install base-extras packages	TAGS: [apache-php]
      imagemagick : Ensure ghostscript installed	TAGS: [apache-php]
      imagemagick : Install Imagemagick from meza repo	TAGS: [apache-php]
      imagemagick : Copy xpdf bin64 files to /usr/local/bin	TAGS: [apache-php]
      apache-php : Install apache packages	TAGS: [apache-php]
      apache-php : Make apache own htdocs directory	TAGS: [apache-php]
      apache-php : Ensure user meza-ansible and alt-meza-ansible in group "apache"	TAGS: [apache-php]
      apache-php : write the apache config file	TAGS: [apache-php]
      apache-php : HTTPS Always with unmanaged load balancer	TAGS: [apache-php]
      apache-php : Install php dependency packages	TAGS: [apache-php]
      apache-php : Install IUS (CentOS) repo.	TAGS: [apache-php]
      apache-php : Install IUS (RHEL) repo.	TAGS: [apache-php]
      apache-php : Import IUS Community Project GPG key	TAGS: [apache-php]
      apache-php : Ensure PHP IUS packages installed	TAGS: [apache-php]
      apache-php : Write php.ini file	TAGS: [apache-php]
      apache-php : Ensure PEAR Mail and Net_SMTP packages installed	TAGS: [apache-php, latest]
      apache-php : Ensure Composer configured	TAGS: [apache-php]
      apache-php : add mongo repo file	TAGS: [apache-php]
      apache-php : Install mongodb-org package	TAGS: [apache-php]
      apache-php : Ensure MongoDB conf file in place	TAGS: [apache-php]
      apache-php : run mongodb	TAGS: [apache-php]
      apache-php : Install XHProf and mongo PECL packages for profiling	TAGS: [apache-php]
      apache-php : Ensure XHGui present	TAGS: [apache-php]
      apache-php : Ensure XHGui directory owned by Apache	TAGS: [apache-php]
      apache-php : Ensure XHGui packages present	TAGS: [apache-php]
      apache-php : Ensure XHGui using correct Mongo DB instance (on first app server)	TAGS: [apache-php]
      apache-php : Ensure XHGui cache directory configured	TAGS: [apache-php]
      apache-php : Open port 27017 for MongoDB on all but first app server	TAGS: [apache-php]
      apache-php : Open port 8089 to load balancer	TAGS: [apache-php]
      apache-php : Check if MongoDB service exists	TAGS: [apache-php]
      apache-php : Stop MongoDB service if profiling is disabled	TAGS: [apache-php]
      apache-php : ensure apache is running (and enable it at boot)	TAGS: [apache-php]

  play #6 (app-servers): app-servers	TAGS: [gluster]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [gluster]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [gluster]
      set-vars : Set meza local public variables	TAGS: [gluster]
      set-vars : Get individual wikis dirs from localhost	TAGS: [gluster]
      set_fact	TAGS: [gluster]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [gluster]
      set-vars : Set meza local secret variables	TAGS: [gluster]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [gluster]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [gluster]
      gluster : Include OS-specific variables.	TAGS: [gluster]
      gluster : Ensure repo in place for RHEL	TAGS: [gluster]
      gluster : Ensure CentOS prerequisites in place	TAGS: [gluster]
      gluster : Install Packages	TAGS: [gluster]
      gluster : Add PPA for GlusterFS.	TAGS: [gluster]
      gluster : Ensure GlusterFS will reinstall if the PPA was just added.	TAGS: [gluster]
      gluster : Ensure GlusterFS is installed.	TAGS: [gluster]
      gluster : Ensure GlusterFS is started and enabled at boot.	TAGS: [gluster]
      gluster : Ensure Gluster brick and mount directories exist.	TAGS: [gluster]
      gluster : Configure Gluster volume.	TAGS: [gluster]
      gluster : Ensure Gluster volume is mounted.	TAGS: [gluster]

  play #7 (memcached-servers): memcached-servers	TAGS: [memcached]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [memcached]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [memcached]
      set-vars : Set meza local public variables	TAGS: [memcached]
      set-vars : Get individual wikis dirs from localhost	TAGS: [memcached]
      set_fact	TAGS: [memcached]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [memcached]
      set-vars : Set meza local secret variables	TAGS: [memcached]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [memcached]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [memcached]
      memcached : Ensure memcached and netcat packages latest	TAGS: [latest, memcached]
      memcached : Write the memcached config file	TAGS: [memcached]
      memcached : Ensure memcached is running (and enable it at boot)	TAGS: [memcached]

  play #8 (db-master): db-master	TAGS: [database]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [database]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [database]
      set-vars : Set meza local public variables	TAGS: [database]
      set-vars : Get individual wikis dirs from localhost	TAGS: [database]
      set_fact	TAGS: [database]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [database]
      set-vars : Set meza local secret variables	TAGS: [database]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [database]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [database]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [database]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [database]
      database : Include OS-specific variables.	TAGS: [database]
      database : Include OS-specific variables (RedHat).	TAGS: [database]
      database : Define mysql_packages.	TAGS: [database]
      database : Define mysql_daemon.	TAGS: [database]
      database : Define mysql_slow_query_log_file.	TAGS: [database]
      database : Define mysql_log_error.	TAGS: [database]
      database : Define mysql_syslog_tag.	TAGS: [database]
      database : Define mysql_pid_file.	TAGS: [database]
      database : Define mysql_config_file.	TAGS: [database]
      database : Define mysql_config_include_dir.	TAGS: [database]
      database : Define mysql_socket.	TAGS: [database]
      database : Define mysql_supports_innodb_large_prefix.	TAGS: [database]
      include	TAGS: [database]
      include	TAGS: [database]
      database : Check if MySQL packages were installed.	TAGS: [database]
      database : Copy my.cnf global MySQL configuration.	TAGS: [database]
      database : Verify mysql include directory exists.	TAGS: [database]
      database : Copy my.cnf override files into include directory.	TAGS: [database]
      database : Create slow query log file (if configured).	TAGS: [database]
      database : Create datadir if it does not exist	TAGS: [database]
      database : Set ownership on slow query log file (if configured).	TAGS: [database]
      database : Create error log file (if configured).	TAGS: [database]
      database : Set ownership on error log file (if configured).	TAGS: [database]
      database : Rotate MariaDB log	TAGS: [database]
      database : Ensure MySQL is started and enabled on boot.	TAGS: [database]
      database : Get MySQL version.	TAGS: [database]
      database : Ensure default user is present.	TAGS: [database]
      database : Copy user-my.cnf file with password credentials.	TAGS: [database]
      database : Disallow root login remotely	TAGS: [database]
      database : Get list of hosts for the root user.	TAGS: [database]
      database : Update MySQL root password for localhost root account (5.7.x).	TAGS: [database]
      database : Update MySQL root password for localhost root account (< 5.7.x).	TAGS: [database]
      database : Copy .my.cnf file with root password credentials	TAGS: [database]
      database : Copy .my.cnf file with root password credentials	TAGS: [database]
      database : Get list of hosts for the anonymous user.	TAGS: [database]
      database : Remove anonymous MySQL users.	TAGS: [database]
      database : Remove MySQL test database.	TAGS: [database]
      database : Ensure MySQL databases are present.	TAGS: [database]
      database : Ensure meza application MySQL users are present	TAGS: [database]
      database : If this DB-server is an app server, include localhost as a valid host for application user	TAGS: [database]
      database : Ensure additional MySQL users are present.	TAGS: [database]
      database : Check if valid slave	TAGS: [database]
      database : Check if valid master	TAGS: [database]
      database : Ensure replication user exists on master.	TAGS: [database]
      database : Check slave replication status.	TAGS: [database]
      debug	TAGS: [database]
      database : Check if slave needs configuration	TAGS: [database]
      debug	TAGS: [database]
      database : Check master replication status.	TAGS: [database]
      debug	TAGS: [database]
      database : fetch list of wikis on master	TAGS: [database]
      database : export dump file on master	TAGS: [database]
      database : fetch dump file	TAGS: [database]
      database : put dump file	TAGS: [database]
      database : Import dump on slave(s)	TAGS: [database]
      mysql_replication	TAGS: [database]
      database : Configure replication on the slave.	TAGS: [database]
      database : Start replication.	TAGS: [database]

  play #9 (db-slaves): db-slaves	TAGS: [database]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [database]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [database]
      set-vars : Set meza local public variables	TAGS: [database]
      set-vars : Get individual wikis dirs from localhost	TAGS: [database]
      set_fact	TAGS: [database]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [database]
      set-vars : Set meza local secret variables	TAGS: [database]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [database]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [database]
      database : Include OS-specific variables.	TAGS: [database]
      database : Include OS-specific variables (RedHat).	TAGS: [database]
      database : Define mysql_packages.	TAGS: [database]
      database : Define mysql_daemon.	TAGS: [database]
      database : Define mysql_slow_query_log_file.	TAGS: [database]
      database : Define mysql_log_error.	TAGS: [database]
      database : Define mysql_syslog_tag.	TAGS: [database]
      database : Define mysql_pid_file.	TAGS: [database]
      database : Define mysql_config_file.	TAGS: [database]
      database : Define mysql_config_include_dir.	TAGS: [database]
      database : Define mysql_socket.	TAGS: [database]
      database : Define mysql_supports_innodb_large_prefix.	TAGS: [database]
      include	TAGS: [database]
      include	TAGS: [database]
      database : Check if MySQL packages were installed.	TAGS: [database]
      database : Copy my.cnf global MySQL configuration.	TAGS: [database]
      database : Verify mysql include directory exists.	TAGS: [database]
      database : Copy my.cnf override files into include directory.	TAGS: [database]
      database : Create slow query log file (if configured).	TAGS: [database]
      database : Create datadir if it does not exist	TAGS: [database]
      database : Set ownership on slow query log file (if configured).	TAGS: [database]
      database : Create error log file (if configured).	TAGS: [database]
      database : Set ownership on error log file (if configured).	TAGS: [database]
      database : Rotate MariaDB log	TAGS: [database]
      database : Ensure MySQL is started and enabled on boot.	TAGS: [database]
      database : Get MySQL version.	TAGS: [database]
      database : Ensure default user is present.	TAGS: [database]
      database : Copy user-my.cnf file with password credentials.	TAGS: [database]
      database : Disallow root login remotely	TAGS: [database]
      database : Get list of hosts for the root user.	TAGS: [database]
      database : Update MySQL root password for localhost root account (5.7.x).	TAGS: [database]
      database : Update MySQL root password for localhost root account (< 5.7.x).	TAGS: [database]
      database : Copy .my.cnf file with root password credentials	TAGS: [database]
      database : Copy .my.cnf file with root password credentials	TAGS: [database]
      database : Get list of hosts for the anonymous user.	TAGS: [database]
      database : Remove anonymous MySQL users.	TAGS: [database]
      database : Remove MySQL test database.	TAGS: [database]
      database : Ensure MySQL databases are present.	TAGS: [database]
      database : Ensure meza application MySQL users are present	TAGS: [database]
      database : If this DB-server is an app server, include localhost as a valid host for application user	TAGS: [database]
      database : Ensure additional MySQL users are present.	TAGS: [database]
      database : Check if valid slave	TAGS: [database]
      database : Check if valid master	TAGS: [database]
      database : Ensure replication user exists on master.	TAGS: [database]
      database : Check slave replication status.	TAGS: [database]
      debug	TAGS: [database]
      database : Check if slave needs configuration	TAGS: [database]
      debug	TAGS: [database]
      database : Check master replication status.	TAGS: [database]
      debug	TAGS: [database]
      database : fetch list of wikis on master	TAGS: [database]
      database : export dump file on master	TAGS: [database]
      database : fetch dump file	TAGS: [database]
      database : put dump file	TAGS: [database]
      database : Import dump on slave(s)	TAGS: [database]
      mysql_replication	TAGS: [database]
      database : Configure replication on the slave.	TAGS: [database]
      database : Start replication.	TAGS: [database]

  play #10 (elastic-servers): elastic-servers	TAGS: [elasticsearch]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [elasticsearch]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [elasticsearch]
      set-vars : Set meza local public variables	TAGS: [elasticsearch]
      set-vars : Get individual wikis dirs from localhost	TAGS: [elasticsearch]
      set_fact	TAGS: [elasticsearch]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [elasticsearch]
      set-vars : Set meza local secret variables	TAGS: [elasticsearch]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [elasticsearch]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [elasticsearch]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [elasticsearch]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [elasticsearch]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [elasticsearch]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [elasticsearch]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [elasticsearch]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [elasticsearch]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [elasticsearch]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [elasticsearch]
      elasticsearch : Ensure Java is installed.	TAGS: [elasticsearch]
      elasticsearch : Set JAVA_HOME if configured.	TAGS: [elasticsearch]
      elasticsearch : Add Elasticsearch GPG key.	TAGS: [elasticsearch]
      elasticsearch : Add Elasticsearch repository.	TAGS: [elasticsearch]
      elasticsearch : Install Elasticsearch.	TAGS: [elasticsearch]
      elasticsearch : Check whether /etc/hosts contains "127.0.0.1"	TAGS: [elasticsearch]
      elasticsearch : Add localhost to /etc/hosts if needed	TAGS: [elasticsearch]
      elasticsearch : Ensure dirs from elasticsearch.yml exist and set ownership	TAGS: [elasticsearch]
      elasticsearch : Configure Elasticsearch.	TAGS: [elasticsearch]
      elasticsearch : Start Elasticsearch.	TAGS: [elasticsearch]
      elasticsearch : Make sure Elasticsearch is running before proceeding.	TAGS: [elasticsearch]
      elasticsearch : Install elasticsearch plugin Kopf	TAGS: [elasticsearch]
      elasticsearch : Install elasticsearch plugin Head	TAGS: [elasticsearch]

  play #11 (app-servers): app-servers	TAGS: [mediawiki]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [mediawiki]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [mediawiki]
      set-vars : Set meza local public variables	TAGS: [mediawiki]
      set-vars : Get individual wikis dirs from localhost	TAGS: [mediawiki]
      set_fact	TAGS: [mediawiki]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [mediawiki]
      set-vars : Set meza local secret variables	TAGS: [mediawiki]
      htdocs : Ensure ServerPerformance configured	TAGS: [mediawiki]
      htdocs : Ensure BackupDownload configured	TAGS: [mediawiki]
      htdocs : Ensure BackupDownload NOT configured	TAGS: [mediawiki]
      htdocs : Ensure files configured	TAGS: [mediawiki]
      mediawiki : Sync configuration between controller and app servers	TAGS: [mediawiki]
      mediawiki : Ensure user meza-ansible .ssh dir configured	TAGS: [mediawiki]
      mediawiki : Copy meza-ansible keys to app servers	TAGS: [mediawiki]
      mediawiki : Copy meza-ansible known_hosts to app-servers	TAGS: [mediawiki]
      mediawiki : Ensure proper MediaWiki git version installed	TAGS: [latest, mediawiki]
      mediawiki : Create symlink to core, to enable short urls	TAGS: [latest, mediawiki]
      mediawiki : Ensure Vector skin installed	TAGS: [mediawiki]
      mediawiki : Ensure Modern skin installed	TAGS: [mediawiki]
      mediawiki : Ensure ColognBlue skin installed	TAGS: [mediawiki]
      mediawiki : Ensure MonoBook skin installed	TAGS: [mediawiki]
      mediawiki : Set variable holding list of core extensions	TAGS: [mediawiki]
      mediawiki : Set variable holding list of local extensions	TAGS: [mediawiki]
      mediawiki : Ensure core meza extensions installed (non-Composer)	TAGS: [git-core-extensions, git-extensions, latest, mediawiki]
      mediawiki : Ensure local meza extensions installed (non-Composer)	TAGS: [git-extensions, git-local-extensions, latest, mediawiki]
      mediawiki : Ensure Extensions.php in place	TAGS: [mediawiki]
      mediawiki : Ensure composer.local.json in place to load composer-based extensions	TAGS: [mediawiki]
      mediawiki : Run composer install on MediaWiki for dependencies	TAGS: [composer-extensions, latest, mediawiki]
      mediawiki : Run composer update on MediaWiki for extensions	TAGS: [composer-extensions, latest, mediawiki]
      mediawiki : Ensure Git submodule requirements met for core meza extensions	TAGS: [git-submodules, latest, mediawiki]
      mediawiki : Ensure Git submodule requirements met for local meza extensions	TAGS: [git-submodules, latest, mediawiki]
      mediawiki : Ensure LocalSettings.php in place	TAGS: [mediawiki]
      mediawiki : Ensure WikiBlender installed	TAGS: [mediawiki]
      mediawiki : Ensure BlenderSettings.php in place	TAGS: [mediawiki]
      mediawiki : Include SAML role if SAML configured	TAGS: [mediawiki]
      mediawiki : Ensure localization cache root directory exists (each wiki with sub-directory)	TAGS: [mediawiki]
      mediawiki : Ensure root uploads dir configured	TAGS: [mediawiki]
      mediawiki : Check if any wikis exist	TAGS: [mediawiki]
      mediawiki : Add Demo Wiki to config if no wikis exist	TAGS: [mediawiki]
      mediawiki : Re-sync configuration between controller and app servers if Demo just configured	TAGS: [mediawiki]
      mediawiki : Get individual wikis dirs from localhost	TAGS: [mediawiki]
      mediawiki : Set fact - list of wikis	TAGS: [mediawiki]
      mediawiki : Set fact - list of wikis ordered with primary wiki first (if primary_wiki_id set)	TAGS: [mediawiki]
      debug	TAGS: [mediawiki]
      mediawiki : Set fact - initiate empty list of wikis to rebuild smw and search data	TAGS: [mediawiki]
      mediawiki : Ensure defined wikis exist	TAGS: [mediawiki, verify-wiki]
      debug	TAGS: [mediawiki]
      mediawiki : Ensure data rebuilding scripts in place on app servers	TAGS: [mediawiki]
      mediawiki : Ensure data rebuilding logs directories exist	TAGS: [mediawiki]
      mediawiki : (Re-)build search index for: {{ wikis_to_rebuild_data | join(', ') }}	TAGS: [mediawiki, search-index]
      mediawiki : (Re-)build SemanticMediaWiki data for: {{ wikis_to_rebuild_data | join(', ') }}	TAGS: [mediawiki, smw-data]
      include_role	TAGS: [mediawiki, update.php]

  play #12 (parsoid-servers): parsoid-servers	TAGS: [parsoid]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [parsoid]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [parsoid]
      set-vars : Set meza local public variables	TAGS: [parsoid]
      set-vars : Get individual wikis dirs from localhost	TAGS: [parsoid]
      set_fact	TAGS: [parsoid]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [parsoid]
      set-vars : Set meza local secret variables	TAGS: [parsoid]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [parsoid]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [parsoid]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [parsoid]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [parsoid]
      firewalld : set firewalld allow {{ firewalld_service }} for list of servers	TAGS: [parsoid]
      firewalld : set firewalld allow port {{ firewalld_port }} for list of servers	TAGS: [parsoid]
      nodejs : Ensure http-parser installed from RPM for {{ ansible_distribution_version }}	TAGS: [parsoid]
      nodejs : Ensure Node.js and npm are installed.	TAGS: [parsoid]
      nodejs : Define nodejs_install_npm_user	TAGS: [parsoid]
      nodejs : Add node.js/npm user group: {{ nodejs_install_npm_user }}	TAGS: [parsoid]
      nodejs : Add node.js/npm user: {{ nodejs_install_npm_user }}	TAGS: [parsoid]
      nodejs : Create npm global directory	TAGS: [parsoid]
      nodejs : Add npm_config_prefix bin directory to global $PATH.	TAGS: [parsoid]
      nodejs : Ensure npm global packages are installed.	TAGS: [parsoid]
      nodejs : Ensure npm global packages are at the latest release.	TAGS: [latest, parsoid]
      parsoid : Get Parsoid repository	TAGS: [parsoid]
      parsoid : Patch Parsoid so it allows image tags	TAGS: [parsoid]
      parsoid : Ensure parsoid group exists	TAGS: [parsoid]
      parsoid : Ensure parsoid user exists	TAGS: [parsoid]
      parsoid : Ensure parsoid directory permissions	TAGS: [parsoid]
      parsoid : Ensure Parsoid dependencies are latest	TAGS: [latest, parsoid, parsoid-deps]
      parsoid-settings : Ensure localsettings.js present and up-to-date	TAGS: [parsoid]
      parsoid-settings : Ensure /etc/init.d/parsoid configured	TAGS: [parsoid]
      parsoid-settings : Enable parsoid service	TAGS: [parsoid]

  play #13 (logging-servers): logging-servers	TAGS: [logging]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [logging]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [logging]
      set-vars : Set meza local public variables	TAGS: [logging]
      set-vars : Get individual wikis dirs from localhost	TAGS: [logging]
      set_fact	TAGS: [logging]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [logging]
      set-vars : Set meza local secret variables	TAGS: [logging]
      meza-log : Check if server log database exists	TAGS: [logging]
      meza-log : Set fact if server log database DOES exist	TAGS: [logging]
      meza-log : Set fact if server log database DOES NOT exist	TAGS: [logging]
      meza-log : Import server log database structure	TAGS: [logging]
      meza-log : Check if disk_space table exists	TAGS: [logging]
      meza-log : Set fact if disk_space table DOES exist	TAGS: [logging]
      meza-log : Set fact if disk_space table DOES NOT exist	TAGS: [logging]
      meza-log : Create table disk_space if not exists	TAGS: [logging]

  play #14 (all:!exclude-all:!load-balancers-unmanaged): all:!exclude-all:!load-balancers-unmanaged	TAGS: [cron]
    tasks:
      set-vars : Set meza-core path variables	TAGS: [cron]
      set-vars : If using gluster (app-servers > 1), override m_uploads_dir	TAGS: [cron]
      set-vars : Set meza local public variables	TAGS: [cron]
      set-vars : Get individual wikis dirs from localhost	TAGS: [cron]
      set_fact	TAGS: [cron]
      set-vars : Set meza environment-specific public variables for env={{ env }}	TAGS: [cron]
      set-vars : Set meza local secret variables	TAGS: [cron]
      cron : Ensure cron is running (and enable it at boot)	TAGS: [cron]
      cron : Ensure crontab file up-to-date	TAGS: [cron]
      cron : Ensure runAllJobs.php in place	TAGS: [cron]
      lineinfile	TAGS: [cron]
      lineinfile	TAGS: [cron]
      cron : Ensure crontab up-to-date from file	TAGS: [cron]

  play #15 (all:!exclude-all:!load-balancers-unmanaged): all:!exclude-all:!load-balancers-unmanaged	TAGS: [last,gluster]
    tasks:
      ensure firewalld is stopped	TAGS: [gluster, last]
sudo -u meza-ansible ansible-playbook /opt/meza/src/playbooks/site.yml -i /opt/conf-meza/secret/production/hosts --vault-password-file /opt/conf-meza/users/meza-ansible/.vault-pass-production.txt --extra-vars '{"env": "production"}' --list-tasks