====== 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: [[https://bitbucket.org/errigal/deployment-playbooks|deployment-playbooks]] and the wiki on [[development:applications:ansible:deployment-playbooks|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/