Table of Contents

Ansible Roles

Roles are a way of organising tasks for reuse with a defined file structure. They are more or less like re-usable libraries/modules.

These roles can then be used by one or more deployment playbooks.

To learn how these roles are used, refer the README file here: deployment-playbooks and the wiki on deployment-playbooks

1. Database backup Role

This role is used to Backup DB Tables to a defined folder.

example usage:

- hosts: servers
  roles:
     -  role: database-backup
      	username: reader
      	password: localpassword
      	database: ticketer
      	tables: 'user role'
      	target: '/tmp/002/002'

Refer: https://bitbucket.org/errigal/database-backup

2. java8 Role

Installs oracle java8 jdk to a defined folder.

example usage:

- hosts: servers
  roles:
     - { role: java8, target: /user/java/anotherJDK8, url: http://themightynewjava.com }

Refer: https://bitbucket.org/errigal/java8

3. Filebeat Role

Deploy, configures and starts Filebeat on one or more servers.

example usage:

    - hosts: servers
      roles:
         -  role: startup-shutdown-script
            log_file_paths:
              - /var/spring-boot/fiber/fiber-json.log
            elastic_search_server: 10.91.100.107:9200 #apate.err
            kibana_server: 10.91.100.107:5601
            url: https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.0-linux-x86_64.tar.gz
            target: /var/filebeat
            become: true

Refer: https://bitbucket.org/errigal/filebeat

4. MailHog Role

Deploys and Installs MailHog on one or more servers.

example usage:

    - hosts: servers
      roles:
         - { role: mailhogrole }

Refer: https://bitbucket.org/errigal/mailhog

5. Process-Control

- A role, which allows starting, stopping and restarting our apps. - It also ensures applications have started successfully by tailing one or more logs.

example usage:

    - hosts: servers
      roles:
        - { role: ../.., action: stop, proces_name: Ticketer }
        - { role: ../..,
            action: start,
            proces_name: Ticketer,
            process_start_script: /var/tomcat/Ticketer/bin/startup.sh,
            process_log_paths: "/var/tomcat/Ticketer/logs/catalina.out,/home/scotty/logs/grails/Ticketer.log",
            required_process_startup_time: 150,
            process_success_log_msgs: "INFO: Server startup in,INFO  ticketer.ScheduledStateTransition  - Triggering 0 transitions", # Second log line means that the Ticketer is running
          }

Refer: https://bitbucket.org/errigal/process-control

6. Startup-Shutdown-Script

- A role, which deploys startup.sh, shutdown.sh and config.groovy scripts

example usage:

    - hosts: servers
      roles:
         - role: startup-shutdown-script
           app_list:
                 - ebonding
                 - SnmpManager
                 - Ticketer
                 - ReportingManager
                 - NocPortal
                 - alarmCache
                 - soap
                 - cas

Refer: https://bitbucket.org/errigal/startup-shutdown-script/