├── LICENSE ├── README.md ├── ansible-canary-playbook-discovery-tower-3-1-x ├── README.md ├── custom_facts_playbook.yml ├── inventory ├── regenerate_eai_csv.yml ├── roles │ ├── cron_role │ │ ├── library │ │ │ └── crontab_tojson.py │ │ └── tasks │ │ │ └── main.yml │ ├── listener_role │ │ ├── library │ │ │ └── listener.py │ │ └── tasks │ │ │ └── main.yml │ ├── localuser_localgroup │ │ ├── library │ │ │ ├── group.py │ │ │ └── usergroupparser.py │ │ └── tasks │ │ │ └── main.yml │ ├── processes_role │ │ ├── library │ │ │ └── processes.py │ │ └── tasks │ │ │ └── main.yml │ ├── push_facts_role │ │ ├── library │ │ │ └── convertWebService.py │ │ └── tasks │ │ │ └── main.yml │ └── repolist_role │ │ ├── library │ │ └── repolist.py │ │ └── tasks │ │ └── main.yml └── tower_credentials.yml ├── ansible-canary-playbook-discovery ├── LICENSE ├── README.md ├── collections │ └── ansible_collections │ │ └── ansible_fact │ │ └── os_facts │ │ ├── README.md │ │ ├── docs │ │ └── README.md │ │ ├── galaxy.yml │ │ ├── plugins │ │ ├── module_utils │ │ │ └── fact_gatherer.py │ │ └── modules │ │ │ ├── cron_facts.py │ │ │ ├── cron_facts_redo.py │ │ │ ├── listen_ports_facts.py │ │ │ ├── package_repository_facts.py │ │ │ ├── process_facts.py │ │ │ ├── sudoers_facts.py │ │ │ └── user_group_facts.py │ │ └── roles │ │ └── README.md ├── discovery.yml ├── library │ ├── application_id.py │ ├── interesting_processes.py │ ├── scan_packages.py │ └── scan_services.py ├── mkappsigrole.sh ├── reports │ ├── discovery-report.yml │ ├── files │ │ ├── discovery_report.css │ │ ├── logo1.png │ │ └── logo2.png │ ├── resource-report.yml │ ├── tasks │ │ └── vars_check.yml │ ├── templates │ │ ├── discovery_report.md.j2 │ │ ├── resource_report.csv.j2 │ │ └── server_details.md.j2 │ └── vars │ │ └── report.yml ├── roles │ ├── README.md │ ├── amf-application-signature-ansible-tower │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-apache-http-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-apache-tomcat-application-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-automic-automation-engine │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-automic-servicemanager │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-batch-teradata-query │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-bmc-patrol-agent │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ca-systemedge-client │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ca-workload-automation-agent │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-catalyst-warehouse-management-system │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-commvault-agent │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-bigfix-agent │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-cognos-analytics │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-cognos-business-intelligence │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-db2-database-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-httpd-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-infosphere-datastage │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-infosphere-information-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-rational-clearcase │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-sterling-commerce │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-storage-resource-agent │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-tivoli-monitoring │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-tsm-backup-client │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-tsm-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-websphere-application-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-websphere-message-broker │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-websphere-mq-everyplace │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-websphere-mq-file-transfer-edition │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-ibm-websphere-mq-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-informatica-powercenter │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-iri-cosort │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-jboss-application-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-lpar2rrd-agent │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-manhattan-warehouse-management │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-microstrategy-intelligence-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-objective-development-sharity │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-opswise-universal-agent │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-opti-flow-mgr │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-automatic-storage-management │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-business-intelligence │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-concurrent-manager │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-configuration-manager │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-data-integrator-agent │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-db │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-enterprise-manager │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-essbase-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-glassfish │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-http-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-rac │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-oracle-weblogic-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-quest-authentication-services │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-rrd-tool │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-samba │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-sas-intelligent-planning-suite │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-sas-merchandise-planning-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-sas-scalable-performance-data-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-tripwire-agent │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-tsm-backup-archive-client │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-application-signature-webmethods-integration-server │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-discovered-host-inventory │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ ├── library │ │ │ └── tower_host_manage_groups.py │ │ ├── meta │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ └── vars │ │ │ └── main.yml │ ├── amf-discovery-cron-facts │ │ ├── library │ │ │ └── cron_facts.py │ │ └── tasks │ │ │ └── main.yml │ ├── amf-discovery-listen-ports-facts │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ ├── library │ │ │ ├── README.md │ │ │ └── listen_ports_facts.py │ │ ├── meta │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── amf-discovery-localuser_localgroup │ │ ├── library │ │ │ └── user_group_facts.py │ │ └── tasks │ │ │ └── main.yml │ ├── amf-discovery-processes │ │ ├── library │ │ │ └── process_facts.py │ │ └── tasks │ │ │ └── main.yml │ ├── amf-discovery-sudoers │ │ ├── LICENSE │ │ ├── README.md │ │ ├── library │ │ │ └── sudoers_facts.py │ │ └── tasks │ │ │ └── main.yml │ ├── amf-internals-role-runner │ │ └── tasks │ │ │ └── main.yml │ ├── amf-push-coalmine-data │ │ ├── library │ │ │ └── convertWebService.py │ │ └── tasks │ │ │ └── main.yml │ ├── amf-seed-coalmine │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── meta │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── seed_coalmine.sql.j2 │ └── ansible_tower_genie_virtual_environments │ │ ├── LICENSE │ │ ├── README.md │ │ ├── defaults │ │ └── main.yml │ │ ├── meta │ │ └── main.yml │ │ ├── tasks │ │ ├── init_venv.yml │ │ └── main.yml │ │ └── vars │ │ └── main.yml ├── templates │ └── vars_file.j2 └── vars │ ├── discovery_vars.yml │ ├── rhel5_baseline.yml │ ├── rhel6_baseline.yml │ ├── rhel7_baseline.yml │ └── solaris_baseline.yml ├── ansible-canary-webservice ├── .gitignore ├── README.md ├── ansible-web-data │ ├── DataExamples.md │ ├── POSTAnsibleFacts.md │ └── README.md ├── ansible-web-front │ ├── .angular-cli.json │ ├── .editorconfig │ ├── .vscode │ │ ├── launch.json │ │ └── settings.json │ ├── Dockerfile │ ├── README.md │ ├── db.json │ ├── e2e │ │ ├── app.e2e-spec.ts │ │ ├── app.po.ts │ │ └── tsconfig.e2e.json │ ├── img │ │ └── arch.png │ ├── karma.conf.js │ ├── node-sass-docker │ │ └── Dockerfile │ ├── package.json │ ├── protractor.conf.js │ ├── src │ │ ├── app │ │ │ ├── app-routing.module.ts │ │ │ ├── app.component.css │ │ │ ├── app.component.html │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── components │ │ │ │ ├── ansible-facts-table │ │ │ │ │ ├── ansible-facts-table.component.css │ │ │ │ │ ├── ansible-facts-table.component.html │ │ │ │ │ ├── ansible-facts-table.component.spec.ts │ │ │ │ │ ├── ansible-facts-table.component.ts │ │ │ │ │ ├── ansible-facts-table.module.ts │ │ │ │ │ └── ansible-facts-table.routing.ts │ │ │ │ ├── ansible-listener-table │ │ │ │ │ ├── ansible-listener-table.component.css │ │ │ │ │ ├── ansible-listener-table.component.html │ │ │ │ │ ├── ansible-listener-table.component.spec.ts │ │ │ │ │ ├── ansible-listener-table.component.ts │ │ │ │ │ ├── ansible-listener-table.module.ts │ │ │ │ │ └── ansible-listener-table.routing.ts │ │ │ │ ├── ansible-packages-table │ │ │ │ │ ├── ansible-packages-table.component.css │ │ │ │ │ ├── ansible-packages-table.component.html │ │ │ │ │ ├── ansible-packages-table.component.spec.ts │ │ │ │ │ ├── ansible-packages-table.component.ts │ │ │ │ │ ├── ansible-packages-table.module.ts │ │ │ │ │ └── ansible-packages-table.routing.ts │ │ │ │ ├── ansible-processes-table │ │ │ │ │ ├── ansible-processes-table.component.css │ │ │ │ │ ├── ansible-processes-table.component.html │ │ │ │ │ ├── ansible-processes-table.component.spec.ts │ │ │ │ │ ├── ansible-processes-table.component.ts │ │ │ │ │ ├── ansible-processes-table.module.ts │ │ │ │ │ └── ansible-processes-table.routing.ts │ │ │ │ ├── ansible-service-table │ │ │ │ │ ├── ansible-service-table.component.css │ │ │ │ │ ├── ansible-service-table.component.html │ │ │ │ │ ├── ansible-service-table.component.spec.ts │ │ │ │ │ ├── ansible-service-table.component.ts │ │ │ │ │ ├── ansible-service-table.module.ts │ │ │ │ │ └── ansible-service-table.routing.ts │ │ │ │ ├── ansible-usergroups-table │ │ │ │ │ ├── ansible-usergroups-table.component.css │ │ │ │ │ ├── ansible-usergroups-table.component.html │ │ │ │ │ ├── ansible-usergroups-table.component.spec.ts │ │ │ │ │ ├── ansible-usergroups-table.component.ts │ │ │ │ │ ├── ansible-usergroups-table.module.ts │ │ │ │ │ └── ansible-usergroups-table.routing.ts │ │ │ │ ├── app-data-table │ │ │ │ │ ├── app-data-table.component.css │ │ │ │ │ ├── app-data-table.component.html │ │ │ │ │ ├── app-data-table.component.spec.ts │ │ │ │ │ ├── app-data-table.component.ts │ │ │ │ │ ├── app-data-table.module.ts │ │ │ │ │ └── app-data-table.routing.ts │ │ │ │ └── side-panel │ │ │ │ │ ├── side-panel-component-theme.scss │ │ │ │ │ ├── side-panel.component.css │ │ │ │ │ ├── side-panel.component.html │ │ │ │ │ ├── side-panel.component.spec.ts │ │ │ │ │ └── side-panel.component.ts │ │ │ ├── model │ │ │ │ ├── ansible-cronjobs.spec.ts │ │ │ │ ├── ansible-cronjobs.ts │ │ │ │ ├── ansible-facts.spec.ts │ │ │ │ ├── ansible-facts.ts │ │ │ │ ├── ansible-groups.ts │ │ │ │ ├── ansible-listener.spec.ts │ │ │ │ ├── ansible-listeners.ts │ │ │ │ ├── ansible-lvm.spec.ts │ │ │ │ ├── ansible-lvm.ts │ │ │ │ ├── ansible-mounts.spec.ts │ │ │ │ ├── ansible-mounts.ts │ │ │ │ ├── ansible-packages.spec.ts │ │ │ │ ├── ansible-packages.ts │ │ │ │ ├── ansible-processes.spec.ts │ │ │ │ ├── ansible-processes.ts │ │ │ │ ├── ansible-services.ts │ │ │ │ ├── ansible-users.ts │ │ │ │ ├── ansible-usersgroups.spec.ts │ │ │ │ ├── app-code.spec.ts │ │ │ │ ├── app-code.ts │ │ │ │ ├── app-data.spec.ts │ │ │ │ ├── app-data.ts │ │ │ │ ├── cronjobs.spec.ts │ │ │ │ ├── cronjobs.ts │ │ │ │ ├── crontabs.spec.ts │ │ │ │ ├── crontabs.ts │ │ │ │ ├── facts.spec.ts │ │ │ │ ├── facts.ts │ │ │ │ ├── groups.spec.ts │ │ │ │ ├── groups.ts │ │ │ │ ├── hostname.spec.ts │ │ │ │ ├── hostname.ts │ │ │ │ ├── listeners.spec.ts │ │ │ │ ├── listeners.ts │ │ │ │ ├── packages.spec.ts │ │ │ │ ├── packages.ts │ │ │ │ ├── processes.spec.ts │ │ │ │ ├── processes.ts │ │ │ │ ├── selinux.spec.ts │ │ │ │ ├── services.ts │ │ │ │ ├── users.spec.ts │ │ │ │ └── users.ts │ │ │ └── service │ │ │ │ ├── app-data-api.service.spec.ts │ │ │ │ ├── app-data-api.service.ts │ │ │ │ ├── app-data.service.spec.ts │ │ │ │ ├── app-data.service.ts │ │ │ │ ├── facts-api.service.spec.ts │ │ │ │ ├── facts-api.service.ts │ │ │ │ ├── facts.service.spec.ts │ │ │ │ └── facts.service.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── environments │ │ │ ├── environment.int.ts │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── snoopy-app-theme.scss │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── theming │ │ │ └── _palette.scss │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── typings.d.ts │ ├── tsconfig.json │ └── tslint.json ├── ansible-web │ ├── .gitignore │ ├── README.md │ ├── com.redhat.ansible.web.parent │ │ ├── com.redhat.ansible.web.server2 │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── redhat │ │ │ │ │ └── ansible │ │ │ │ │ └── web │ │ │ │ │ └── server │ │ │ │ │ ├── CsvRB.java │ │ │ │ │ ├── RestRB.java │ │ │ │ │ ├── model │ │ │ │ │ ├── AnsibleCronjobs.java │ │ │ │ │ ├── AnsibleData.java │ │ │ │ │ ├── AnsibleFacts.java │ │ │ │ │ ├── AnsibleFactsDefinition.java │ │ │ │ │ ├── AnsibleGroups.java │ │ │ │ │ ├── AnsibleLVM.java │ │ │ │ │ ├── AnsibleListener.java │ │ │ │ │ ├── AnsiblePackages.java │ │ │ │ │ ├── AnsiblePackagesDefinition.java │ │ │ │ │ ├── AnsibleProcesses.java │ │ │ │ │ ├── AnsibleServices.java │ │ │ │ │ ├── AnsibleServicesDefintion.java │ │ │ │ │ ├── AnsibleUsers.java │ │ │ │ │ ├── AnsibleUsersGroups.java │ │ │ │ │ ├── AppCode.java │ │ │ │ │ ├── AppData.java │ │ │ │ │ ├── ApplicationDefinition.java │ │ │ │ │ ├── CoreData.java │ │ │ │ │ ├── Facts.java │ │ │ │ │ ├── Hostname.java │ │ │ │ │ ├── ParentAndAppDefinition.java │ │ │ │ │ ├── ParentApp.java │ │ │ │ │ ├── ServerDefinition.java │ │ │ │ │ ├── csv │ │ │ │ │ │ ├── CsvQuestionnaireImport.java │ │ │ │ │ │ ├── CsvServerImport.java │ │ │ │ │ │ ├── OwnershipCsv.java │ │ │ │ │ │ ├── ParentAppCsv.java │ │ │ │ │ │ └── ServerCsv.java │ │ │ │ │ └── csvwriter │ │ │ │ │ │ ├── CsvCronJob.java │ │ │ │ │ │ ├── CsvGeneral.java │ │ │ │ │ │ ├── CsvGroups.java │ │ │ │ │ │ ├── CsvLVM.java │ │ │ │ │ │ ├── CsvListeners.java │ │ │ │ │ │ ├── CsvMounts.java │ │ │ │ │ │ ├── CsvNetworkInterfaces.java │ │ │ │ │ │ ├── CsvPackages.java │ │ │ │ │ │ ├── CsvProcesses.java │ │ │ │ │ │ ├── CsvRepoLists.java │ │ │ │ │ │ ├── CsvServiceScripts.java │ │ │ │ │ │ ├── CsvUsers.java │ │ │ │ │ │ ├── Group.java │ │ │ │ │ │ ├── LVS.java │ │ │ │ │ │ ├── Listener.java │ │ │ │ │ │ ├── Mount.java │ │ │ │ │ │ ├── NetworkInterface.java │ │ │ │ │ │ ├── PID.java │ │ │ │ │ │ ├── RPM.java │ │ │ │ │ │ ├── RepoList.java │ │ │ │ │ │ ├── ServiceScript.java │ │ │ │ │ │ └── User.java │ │ │ │ │ ├── services │ │ │ │ │ ├── CsvService.java │ │ │ │ │ ├── DBService.java │ │ │ │ │ └── DiscoveryService.java │ │ │ │ │ └── utility │ │ │ │ │ └── DataConversions.java │ │ │ │ ├── resources │ │ │ │ └── filePath.properties │ │ │ │ └── webapp │ │ │ │ └── WEB-INF │ │ │ │ ├── beans.xml │ │ │ │ ├── jboss-web.xml │ │ │ │ └── web.xml │ │ └── pom.xml │ ├── docker-compose.yml │ ├── example_data │ │ ├── ansible_cronjobs.txt │ │ ├── ansible_facts.txt │ │ ├── ansible_listeners.txt │ │ ├── ansible_packages.txt │ │ ├── ansible_processes.txt │ │ ├── ansible_services.txt │ │ ├── ansible_usergroup.txt │ │ └── example_json.txt │ └── sql │ │ ├── setup.sql │ │ └── update.sql └── package-lock.json ├── application-signatures ├── ansible-canary-role-application-signature-ansible-tower │ ├── LICENSE │ ├── README.md │ ├── defaults │ │ └── main.yml │ └── tasks │ │ ├── check_paths.yml │ │ └── main.yml └── ansible-canary-role-development-application-signature-skeleton │ ├── LICENSE │ ├── README.md │ ├── README.md.j2 │ ├── defaults │ └── main.yml │ └── tasks │ └── main.yml ├── discovery-roles ├── ansible-canary-role-discovered-host-inventory │ ├── LICENSE │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── library │ │ └── tower_host_manage_groups.py │ ├── meta │ │ └── main.yml │ ├── tasks │ │ └── main.yml │ └── vars │ │ └── main.yml ├── ansible-canary-role-discovery-cron-jobs │ ├── library │ │ └── crontab_tojson.py │ └── tasks │ │ └── main.yml ├── ansible-canary-role-discovery-listening-ports │ ├── library │ │ └── listener.py │ └── tasks │ │ └── main.yml ├── ansible-canary-role-discovery-processes │ ├── library │ │ └── processes.py │ └── tasks │ │ └── main.yml ├── ansible-canary-role-discovery-push-facts-to-webservice │ ├── library │ │ └── convertWebService.py │ └── tasks │ │ └── main.yml ├── ansible-canary-role-discovery-sudoers │ ├── LICENSE │ ├── README.md │ ├── library │ │ └── scan_sudoers.py │ └── tasks │ │ └── main.yml ├── ansible-canary-role-discovery-user-group │ ├── LICENSE │ ├── README.md │ ├── library │ │ └── scan_user_group.py │ └── tasks │ │ └── main.yml └── ansible-canary-role-discovery-yum-repos │ ├── library │ └── repolist.py │ └── tasks │ └── main.yml └── installation-playbooks ├── ansible-canary-playbook-install-ansible-migration-factory ├── README.md ├── install-ansible-migration-factory.yml ├── inventory ├── roles │ └── requirements.yml └── vars │ ├── defaults.yml │ └── required.yml └── ansible-canary-role-install-webservice ├── .vaultpw ├── README.md ├── Vagrantfile ├── ansible.cfg ├── install-webservice.yml └── roles └── install-webservice ├── .gitignore ├── .gitlab-ci ├── .yamllint ├── LICENSE ├── defaults └── main.yml ├── files └── pg_hba.conf ├── handlers └── main.yml ├── meta └── main.yml ├── molecule └── default │ ├── Dockerfile.j2 │ ├── INSTALL.rst │ ├── molecule.yml │ ├── playbook.yml │ └── tests │ ├── test_default.py │ └── test_default.pyc ├── tasks └── main.yml ├── templates ├── coalmine.service.j2 ├── environment.prod.ts.j2 └── install-pg-db-module.j2 └── vars ├── main.yml └── secrets.yml /ansible-canary-playbook-discovery-tower-3-1-x/custom_facts_playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: all 3 | # become: yes 4 | 5 | pre_tasks: 6 | - include_vars: 7 | file: tower_credentials.yml 8 | 9 | roles: 10 | - { role: listener_role } 11 | - { role: processes_role } 12 | - { role: repolist_role } 13 | - { role: cron_role } 14 | - { role: localuser_localgroup } 15 | 16 | post_tasks: 17 | - name: set custom facts 18 | set_fact: 19 | custom_facts_formatted: 20 | - "{{ listeners }}" 21 | - "{{ processes }}" 22 | - "{{ cron_jobs }}" 23 | - "{{ repoList }}" 24 | - "{{ local_users_groups }}" 25 | - debug: var=custom_facts_formatted 26 | 27 | 28 | - name: configure and push data to webservice 29 | include_role: 30 | name: push_facts_role 31 | delegate_to: 127.0.0.1 32 | 33 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery-tower-3-1-x/inventory: -------------------------------------------------------------------------------- 1 | #localhost ansible_connection=local 2 | 192.168.122.10 ansible_ssh_user=vagrant ansible_ssh_pass=vagrant ansible_become_pass=vagrant 3 | 4 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery-tower-3-1-x/regenerate_eai_csv.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | tasks: 4 | name: Get Request - regenerate CSV files 5 | uri: 6 | url: "http://{{ webservice_ip }}:8080/v1/ansible/web/parent_app/print_facts_csv/{{eai_code}}" 7 | method: GET 8 | validate_certs: no 9 | register: response 10 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery-tower-3-1-x/roles/cron_role/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Find the cron dirs 3 | find: 4 | paths: /etc/cron.hourly,/etc/cron.daily,/etc/cron.weekly,/etc/cron.monthly 5 | recurse: yes 6 | register: cronFiles 7 | 8 | - set_fact: 9 | cronFiles: "{{ cronFiles.files | map(attribute='path') | list }}" 10 | 11 | - name: Collect /etc/crontab data 12 | shell: 'cat /etc/crontab' 13 | register: cronTab 14 | changed_when: false 15 | 16 | - name: Collect /var/spool/cron files 17 | find: 18 | paths: /var/spool/cron/ 19 | recurse: yes 20 | register: varSpoolCron 21 | 22 | - set_fact: 23 | varSpoolCron: "{{ varSpoolCron.files | map(attribute='path') | list }}" 24 | 25 | - name: parse cron data 26 | crontab_tojson: 27 | cronfiles: "{{ cronFiles }}" 28 | crontab: "{{ cronTab.stdout_lines }}" 29 | varSpool: "{{ varSpoolCron }}" 30 | register: cronData 31 | 32 | - set_fact: 33 | cron_jobs: "{{ cronData }}" 34 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery-tower-3-1-x/roles/listener_role/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | #tasks for finding getting data into Json from netstat 3 | 4 | 5 | - name: Netstat output 6 | shell: 'netstat -tulpn | awk "{if (NR>2) {print}}"' 7 | register: netstat 8 | changed_when: false 9 | 10 | - name: Convert Netstat output to Json 11 | listener: 12 | netstat: "{{netstat.stdout_lines | to_json}}" 13 | register: result 14 | 15 | - set_fact: 16 | listeners: "{{ result }}" 17 | 18 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery-tower-3-1-x/roles/localuser_localgroup/library/group.py: -------------------------------------------------------------------------------- 1 | try: 2 | import json 3 | except ImportError: 4 | import simplejson as json 5 | 6 | from ansible.module_utils.basic import * 7 | 8 | def parseGroups(groupData): 9 | output = {} 10 | entries = [] 11 | for group in groupData: 12 | tmpData = {} 13 | data = group.encode('utf-8').replace('\"', '').split(":") 14 | tmpData['group_name'] = data[0] 15 | tmpData['password'] = data[1] 16 | tmpData['gid'] = data[2] 17 | tmpData['group_list'] = data[3] 18 | entries.append(tmpData) 19 | 20 | output['groups'] = entries 21 | return output 22 | 23 | def main(): 24 | fields = { 25 | "groupData": { "required": True, "type": "list" } 26 | } 27 | 28 | module = AnsibleModule(argument_spec=fields) 29 | 30 | output = parseGroups(module.params['groupData']) 31 | 32 | module.exit_json(meta=output) 33 | 34 | if __name__ == '__main__': 35 | main() 36 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery-tower-3-1-x/roles/processes_role/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | #tasks for finding getting data into Json from netstat 3 | 4 | 5 | - name: PS Aux output 6 | shell: "ps aux | awk '{if (NR!=1) {print}}'" 7 | register: ps_aux 8 | changed_when: false 9 | 10 | - name: Convert ps_aux output to Json 11 | processes: 12 | processes: "{{ps_aux.stdout_lines | to_json}}" 13 | register: result 14 | 15 | - set_fact: 16 | processes: "{{ result }}" 17 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery-tower-3-1-x/roles/repolist_role/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for rpmdiff 3 | 4 | #Get yum repolist, remove column headers and last line that gives sum. 5 | # Remove the head portion to make work with dnf command 6 | - name: get repolist 7 | shell: 'yum repolist | awk "{if (NR>3) {print}}" | head -n -1 ' 8 | register: repoList 9 | changed_when: false 10 | 11 | - name: Convert repolist output to Json 12 | repolist: 13 | repolist: "{{repoList.stdout_lines | to_json}}" 14 | register: repoList 15 | 16 | - set_fact: 17 | repoList: "{{ repoList }}" 18 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery-tower-3-1-x/tower_credentials.yml: -------------------------------------------------------------------------------- 1 | $ANSIBLE_VAULT;1.1;AES256 2 | 34356162366438313332663737376464656262373164333666313033363637326165346234653734 3 | 6265363035386534653062366530653265633135393866360a653165343937633033373131316536 4 | 61613238383563353762393133623466303431323737613637626463363736383334363333656137 5 | 3661653538346563360a623862333937616636373238396331623666663937316161356430613531 6 | 38343830633031336137313635346137616630633165386530353634373963396634376638376632 7 | 36653663366664333566303761613661336137656330373931303964303035333464623839356333 8 | 636436636636373633363430613865303637 9 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/collections/ansible_collections/ansible_fact/os_facts/roles/README.md: -------------------------------------------------------------------------------- 1 | # README.md 2 | this is only a placeholder 3 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/library/interesting_processes.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | # Copyright: (c) 2019, Andrew J. Huffman 4 | # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) 5 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/mkappsigrole.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | path="$(pwd)" 4 | init_path="roles" 5 | 6 | # ensure our skeleton is fully up to date and on correct branch :) 7 | cd ../ansible-canary-role-development-application-signature-skeleton 8 | git pull origin master 9 | git checkout master 10 | cd $path 11 | 12 | if ansible-galaxy init --role-skeleton=../ansible-canary-role-development-application-signature-skeleton/ --init-path=$init_path amf-application-signature-$1; then 13 | echo "role amf-application-signature-$1" "created at" $path"/"$init_path/amf-application-signature-$1 14 | fi 15 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/reports/files/logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redhat-cop/canary/a7640871548a7c7fdff0ee060672a88b626843be/ansible-canary-playbook-discovery/reports/files/logo1.png -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/reports/files/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redhat-cop/canary/a7640871548a7c7fdff0ee060672a88b626843be/ansible-canary-playbook-discovery/reports/files/logo2.png -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/reports/resource-report.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Ansible Migration Factory - Report" 3 | hosts: "localhost" 4 | gather_facts: False 5 | connection: "local" 6 | vars_files: 7 | - "vars/report.yml" 8 | tasks: 9 | - name: "Create report" 10 | template: 11 | src: "resource_report.csv.j2" 12 | dest: "{{ rpt_base_path }}/resource_report.csv" 13 | owner: "{{ rpt_owner }}" 14 | group: "{{ rpt_group }}" 15 | mode: "{{ rpt_mode }}" 16 | delegate_to: "{{ discovery_report_server }}" 17 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/reports/tasks/vars_check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "{{ host }} | Check local_users" 3 | debug: 4 | msg: "{{ host }} | local_users is defined properly" 5 | when: 6 | - "hostvars[host]['discovered_facts']['local_users'] is defined" 7 | - "host != 'localhost'" 8 | ignore_errors: True 9 | 10 | - name: "{{ host }} | Check local_users data" 11 | debug: 12 | msg: "{{ host }} | user: {{ user['user'] }}, uid: {{ user['uid'] }}, gid: {{ user['gid'] }}, home: {{ user['home'] }}, shell: {{ user['shell'] }}, comment: {{ user['comment'] }}" 13 | with_items: "{{ hostvars[host]['discovered_facts']['local_users'] }}" 14 | loop_control: 15 | loop_var: "user" 16 | label: "{{ user['uid'] }}" 17 | when: "host != 'localhost'" 18 | ignore_errors: True 19 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/reports/templates/resource_report.csv.j2: -------------------------------------------------------------------------------- 1 | Hostname,IP Address,CPU Count,CPU Cores,CPU Type,RAM Total (MB),Swap Total (MB),Disk Mount Point,Disk Size Total,Disk Size Available,Filesystem Type,Device 2 | {% for h in groups['all'] %} 3 | {% if h != 'localhost' %} 4 | {{ h }}, {{ hostvars[h]['discovered_facts']['default_ipv4']['address'] }},{{ hostvars[h]['discovered_facts']['processor_count'] }},{{ hostvars[h]['discovered_facts']['processor_cores'] }},{{ hostvars[h]['discovered_facts']['processor'] }},{{ hostvars[h]['discovered_facts']['memtotal_mb'] }},{{ hostvars[h]['discovered_facts']['swaptotal_mb'] }},,,,, 5 | {% for m in hostvars[h]['discovered_facts']['mounts'] %} 6 | {% if 'proc' not in m['fstype'] and 'nfs' not in m['fstype'] %} 7 | ,,,,,,,{{ m['mount'] | default('') }},{{ m['size_total'] | default('') }},{{ m['size_available'] | default('') }},{{ m['fstype'] | default('') }},{{ m['device'] | default('') }} 8 | {% endif %} 9 | {% endfor %} 10 | {% endif %} 11 | {% endfor %} 12 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/reports/vars/report.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rpt_owner: "nginx" 3 | rpt_group: "nginx" 4 | rpt_mode: "0755" 5 | rpt_base_path: "/var/www/html" 6 | rpt_customer: "" # who the report is prepared for 7 | # The following skips the variable/fact validator functionality of the discovery report 8 | rpt_skip_validator: True 9 | # Set this on your report job templates and make sure you have ssh keys setup to access the report server 10 | ## If targeting an isolated instance group you should have a key set from the isolated instances to the report server 11 | discovery_report_server: "" 12 | rpt_images: 13 | - "logo1.png" 14 | - "logo2.png" 15 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ansible-tower/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # built for Tower 3.4.1-1 3 | amf_as_services: 4 | - "postgresql-9.6.service" 5 | - "rabbitmq-server.service" 6 | - "nginx.service" 7 | - "supervisord.service" 8 | 9 | amf_as_user_group: 10 | users: 11 | - "awx" 12 | groups: 13 | - "awx" 14 | 15 | amf_as_paths: 16 | - "/var/lib/awx" 17 | 18 | # built for Tower 3.4.1-1 19 | amf_as_packages: 20 | - "rabbitmq-server" 21 | - "ansible-tower-server" 22 | - "postgresql96-contrib" 23 | - "postgresql96-libs" 24 | - "supervisor" 25 | - "nginx" 26 | 27 | amf_as_ports: [] 28 | 29 | amf_as_processes: [] 30 | 31 | amf_as_scores: 32 | users: "1" 33 | groups: "1" 34 | services: "3" 35 | paths: "1" 36 | packages: "4" 37 | ports: "0" 38 | processes: "0" 39 | 40 | # Returned fields 41 | amf_as_discovered_app: 42 | name: "Ansible Tower" 43 | desc: "Hosts identified as Ansible Tower Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ansible-tower/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-apache-http-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/local/apache2" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "/usr/local/apache2/bin/httpd" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "1" 26 | packages: "0" 27 | ports: "0" 28 | processes: "1" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "Apache HTTP Server" 33 | desc: "Hosts identified as Apache HTTP Server Servers" 34 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-apache-http-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-apache-tomcat-application-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "org.apache.catalina.startup.Bootstrap" 19 | - "tomcat" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "0" 26 | packages: "0" 27 | ports: "0" 28 | processes: "2" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "Apache Tomcat Application Server" 33 | desc: "Hosts identified as Apache Tomcat Application Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-apache-tomcat-application-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-automic-automation-engine/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "ucsrvwp" 19 | - "ucsrvcp" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "0" 26 | packages: "0" 27 | ports: "0" 28 | processes: "2" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "Automic Automation Engine" 33 | desc: "Hosts identified as Automic Automation Engine Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-automic-automation-engine/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-automic-servicemanager/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/uc4" 10 | - "/etc/rc.uc4" 11 | 12 | amf_as_packages: [] 13 | 14 | amf_as_ports: [] 15 | 16 | amf_as_processes: 17 | - "ucybsmgr" 18 | - "ucxjap6" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "2" 25 | packages: "0" 26 | ports: "0" 27 | processes: "2" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "Automic ServiceManager" 32 | desc: "Hosts identified as Automic ServiceManager Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-automic-servicemanager/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-batch-teradata-query/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/teradata/client" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: 14 | - "bteq.bteq" 15 | 16 | # ports not implemented yet 17 | amf_as_ports: [] 18 | 19 | amf_as_processes: 20 | - "bteq" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "1" 27 | packages: "1" 28 | ports: "0" 29 | processes: "1" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "Batch Teradata Query" 34 | desc: "Hosts identified as Batch Teradata Query Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-batch-teradata-query/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-bmc-patrol-agent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/patrol/" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "PatrolAgent" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "1" 26 | packages: "0" 27 | ports: "0" 28 | processes: "1" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "BMC Patrol Agent" 33 | desc: "Hosts identified as BMC Patrol Agent Servers" 34 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-bmc-patrol-agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ca-systemedge-client/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/CA/SystemEDGE" 10 | - "/etc/rc.d/CA-SystemEDGE" 11 | 12 | amf_as_packages: [] 13 | 14 | amf_as_ports: [] 15 | 16 | amf_as_processes: 17 | - "sysedge" 18 | 19 | amf_as_scores: 20 | users: "0" 21 | groups: "0" 22 | services: "0" 23 | paths: "2" 24 | packages: "0" 25 | ports: "0" 26 | processes: "1" 27 | 28 | # Returned fields 29 | amf_as_discovered_app: 30 | name: "CA SystemEdge Client" 31 | desc: "Hosts identified as CA SystemEdge Client Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ca-systemedge-client/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ca-workload-automation-agent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/CA/WA_Agent" 10 | 11 | amf_as_packages: [] 12 | 13 | amf_as_ports: [] 14 | 15 | amf_as_processes: 16 | - "cybAgent.bin" 17 | 18 | amf_as_scores: 19 | users: "0" 20 | groups: "0" 21 | services: "0" 22 | paths: "1" 23 | packages: "0" 24 | ports: "0" 25 | processes: "1" 26 | 27 | # Returned fields 28 | amf_as_discovered_app: 29 | name: "CA Workload Automation Agent" 30 | desc: "Hosts identified as CA Workload Automation Agent Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ca-workload-automation-agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-catalyst-warehouse-management-system/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: 6 | - "catalyst" 7 | groups: [] 8 | 9 | amf_as_paths: 10 | - "/etc/catalyst" 11 | 12 | amf_as_packages: [] 13 | 14 | amf_as_ports: [] 15 | 16 | amf_as_processes: 17 | - "catalyst" 18 | 19 | amf_as_scores: 20 | users: "1" 21 | groups: "0" 22 | services: "0" 23 | paths: "1" 24 | packages: "0" 25 | ports: "0" 26 | processes: "1" 27 | 28 | # Returned fields 29 | amf_as_discovered_app: 30 | name: "Catalyst Warehouse Management System" 31 | desc: "Hosts identified as Catalyst Warehouse Management System Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-catalyst-warehouse-management-system/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-commvault-agent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/simpana" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "cvlaunchd" 20 | - "cvd" 21 | - "EvMgrC" 22 | 23 | amf_as_scores: 24 | users: "0" 25 | groups: "0" 26 | services: "0" 27 | paths: "1" 28 | packages: "0" 29 | ports: "0" 30 | processes: "3" 31 | 32 | # Returned fields 33 | amf_as_discovered_app: 34 | name: "Commvault Agent" 35 | desc: "Hosts identified as Commvault Agent Servers" 36 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-commvault-agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-bigfix-agent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/BESClient" 10 | - "/etc/rc.d/rc2.d/SBESClientd" 11 | 12 | amf_as_packages: 13 | - "BESClient" 14 | 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "BESClient" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "2" 25 | packages: "1" 26 | ports: "0" 27 | processes: "1" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "IBM BigFix Agent" 32 | desc: "Hosts identified as IBM BigFix Agent" 33 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-bigfix-agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-cognos-analytics/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/cognos" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "cogbootstrapservice" 20 | - "CognosCMDerby.jar" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "1" 27 | packages: "0" 28 | ports: "0" 29 | processes: "2" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "IBM Cognos Analytics" 34 | desc: "Hosts identified as IBM Cognos Analytics Servers" 35 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-cognos-analytics/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-cognos-business-intelligence/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/cognos" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "cgsServer.sh" 20 | - "CAM_LPSvr" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "1" 27 | packages: "0" 28 | ports: "0" 29 | processes: "2" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "IBM Cognos Business Intelligence" 34 | desc: "Hosts identified as IBM Cognos Business Intelligence Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-cognos-business-intelligence/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-db2-database-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "db2fmp" 19 | - "db2ckpwd" 20 | - "db2sysc" 21 | - "db2wdog" 22 | 23 | amf_as_scores: 24 | users: "0" 25 | groups: "0" 26 | services: "0" 27 | paths: "0" 28 | packages: "0" 29 | ports: "0" 30 | processes: "4" 31 | 32 | # Returned fields 33 | amf_as_discovered_app: 34 | name: "IBM DB2 Database Server" 35 | desc: "Hosts identified as IBM DB2 Database Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-db2-database-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-httpd-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: 13 | - "WSIHS70" 14 | - "WSPAA61" 15 | 16 | # ports not implemented yet 17 | amf_as_ports: [] 18 | 19 | amf_as_processes: 20 | - "httpd" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "0" 27 | packages: "1" 28 | ports: "0" 29 | processes: "1" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "IBM HTTPD Server" 34 | desc: "Hosts identified as IBM HTTPD Servers" 35 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-httpd-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-infosphere-datastage/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/IBM/InformationServer/Server/DSEngine/sample/ds.rc" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "dscs" 20 | - "dsapi_slave" 21 | - "dsjob" 22 | 23 | amf_as_scores: 24 | users: "0" 25 | groups: "0" 26 | services: "0" 27 | paths: "1" 28 | packages: "0" 29 | ports: "0" 30 | processes: "3" 31 | 32 | # Returned fields 33 | amf_as_discovered_app: 34 | name: "IBM InfoSphere DataStage" 35 | desc: "Hosts identified as IBM InfoSphere DataStage Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-infosphere-datastage/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-infosphere-information-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/IBM/InformationServer/Server" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "dsrpcd" 20 | - "resource_tracker" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "1" 27 | packages: "0" 28 | ports: "0" 29 | processes: "2" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "IBM InfoSphere Information Server" 34 | desc: "Hosts identified as IBM InfoSphere Information Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-infosphere-information-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-rational-clearcase/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/etc/rc.clearcase" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "albd_server" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "1" 26 | packages: "0" 27 | ports: "0" 28 | processes: "1" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "IBM Rational ClearCase" 33 | desc: "Hosts identified as IBM Rational ClearCase Servers" 34 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-rational-clearcase/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-sterling-commerce/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/Sterling" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "agentserverJVM.sh" 20 | - "startHealthMonitor.sh" 21 | - "startIntegrationServerJVM.sh" 22 | 23 | amf_as_scores: 24 | users: "0" 25 | groups: "0" 26 | services: "0" 27 | paths: "1" 28 | packages: "0" 29 | ports: "0" 30 | processes: "3" 31 | 32 | # Returned fields 33 | amf_as_discovered_app: 34 | name: "IBM Sterling Commerce" 35 | desc: "Hosts identified as IBM Sterling Commerce Servers" 36 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-sterling-commerce/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-storage-resource-agent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/IBM/TPC/agent/bin/agent.sh" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "Agent" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "1" 26 | packages: "0" 27 | ports: "0" 28 | processes: "1" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "IBM Storage Resource Agent" 33 | desc: "Hosts identified as IBM Storage Resource Agent Servers" 34 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-storage-resource-agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-tivoli-monitoring/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "kuxagent" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "0" 25 | packages: "0" 26 | ports: "0" 27 | processes: "1" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "IBM Tivoli Monitoring" 32 | desc: "Hosts identified as IBM Tivoli Monitoring Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-tivoli-monitoring/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-tsm-backup-client/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/tivoli/tsm/client" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: 14 | - "tivoli.tsm.client.ba.64bit.base" 15 | 16 | # ports not implemented yet 17 | amf_as_ports: [] 18 | 19 | amf_as_processes: 20 | - "dsmcad" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "1" 27 | packages: "1" 28 | ports: "0" 29 | processes: "1" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "IBM TSM Backup Client" 34 | desc: "Hosts identified as IBM TSM Backup client Servers" 35 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-tsm-backup-client/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-tsm-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/tivoli/tsm/server/" 10 | - "/opt/tivoli/tsm/server/" 11 | 12 | # not fully implemented yet, will probably need a name and version field 13 | ## currently only takes a package name (no versions) 14 | amf_as_packages: [] 15 | 16 | # ports not implemented yet 17 | amf_as_ports: [] 18 | 19 | amf_as_processes: 20 | - "dsmserv" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "1" 27 | packages: "0" 28 | ports: "0" 29 | processes: "1" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "IBM TSM Server" 34 | desc: "Hosts identified as IBM TSM Servers" 35 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-tsm-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-application-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/IBM/WebSphere/" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "com.ibm.ws.runtime.WsServer" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "0" 26 | packages: "0" 27 | ports: "0" 28 | processes: "1" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "IBM WebSphere Application Server" 33 | desc: "Hosts identified as IBM WebSphere Application Servers" 34 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-application-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-message-broker/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | # ports not implemented yet 14 | amf_as_ports: [] 15 | 16 | amf_as_processes: 17 | - "bipbroker" 18 | - "bipservice" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "0" 25 | packages: "0" 26 | ports: "0" 27 | processes: "2" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "IBM Websphere Message Broker" 32 | desc: "Hosts identified as IBM Websphere Message Broker Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-message-broker/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-mq-everyplace/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "MQeGateway.jar" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "0" 25 | packages: "0" 26 | ports: "0" 27 | processes: "1" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "IBM WebSphere MQ Everyplace" 32 | desc: "Hosts identified as IBM WebSphere MQ Everyplace Servers" 33 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-mq-everyplace/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-mq-file-transfer-edition/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "com.ibm.wmqfte.agent.Agent" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "0" 25 | packages: "0" 26 | ports: "0" 27 | processes: "1" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "IBM WebSphere MQ File Transfer Edition" 32 | desc: "Hosts identified as IBM WebSphere MQ File Transfer Edition Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-mq-file-transfer-edition/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-mq-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: 6 | - "mqm" 7 | groups: 8 | - "mqm" 9 | 10 | amf_as_paths: 11 | - "/usr/mqm" 12 | 13 | amf_as_packages: 14 | - "mqm.server.rte" 15 | 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "amqzxma0" 20 | 21 | amf_as_scores: 22 | users: "1" 23 | groups: "1" 24 | services: "0" 25 | paths: "1" 26 | packages: "1" 27 | ports: "0" 28 | processes: "1" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "IBM WebSphere MQ server" 33 | desc: "Hosts identified as IBM WebSphere MQ Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-ibm-websphere-mq-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-informatica-powercenter/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "pmserver" 19 | - "pmrepagent" 20 | - "pmdtm" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "0" 27 | packages: "0" 28 | ports: "0" 29 | processes: "3" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "Informatica PowerCenter" 34 | desc: "Hosts identified as Informatica PowerCenter Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-informatica-powercenter/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-iri-cosort/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "sortcl" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "0" 25 | packages: "0" 26 | ports: "0" 27 | processes: "1" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "IRI Cosort" 32 | desc: "Hosts identified as IRI Cosort Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-iri-cosort/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-jboss-application-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: 6 | - "jboss" 7 | groups: [] 8 | 9 | amf_as_paths: [] 10 | 11 | amf_as_packages: [] 12 | 13 | amf_as_ports: [] 14 | 15 | amf_as_processes: 16 | - "jboss" 17 | 18 | amf_as_scores: 19 | users: "1" 20 | groups: "0" 21 | services: "0" 22 | paths: "0" 23 | packages: "0" 24 | ports: "0" 25 | processes: "1" 26 | 27 | # Returned fields 28 | amf_as_discovered_app: 29 | name: "JBoss Application Server" 30 | desc: "Hosts identified as JBoss Application Server Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-jboss-application-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-lpar2rrd-agent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: 6 | - "lpar2rrd" 7 | groups: [] 8 | 9 | amf_as_paths: 10 | - "/opt/lpar2rrd-agent/" 11 | 12 | amf_as_packages: 13 | - "lpar2rrd-agent" 14 | 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "lpar2rrd-agent.pl" 19 | 20 | amf_as_scores: 21 | users: "1" 22 | groups: "0" 23 | services: "0" 24 | paths: "1" 25 | packages: "1" 26 | ports: "0" 27 | processes: "1" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "LPAR2RRD Agent" 32 | desc: "Hosts identified as LPAR2RRD Agent Servers" 33 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-lpar2rrd-agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-manhattan-warehouse-management/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | amf_as_packages: [] 11 | 12 | amf_as_ports: [] 13 | 14 | amf_as_processes: 15 | - "PkManager.py" 16 | 17 | amf_as_scores: 18 | users: "0" 19 | groups: "1" 20 | services: "0" 21 | paths: "0" 22 | packages: "0" 23 | ports: "0" 24 | processes: "1" 25 | 26 | # Returned fields 27 | amf_as_discovered_app: 28 | name: "Manhattan Warehouse Management" 29 | desc: "Hosts identified as Manhattan Warehouse Management Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-manhattan-warehouse-management/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-microstrategy-intelligence-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/MicroStrategy" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "MSTRSvr" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "1" 26 | packages: "0" 27 | ports: "0" 28 | processes: "1" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "MicroStrategy Intelligence Server" 33 | desc: "Hosts identified as MicroStrategy Intelligence Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-microstrategy-intelligence-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-objective-development-sharity/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/local/sharity3/" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "sharityd" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "1" 26 | packages: "0" 27 | ports: "0" 28 | processes: "1" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "Objective Development Sharity" 33 | desc: "Hosts identified as Objective Development Sharity Servers" 34 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-objective-development-sharity/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-opswise-universal-agent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/opt/universal" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: 14 | - "UNVubr.UNVubr.rte" 15 | 16 | # ports not implemented yet 17 | amf_as_ports: [] 18 | 19 | amf_as_processes: 20 | - "ubrokerd" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "1" 27 | packages: "1" 28 | ports: "0" 29 | processes: "1" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "Opswise Universal Agent " 34 | desc: "Hosts identified as Opswise Universal Agent Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-opswise-universal-agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-opti-flow-mgr/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "startOFM" 19 | - "optiflomgr.jar" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "0" 26 | packages: "0" 27 | ports: "0" 28 | processes: "2" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "OptiFlowMgr" 33 | desc: "Hosts identified as OptiFlowMgr Servers" 34 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-opti-flow-mgr/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-automatic-storage-management/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/etc/oratab" 10 | - "/etc/oraInst.loc" 11 | 12 | # not fully implemented yet, will probably need a name and version field 13 | ## currently only takes a package name (no versions) 14 | amf_as_packages: [] 15 | 16 | # ports not implemented yet 17 | amf_as_ports: [] 18 | 19 | amf_as_processes: 20 | - "asm_mmon_" 21 | - "asm_pmon_" 22 | - "asm_smon_" 23 | 24 | amf_as_scores: 25 | users: "0" 26 | groups: "0" 27 | services: "0" 28 | paths: "2" 29 | packages: "0" 30 | ports: "0" 31 | processes: "3" 32 | 33 | # Returned fields 34 | amf_as_discovered_app: 35 | name: "Oracle Automatic Storage Management" 36 | desc: "Hosts identified as Oracle Automatic Storage Management (ASM) Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-automatic-storage-management/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-business-intelligence/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "nqsclustercontroller" 19 | - "sawserver" 20 | - "nqsserver" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "0" 27 | packages: "0" 28 | ports: "0" 29 | processes: "3" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "Oracle Business Intelligence" 34 | desc: "Hosts identified as Oracle Business Intelligence Servers" 35 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-business-intelligence/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-concurrent-manager/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "FNDSM" 19 | - "FNDLIBR" 20 | - "FNDIMON" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "0" 27 | packages: "0" 28 | ports: "0" 29 | processes: "3" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "Oracle Concurrent Manager" 34 | desc: "Hosts identified as Oracle Concurrent Manager Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-concurrent-manager/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-configuration-manager/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "nmz" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "0" 25 | packages: "0" 26 | ports: "0" 27 | processes: "1" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "Oracle Configuration Manager" 32 | desc: "Hosts identified as Oracle Configuration Manager Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-configuration-manager/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-data-integrator-agent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "agent.sh" 19 | - "oracle.odi.Agent" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "0" 26 | packages: "0" 27 | ports: "0" 28 | processes: "2" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "Oracle Data Integrator Agent" 33 | desc: "Hosts identified as Oracle Data Integrator Agent Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-data-integrator-agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-db/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/etc/oratab" 10 | - "/etc/oraInst.loc" 11 | 12 | amf_as_packages: [] 13 | 14 | amf_as_ports: [] 15 | 16 | amf_as_processes: 17 | - "ora_mmon_" 18 | - "ora_pmon_" 19 | - "ora_smon_" 20 | - "tnslsnr" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "0" 26 | paths: "1" 27 | packages: "0" 28 | ports: "0" 29 | processes: "3" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "Oracle Database" 34 | desc: "Hosts identified as Oracle Database Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-db/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-enterprise-manager/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | amf_as_packages: [] 11 | 12 | amf_as_ports: [] 13 | 14 | amf_as_processes: 15 | - "emwd.pl" 16 | 17 | amf_as_scores: 18 | users: "0" 19 | groups: "0" 20 | services: "0" 21 | paths: "0" 22 | packages: "0" 23 | ports: "0" 24 | processes: "1" 25 | 26 | # Returned fields 27 | amf_as_discovered_app: 28 | name: "Oracle Enterprise Manager" 29 | desc: "Hosts identified as Oracle Enterprise Manager Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-enterprise-manager/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-essbase-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | amf_as_packages: [] 11 | 12 | amf_as_ports: [] 13 | 14 | amf_as_processes: 15 | - "ESSBASE" 16 | - "ESSSVR" 17 | 18 | amf_as_scores: 19 | users: "0" 20 | groups: "0" 21 | services: "0" 22 | paths: "0" 23 | packages: "0" 24 | ports: "0" 25 | processes: "2" 26 | 27 | # Returned fields 28 | amf_as_discovered_app: 29 | name: "Oracle ESSBASE Servers" 30 | desc: "Hosts identified as Oracle ESSBASE Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-essbase-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-glassfish/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "glassfish.jar" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "0" 25 | packages: "0" 26 | ports: "0" 27 | processes: "1" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "Oracle Glassfish" 32 | desc: "Hosts identified as Oracle Glassfish Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-glassfish/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-http-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | amf_as_packages: [] 11 | 12 | amf_as_ports: [] 13 | 14 | amf_as_processes: 15 | - "httpd.worker" 16 | - "oracle" 17 | 18 | amf_as_scores: 19 | users: "0" 20 | groups: "0" 21 | services: "0" 22 | paths: "0" 23 | packages: "0" 24 | ports: "0" 25 | processes: "2" 26 | 27 | # Returned fields 28 | amf_as_discovered_app: 29 | name: "Oracle HTTP Server" 30 | desc: "Hosts identified as Oracle HTTP Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-http-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-rac/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/etc/init.ohasd" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: [] 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "ocssd" 20 | - "cssdmonitor" 21 | - "cssdagent" 22 | 23 | amf_as_scores: 24 | users: "0" 25 | groups: "0" 26 | services: "0" 27 | paths: "0" 28 | packages: "0" 29 | ports: "0" 30 | processes: "3" 31 | 32 | # Returned fields 33 | amf_as_discovered_app: 34 | name: "Oracle Real Application Clusters" 35 | desc: "Hosts identified as Oracle Real Application Clusters Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-rac/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-weblogic-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | amf_as_packages: [] 11 | 12 | amf_as_ports: [] 13 | 14 | amf_as_processes: 15 | - "startWebLogic.sh" 16 | - "startManagedWebLogic.sh" 17 | - "weblogic.Server" 18 | - "opmn" 19 | 20 | amf_as_scores: 21 | users: "0" 22 | groups: "0" 23 | services: "0" 24 | paths: "0" 25 | packages: "0" 26 | ports: "0" 27 | processes: "4" 28 | 29 | # Returned fields 30 | amf_as_discovered_app: 31 | name: "Oracle Weblogic Server" 32 | desc: "Hosts identified as Oracle Weblogic Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-oracle-weblogic-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-quest-authentication-services/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: 3 | - "vasd" 4 | 5 | amf_as_user_group: 6 | users: [] 7 | groups: [] 8 | 9 | amf_as_paths: 10 | - "/opt/quest/" 11 | 12 | # not fully implemented yet, will probably need a name and version field 13 | ## currently only takes a package name (no versions) 14 | amf_as_packages: [] 15 | 16 | # ports not implemented yet 17 | amf_as_ports: [] 18 | 19 | amf_as_processes: 20 | - "vasd" 21 | 22 | amf_as_scores: 23 | users: "0" 24 | groups: "0" 25 | services: "1" 26 | paths: "1" 27 | packages: "0" 28 | ports: "0" 29 | processes: "1" 30 | 31 | # Returned fields 32 | amf_as_discovered_app: 33 | name: "Quest Authentication Services" 34 | desc: "Hosts identified as Quest Authentication Services Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-quest-authentication-services/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-rrd-tool/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: 13 | - "rrdtool" 14 | 15 | # ports not implemented yet 16 | amf_as_ports: [] 17 | 18 | amf_as_processes: 19 | - "rrdtool" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "0" 26 | packages: "1" 27 | ports: "0" 28 | processes: "1" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "RRD Tool" 33 | desc: "Hosts identified as RRD Tool Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-rrd-tool/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-samba/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/local/samba" 10 | 11 | # not fully implemented yet, will probably need a name and version field 12 | ## currently only takes a package name (no versions) 13 | amf_as_packages: 14 | - "freeware.samba.rte" 15 | 16 | # ports not implemented yet 17 | amf_as_ports: [] 18 | 19 | amf_as_processes: 20 | - "smbd" 21 | - "nmbd" 22 | 23 | amf_as_scores: 24 | users: "0" 25 | groups: "0" 26 | services: "0" 27 | paths: "1" 28 | packages: "1" 29 | ports: "0" 30 | processes: "2" 31 | 32 | # Returned fields 33 | amf_as_discovered_app: 34 | name: "Samba" 35 | desc: "Hosts identified as Samba Servers" 36 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-samba/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-sas-intelligent-planning-suite/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: 6 | - "sas" 7 | groups: 8 | - "sas" 9 | 10 | amf_as_paths: [] 11 | 12 | amf_as_packages: [] 13 | 14 | amf_as_ports: [] 15 | 16 | amf_as_processes: 17 | - "startSMPS.sh" 18 | - "httpd.worker" 19 | - "SASWebServer" 20 | 21 | amf_as_scores: 22 | users: "1" 23 | groups: "1" 24 | services: "0" 25 | paths: "0" 26 | packages: "0" 27 | ports: "0" 28 | processes: "3" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "SAS Intelligent Planning Suite" 33 | desc: "Hosts identified as SAS Intelligent Planning Suite Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-sas-intelligent-planning-suite/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-sas-merchandise-planning-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "BPServer" 19 | - "MEServer" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "0" 26 | packages: "0" 27 | ports: "0" 28 | processes: "2" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "SAS Merchandise Planning Server" 33 | desc: "Hosts identified as SAS Merchandise Planning Server Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-sas-merchandise-planning-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-sas-scalable-performance-data-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: 6 | - "sas" 7 | groups: 8 | - "sas" 9 | 10 | amf_as_paths: [] 11 | 12 | # not fully implemented yet, will probably need a name and version field 13 | ## currently only takes a package name (no versions) 14 | amf_as_packages: [] 15 | 16 | # ports not implemented yet 17 | amf_as_ports: [] 18 | 19 | amf_as_processes: 20 | - "spdssnet" 21 | - "spdsnsrv" 22 | 23 | amf_as_scores: 24 | users: "1" 25 | groups: "1" 26 | services: "0" 27 | paths: "0" 28 | packages: "0" 29 | ports: "0" 30 | processes: "2" 31 | 32 | # Returned fields 33 | amf_as_discovered_app: 34 | name: "SAS Scalable Performance Data Server" 35 | desc: "Hosts identified as SAS Scalable Performance Data Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-sas-scalable-performance-data-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-tripwire-agent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: 3 | - "tripwire-axon-agent" 4 | - "tw-eg-event-source" 5 | - "tw-eg-service" 6 | - "teges" 7 | - "teeg" 8 | - "teagent" 9 | 10 | amf_as_user_group: 11 | users: [] 12 | groups: [] 13 | 14 | amf_as_paths: 15 | - "/opt/tripwire/agent" 16 | - "/usr/local/tripwire" 17 | 18 | amf_as_packages: [] 19 | 20 | amf_as_ports: [] 21 | 22 | amf_as_processes: 23 | - "twagent" 24 | - "tegesd" 25 | - "tesvc" 26 | 27 | amf_as_scores: 28 | users: "0" 29 | groups: "0" 30 | services: "3" 31 | paths: "1" 32 | packages: "0" 33 | ports: "0" 34 | processes: "2" 35 | 36 | # Returned fields 37 | amf_as_discovered_app: 38 | name: "Tripwire Agent" 39 | desc: "Hosts identified as Tripwire Agent Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-tripwire-agent/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-tsm-backup-archive-client/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: 9 | - "/usr/tivoli/tsm/client" 10 | 11 | amf_as_packages: 12 | - "tivoli.tsm.client.ba.64bit.base" 13 | 14 | amf_as_ports: [] 15 | 16 | amf_as_processes: 17 | - "dsmcad" 18 | 19 | amf_as_scores: 20 | users: "0" 21 | groups: "0" 22 | services: "0" 23 | paths: "1" 24 | packages: "1" 25 | ports: "0" 26 | processes: "1" 27 | 28 | # Returned fields 29 | amf_as_discovered_app: 30 | name: "TSM Backup-Archive Client" 31 | desc: "Hosts identified as TSM Backup/Archive Client Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-tsm-backup-archive-client/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-webmethods-integration-server/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: [] 3 | 4 | amf_as_user_group: 5 | users: [] 6 | groups: [] 7 | 8 | amf_as_paths: [] 9 | 10 | # not fully implemented yet, will probably need a name and version field 11 | ## currently only takes a package name (no versions) 12 | amf_as_packages: [] 13 | 14 | # ports not implemented yet 15 | amf_as_ports: [] 16 | 17 | amf_as_processes: 18 | - "server.sh" 19 | - "wm-isproxy.jar" 20 | 21 | amf_as_scores: 22 | users: "0" 23 | groups: "0" 24 | services: "0" 25 | paths: "0" 26 | packages: "0" 27 | ports: "0" 28 | processes: "2" 29 | 30 | # Returned fields 31 | amf_as_discovered_app: 32 | name: "WebMethods Integration Server" 33 | desc: "Hosts identified as WebMethods Integration Servers" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-application-signature-webmethods-integration-server/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovered-host-inventory/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | discovered_host_install_prereqs: True 3 | discovered_host_inventory_name: "Discovered Hosts" 4 | discovered_host_inventory_description: "Inventory of hosts scanned by the Ansible Migration Factory Discovery playbook" 5 | discovered_host_inventory_default_group: 6 | name: "Unknown Application" 7 | desc: "Hosts running applications or services that we could not identify" 8 | # Tower connection info 9 | tower_url: "{{ lookup('env', 'TOWER_HOST') | default('') }}" 10 | tower_verify_ssl: "{{ lookup('env', 'TOWER_VERIFY_SSL') | default(False) }}" 11 | tower_user: "{{ lookup('env', 'TOWER_USERNAME') | default('') }}" 12 | tower_pass: "{{ lookup('env', 'TOWER_PASSWORD') | default('') }}" 13 | # Tower Org to put new inventory into 14 | tower_org: "" 15 | # Configurable on how to name the host when adding it to the discovered hosts inventory 16 | tower_client_node_name: "{{ inventory_hostname }}" 17 | vars_dir: "/tmp/discovered_facts" 18 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovered-host-inventory/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for discovered-host-inventory -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovery-cron-facts/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Collect cron facts" 3 | cron_facts: 4 | 5 | # returns ansible_facts['cron'] 6 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovery-listen-ports-facts/README.md: -------------------------------------------------------------------------------- 1 | # amf-discovery-listen-ports-facts 2 | Collects listening ports via `lsof` on AIX/Solaris and `netstat` on Linux. 3 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovery-listen-ports-facts/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | discovery_install_prereqs: False 3 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovery-listen-ports-facts/library/README.md: -------------------------------------------------------------------------------- 1 | The module in this directory is backported from Ansible 2.9 (soon to be officially released). 2 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovery-listen-ports-facts/meta/main.yml: -------------------------------------------------------------------------------- 1 | galaxy_info: 2 | author: "Andrew J. Huffman" 3 | description: "Role to collect listening port facts via lsof (for AIX) and netstat (for Linux)." 4 | company: "Red Hat" 5 | license: "GPL-3.0-or-later" 6 | min_ansible_version: "2.8" 7 | platforms: 8 | - name: "Fedora" 9 | versions: 10 | - "all" 11 | - name: "Enterprise Linux" 12 | versions: 13 | - "all" 14 | - name: "Debian" 15 | versions: 16 | - "all" 17 | - name: "Ubuntu" 18 | versions: 19 | - "all" 20 | - name: "AIX" 21 | versions: 22 | - "all" 23 | galaxy_tags: 24 | - "system" 25 | - "ports" 26 | - "facts" 27 | - "listeners" 28 | dependencies: [] 29 | # List your role dependencies here, one per line. Be sure to remove the '[]' above, 30 | # if you add dependencies to this list. 31 | 32 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovery-localuser_localgroup/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Collect local user and local group facts" 3 | user_group_facts: 4 | 5 | # returns ansible_facts['local_users'] and ansible_facts['local_groups'] 6 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovery-processes/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Collect running process facts" 3 | process_facts: 4 | output_ps_stdout_lines: "{{ proc_stdout | bool }}" 5 | 6 | # proccess_facts module returns ansible_facts['processes'] json 7 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-discovery-sudoers/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Get sudoers facts" 3 | sudoers_facts: 4 | 5 | # scan_sudoers returns ansible_facts[sudoers] 6 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-internals-role-runner/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: "Set role data for {{ role_to_run }}" 2 | set_fact: 3 | role_output: 4 | role_name: "{{ role_to_run }}" 5 | ansible_os_family: "{{ ansible_os_family }}" 6 | ansible_distribution_version: "{{ ansible_distribution_version }}" 7 | 8 | - block: 9 | - name: "Scan Custom | Unix/Linux | {{ role_to_run }}" 10 | include_role: 11 | name: "{{ role_to_run }}" 12 | 13 | rescue: 14 | - name: "Log error" 15 | set_fact: 16 | failed_roles: "{{ failed_roles | default([]) + [ role_output ] }}" 17 | 18 | - name: "Reset server to continue dicovery" 19 | meta: clear_host_errors 20 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-seed-coalmine/README.md: -------------------------------------------------------------------------------- 1 | # amf-seed-coalmine 2 | An Ansible role to seed the Coalmine web-service. 3 | 4 | ## Role Variables 5 | | Variable Name | Default Value | Description | Type | 6 | |---|---|---|:---:| 7 | |pg_user|"postgres"|Username of the postgres user for the Coalmine web-service|string| 8 | |pg_group|"postgres"|Groupname of the postgres user for the Coalmine web-service|string| 9 | |pg_home|"/var/lib/postgres"|Home directory of the postgres user for the Coalmine web-service|string| 10 | 11 | ## License 12 | [MIT](LICENSE) 13 | 14 | ## Author Information 15 | [Andrew J. Huffman](mailto:ahuffman@redhat.com) 16 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-seed-coalmine/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | pg_user: "postgres" 3 | pg_group: "postgres" 4 | pg_home: "/var/lib/postgres" 5 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-seed-coalmine/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Seed postgresql" 3 | postgresql_db: 4 | name: "{{ ws_db_name }}" 5 | state: "restore" 6 | target: "{{ pg_home }}/seed_coalmine.sql" 7 | delegate_to: "{{ amf_webservice_host }}" 8 | become: True 9 | become_user: "{{ pg_user }}" 10 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-seed-coalmine/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Converge data" 3 | set_fact: 4 | all_discovered_apps: "{{ hostvars | json_query('*.discovered_apps') | flatten }}" 5 | run_once: True 6 | delegate_to: "localhost" 7 | 8 | - name: "Debug all discovered apps" 9 | debug: 10 | var: "all_discovered_apps" 11 | verbosity: "1" 12 | 13 | - name: "Build coalmine SQL" 14 | template: 15 | src: "seed_coalmine.sql.j2" 16 | dest: "{{ pg_home }}/seed_coalmine.sql" 17 | mode: "0600" 18 | group: "{{ pg_group }}" 19 | owner: "{{ pg_user }}" 20 | delegate_to: "{{ amf_webservice_host }}" 21 | run_once: True 22 | notify: 23 | - "Seed postgresql" 24 | 25 | # Make sure we run the role's handlers before moving on to other roles 26 | - name: "Run Coalmine handlers" 27 | meta: "flush_handlers" 28 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/amf-seed-coalmine/templates/seed_coalmine.sql.j2: -------------------------------------------------------------------------------- 1 | -- truncate parent_app CASCADE; 2 | 3 | {% set app_code = 1 %} 4 | {% for app in all_discovered_apps %} 5 | INSERT INTO parent_app(parent_app_name, eai_code, in_scope) 6 | VALUES ('{{ app.name }}', '{{ app_code }}', 't'); 7 | {% set app_code = app_code + 1 %} 8 | {% endfor %} 9 | 10 | {#{% for host in legacy_hosts %}#} 11 | {% for host in ansible_play_hosts_all %} 12 | INSERT INTO server 13 | (hostname, fqdn, sat_ipv4_addr, sat_name, parent_app_id) 14 | SELECT 15 | '{{ host }}' as hostname, 16 | '{{ host }}' as fqdn, 17 | '{{ hostvars[host]["ansible_facts"].default_ipv4.address }}' as sat_ipv4_addr, 18 | '{{ host }}' as sat_name, 19 | parent_app.id as parent_app_id 20 | FROM parent_app WHERE parent_app.parent_app_name = '{{ hostvars[host]["discovered_apps"][0].name }}'; 21 | 22 | {% endfor %} 23 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/ansible_tower_genie_virtual_environments/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tower_venv_pylibs: 3 | - "ansible-tower-cli" 4 | - "jmespath" 5 | tower_venv_umask: "0022" 6 | tower_venv_path: "/var/lib/awx/venv/ansible" 7 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/ansible_tower_genie_virtual_environments/tasks/init_venv.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Ensure virtual environment path exists" 3 | file: 4 | mode: "0755" 5 | owner: "awx" 6 | group: "awx" 7 | path: "{{ tower_venv_path }}" 8 | state: "directory" 9 | become: True 10 | 11 | - name: "Ensure virtual environment has Ansible Tower base dependencies" 12 | pip: 13 | name: "{{ tower_venv_base_deps }}" 14 | umask: "{{ tower_venv_umask }}" 15 | virtualenv: "{{ tower_venv_path }}" 16 | virtualenv_command: "virtualenv" 17 | state: "latest" 18 | become: True 19 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/roles/ansible_tower_genie_virtual_environments/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tower_venv_base_deps: 3 | - "python-memcached" 4 | - "psutil" 5 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/templates/vars_file.j2: -------------------------------------------------------------------------------- 1 | "discovered_facts": {{ ansible_facts | from_yaml | to_json }} 2 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/vars/discovery_vars.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_webservice_host: "" 3 | # Following 4 options for custom webservice 4 | ws_db_name: "coalmine" 5 | pg_user: "postgres" 6 | pg_group: "postgres" 7 | pg_home: "/var/opt/rh/rh-postgresql96/lib/pgsql/data" 8 | proc_stdout: False 9 | # Set the following to False if you do not want to try and pip install to Tower venv's the prerequisite python libraries for the code to work every time 10 | discovered_host_install_prereqs: False 11 | # Set the following to True if you have permission from customer to install packages on the hosts 12 | discovery_install_prereqs: False 13 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/vars/rhel5_baseline.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Baseline lists for RHEL5 3 | discovery_rhel5_pkg_baseline: [] 4 | discovery_rhel5_svc_baseline: [] 5 | discovery_rhel5_port_baseline: [] 6 | discovery_rhel5_user_baseline: [] 7 | discovery_rhel5_group_baseline: [] 8 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/vars/rhel6_baseline.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Baseline lists for RHEL6 3 | discovery_rhel6_pkg_baseline: [] 4 | discovery_rhel6_svc_baseline: [] 5 | discovery_rhel6_port_baseline: [] 6 | discovery_rhel6_user_baseline: [] 7 | discovery_rhel6_group_baseline: [] 8 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/vars/rhel7_baseline.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Baseline lists for RHEL7 3 | discovery_rhel7_pkg_baseline: [] 4 | discovery_rhel7_svc_baseline: [] 5 | discovery_rhel7_port_baseline: [] 6 | discovery_rhel7_user_baseline: [] 7 | discovery_rhel7_group_baseline: [] 8 | -------------------------------------------------------------------------------- /ansible-canary-playbook-discovery/vars/solaris_baseline.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Baseline lists for Solaris 3 | discovery_solaris_pkg_baseline: [] 4 | discovery_solaris_svc_baseline: [] 5 | discovery_solaris_port_baseline: [] 6 | discovery_solaris_user_baseline: [] 7 | discovery_solaris_group_baseline: [] 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/.gitignore: -------------------------------------------------------------------------------- 1 | **node_modules/ 2 | **dist/ 3 | **.tgz 4 | **.DS_Store 5 | 6 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-data/README.md: -------------------------------------------------------------------------------- 1 | ### Rest Endpoints Documentation 2 | The content here documents the rest endpoints available for the UI used to query against the database. 3 | 4 | #### DataExamples 5 | Contains the Rest endpoint documentation enabled for the Front-end. 6 | 7 | #### POSTAnsibleFacts 8 | Contains the documentation regarding the rest endpoints used for the discovery phase. These endpoints are integrated with Ansible to enable fact collecting and formating of the data for the Migration Documents. 9 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "chrome", 10 | "request": "launch", 11 | "name": "Launch Chrome against localhost", 12 | "url": "http://localhost:4200", 13 | "webRoot": "${workspaceRoot}" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/e2e/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { AnsibleWebFrontPage } from './app.po'; 2 | 3 | describe('ansible-web-front App', () => { 4 | let page: AnsibleWebFrontPage; 5 | 6 | beforeEach(() => { 7 | page = new AnsibleWebFrontPage(); 8 | }); 9 | 10 | it('should display welcome message', () => { 11 | page.navigateTo(); 12 | expect(page.getParagraphText()).toEqual('Welcome to app!'); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/e2e/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AnsibleWebFrontPage { 4 | navigateTo() { 5 | return browser.get('/'); 6 | } 7 | 8 | getParagraphText() { 9 | return element(by.css('app-root h1')).getText(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/e2e", 5 | "baseUrl": "./", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": [ 9 | "jasmine", 10 | "jasminewd2", 11 | "node" 12 | ] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/img/arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redhat-cop/canary/a7640871548a7c7fdff0ee060672a88b626843be/ansible-canary-webservice/ansible-web-front/img/arch.png -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/node-sass-docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:9.2.0-alpine 2 | 3 | RUN apk update && \ 4 | apk upgrade && \ 5 | apk add git g++ gcc libgcc libstdc++ linux-headers make python && \ 6 | apk update 7 | 8 | RUN git clone https://github.com/sass/sassc && cd sassc && \ 9 | git clone https://github.com/sass/libsass && \ 10 | SASS_LIBSASS_PATH=/sassc/libsass make && \ 11 | mv bin/sassc /usr/bin/sassc && \ 12 | cd ../ && rm -rf /sassc 13 | 14 | ENV SASS_BINARY_PATH=/usr/lib/node_modules/node-sass/build/Release/binding.node 15 | 16 | RUN git clone --recursive https://github.com/sass/node-sass.git && \ 17 | cd node-sass && \ 18 | git submodule update --init --recursive && \ 19 | npm install && \ 20 | node scripts/build -f && \ 21 | cd ../ && rm -rf node-sass 22 | 23 | RUN touch $HOME/.npmrc && echo "sass_binary_cache=${SASS_BINARY_PATH}" >> $HOME/.npmrc 24 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/protractor.conf.js: -------------------------------------------------------------------------------- 1 | // Protractor configuration file, see link for more information 2 | // https://github.com/angular/protractor/blob/master/lib/config.ts 3 | 4 | const { SpecReporter } = require('jasmine-spec-reporter'); 5 | 6 | exports.config = { 7 | allScriptsTimeout: 11000, 8 | specs: [ 9 | './e2e/**/*.e2e-spec.ts' 10 | ], 11 | capabilities: { 12 | 'browserName': 'chrome' 13 | }, 14 | directConnect: true, 15 | baseUrl: 'http://localhost:4200/', 16 | framework: 'jasmine', 17 | jasmineNodeOpts: { 18 | showColors: true, 19 | defaultTimeoutInterval: 30000, 20 | print: function() {} 21 | }, 22 | onPrepare() { 23 | require('ts-node').register({ 24 | project: 'e2e/tsconfig.e2e.json' 25 | }); 26 | jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); 27 | } 28 | }; 29 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/app.component.css: -------------------------------------------------------------------------------- 1 | mat-toolbar { 2 | z-index: 2; 3 | position: fixed; 4 | } 5 | 6 | mat-sidenav { 7 | width: 240px; 8 | box-shadow: 3px 0 6px rgba(0,0,0,.24); 9 | } 10 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/app.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 7 | Ansible Migration Factory 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core'; 2 | import {MatSidenav} from '@angular/material/sidenav'; 3 | 4 | @Component({ 5 | selector: 'app-root', 6 | templateUrl: './app.component.html', 7 | styleUrls: ['./app.component.css'], 8 | }) 9 | 10 | export class AppComponent { 11 | title = 'app'; 12 | events= []; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-facts-table/ansible-facts-table.component.css: -------------------------------------------------------------------------------- 1 | mat-card-footer{ 2 | display: inline; 3 | } 4 | 5 | .mat-card-title{ 6 | font-size: 22px; 7 | } 8 | 9 | .mat-card-header{ 10 | font-size: 22px; 11 | } 12 | 13 | .filter{ 14 | float: right; 15 | } 16 | 17 | mat-card.page{ 18 | margin-top: 50px; 19 | } 20 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-facts-table/ansible-facts-table.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AnsibleFactsTableComponent } from './ansible-facts-table.component'; 4 | 5 | describe('AnsibleFactsTableComponent', () => { 6 | let component: AnsibleFactsTableComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AnsibleFactsTableComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AnsibleFactsTableComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-facts-table/ansible-facts-table.routing.ts: -------------------------------------------------------------------------------- 1 | import { ModuleWithProviders } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | import { AnsibleFactsTableComponent } from './ansible-facts-table.component'; 5 | 6 | const routes: Routes = [ 7 | { path: '', component: AnsibleFactsTableComponent } 8 | ]; 9 | 10 | export const routing: ModuleWithProviders = RouterModule.forChild(routes); -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-listener-table/ansible-listener-table.component.css: -------------------------------------------------------------------------------- 1 | mat-card-footer{ 2 | display: inline; 3 | } 4 | 5 | .mat-card-title{ 6 | font-size: 22px; 7 | } 8 | 9 | .mat-card-header{ 10 | font-size: 22px; 11 | } 12 | 13 | .filter{ 14 | float: right; 15 | } 16 | 17 | mat-card.page{ 18 | margin-top: 50px; 19 | } 20 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-listener-table/ansible-listener-table.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AnsibleListenerTableComponent } from './ansible-listener-table.component'; 4 | 5 | describe('AnsibleListenerTableComponent', () => { 6 | let component: AnsibleListenerTableComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AnsibleListenerTableComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AnsibleListenerTableComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should be created', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-listener-table/ansible-listener-table.routing.ts: -------------------------------------------------------------------------------- 1 | import { ModuleWithProviders } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | import { AnsibleListenerTableComponent } from './ansible-listener-table.component'; 5 | 6 | const routes: Routes = [ 7 | { path: '', component: AnsibleListenerTableComponent } 8 | ]; 9 | 10 | export const routing: ModuleWithProviders = RouterModule.forChild(routes); -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-packages-table/ansible-packages-table.component.css: -------------------------------------------------------------------------------- 1 | mat-card-footer{ 2 | display: inline; 3 | } 4 | .mat-card-title{ 5 | font-size: 22px; 6 | } 7 | 8 | .mat-card-header{ 9 | font-size: 22px; 10 | } 11 | 12 | 13 | .filter{ 14 | float: right; 15 | } 16 | 17 | mat-card.page{ 18 | margin-top: 50px; 19 | } 20 | 21 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-packages-table/ansible-packages-table.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AnsiblePackagesTableComponent } from './ansible-packages-table.component'; 4 | 5 | describe('AnsiblePackagesTableComponent', () => { 6 | let component: AnsiblePackagesTableComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AnsiblePackagesTableComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AnsiblePackagesTableComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should be created', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-packages-table/ansible-packages-table.routing.ts: -------------------------------------------------------------------------------- 1 | import { ModuleWithProviders } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | import { AnsiblePackagesTableComponent } from './ansible-packages-table.component'; 5 | 6 | const routes: Routes = [ 7 | { path: '', component: AnsiblePackagesTableComponent } 8 | ]; 9 | 10 | export const routing: ModuleWithProviders = RouterModule.forChild(routes); -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-processes-table/ansible-processes-table.component.css: -------------------------------------------------------------------------------- 1 | mat-card-footer{ 2 | display: inline; 3 | } 4 | 5 | .mat-card-title{ 6 | font-size: 22px; 7 | } 8 | 9 | .mat-card-header{ 10 | font-size: 22px; 11 | } 12 | 13 | 14 | .filter{ 15 | float: right; 16 | } 17 | 18 | mat-card.page{ 19 | margin-top: 50px; 20 | } 21 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-processes-table/ansible-processes-table.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AnsibleProcessesTableComponent } from './ansible-processes-table.component'; 4 | 5 | describe('AnsibleProcessesTableComponent', () => { 6 | let component: AnsibleProcessesTableComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AnsibleProcessesTableComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AnsibleProcessesTableComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should be created', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-processes-table/ansible-processes-table.routing.ts: -------------------------------------------------------------------------------- 1 | import { ModuleWithProviders } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | import { AnsibleProcessesTableComponent } from './ansible-processes-table.component'; 5 | 6 | const routes: Routes = [ 7 | { path: '', component: AnsibleProcessesTableComponent } 8 | ]; 9 | 10 | export const routing: ModuleWithProviders = RouterModule.forChild(routes); -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-service-table/ansible-service-table.component.css: -------------------------------------------------------------------------------- 1 | mat-card-footer{ 2 | display: inline; 3 | } 4 | 5 | .mat-card-title{ 6 | font-size: 22px; 7 | } 8 | 9 | .mat-card-header{ 10 | font-size: 22px; 11 | } 12 | 13 | 14 | .filter{ 15 | float: right; 16 | } 17 | 18 | mat-card.page{ 19 | margin-top: 50px; 20 | } 21 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-service-table/ansible-service-table.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AnsibleServiceTableComponent } from './ansible-service-table.component'; 4 | 5 | describe('AnsibleServiceTableComponent', () => { 6 | let component: AnsibleServiceTableComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AnsibleServiceTableComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AnsibleServiceTableComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-service-table/ansible-service-table.routing.ts: -------------------------------------------------------------------------------- 1 | import { ModuleWithProviders } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | import { AnsibleServiceTableComponent } from './ansible-service-table.component'; 5 | 6 | const routes: Routes = [ 7 | { path: '', component: AnsibleServiceTableComponent } 8 | ]; 9 | 10 | export const routing: ModuleWithProviders = RouterModule.forChild(routes); -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-usergroups-table/ansible-usergroups-table.component.css: -------------------------------------------------------------------------------- 1 | mat-card-footer{ 2 | display: inline; 3 | } 4 | 5 | .mat-card-title{ 6 | font-size: 22px; 7 | } 8 | 9 | .mat-card-header{ 10 | font-size: 22px; 11 | } 12 | 13 | 14 | .filter{ 15 | float: right; 16 | } 17 | 18 | mat-card.page{ 19 | margin-top: 50px; 20 | } 21 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-usergroups-table/ansible-usergroups-table.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AnsibleUsergroupsTableComponent } from './ansible-usergroups-table.component'; 4 | 5 | describe('AnsibleUsergroupsTableComponent', () => { 6 | let component: AnsibleUsergroupsTableComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AnsibleUsergroupsTableComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AnsibleUsergroupsTableComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should create', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/ansible-usergroups-table/ansible-usergroups-table.routing.ts: -------------------------------------------------------------------------------- 1 | import { ModuleWithProviders } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | import { AnsibleUsergroupsTableComponent } from './ansible-usergroups-table.component'; 5 | 6 | const routes: Routes = [ 7 | { path: '', component: AnsibleUsergroupsTableComponent } 8 | ]; 9 | 10 | export const routing: ModuleWithProviders = RouterModule.forChild(routes); -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/app-data-table/app-data-table.component.css: -------------------------------------------------------------------------------- 1 | 2 | .filter{ 3 | float: right; 4 | } 5 | 6 | .mat-card-title{ 7 | font-size: 22px; 8 | } 9 | 10 | .mat-card-header{ 11 | font-size: 22px; 12 | } 13 | 14 | 15 | mat-card.page{ 16 | margin-top: 50px; 17 | } 18 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/app-data-table/app-data-table.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { AppDataTableComponent } from './app-data-table.component'; 4 | 5 | describe('AppDataTableComponent', () => { 6 | let component: AppDataTableComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ AppDataTableComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(AppDataTableComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should be created', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/app-data-table/app-data-table.routing.ts: -------------------------------------------------------------------------------- 1 | import { ModuleWithProviders } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | import { AppDataTableComponent } from './app-data-table.component'; 5 | 6 | const routes: Routes = [ 7 | { path: '', component: AppDataTableComponent } 8 | ]; 9 | 10 | export const routing: ModuleWithProviders = RouterModule.forChild(routes); -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/side-panel/side-panel.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redhat-cop/canary/a7640871548a7c7fdff0ee060672a88b626843be/ansible-canary-webservice/ansible-web-front/src/app/components/side-panel/side-panel.component.css -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/side-panel/side-panel.component.html: -------------------------------------------------------------------------------- 1 |
2 | Home 3 | 4 | 5 | 6 | Discovered Facts 7 | 8 | 9 | 29 | 30 |
31 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/side-panel/side-panel.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { SidePanelComponent } from './side-panel.component'; 4 | 5 | describe('SidePanelComponent', () => { 6 | let component: SidePanelComponent; 7 | let fixture: ComponentFixture; 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [ SidePanelComponent ] 12 | }) 13 | .compileComponents(); 14 | })); 15 | 16 | beforeEach(() => { 17 | fixture = TestBed.createComponent(SidePanelComponent); 18 | component = fixture.componentInstance; 19 | fixture.detectChanges(); 20 | }); 21 | 22 | it('should be created', () => { 23 | expect(component).toBeTruthy(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/components/side-panel/side-panel.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | @Component({ 3 | selector: 'app-side-panel', 4 | templateUrl: './side-panel.component.html', 5 | styleUrls: ['./side-panel.component.css'] 6 | }) 7 | 8 | export class SidePanelComponent implements OnInit { 9 | 10 | constructor() { } 11 | 12 | ngOnInit() { 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-cronjobs.spec.ts: -------------------------------------------------------------------------------- 1 | import { AnsibleCronjobs } from './ansible-cronjobs'; 2 | 3 | describe('AnsibleCronjobs', () => { 4 | it('should create an instance', () => { 5 | expect(new AnsibleCronjobs()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-cronjobs.ts: -------------------------------------------------------------------------------- 1 | import { Cronjobs } from './cronjobs'; 2 | 3 | export class AnsibleCronjobs { 4 | hostname: string; 5 | cronjobs: Cronjobs []; 6 | 7 | constructor(values: Object = {}){ 8 | Object.assign(this, values); 9 | } 10 | 11 | public getCronJobList(): Cronjobs[]{ 12 | return this.cronjobs; 13 | } 14 | 15 | public setCronJobList(cronjobs: Cronjobs[]){ 16 | this.cronjobs = cronjobs; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-facts.spec.ts: -------------------------------------------------------------------------------- 1 | import { AnsibleFacts } from './ansible-facts'; 2 | 3 | describe('AnsibleFacts', () => { 4 | it('should create an instance', () => { 5 | expect(new AnsibleFacts()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-facts.ts: -------------------------------------------------------------------------------- 1 | import { Facts } from './facts'; 2 | 3 | export class AnsibleFacts { 4 | hostname: string; 5 | facts: Facts; 6 | 7 | constructor(values: Object = {}){ 8 | Object.assign(this, values); 9 | } 10 | 11 | public getFacts(): Facts{ 12 | return this.facts; 13 | } 14 | 15 | public setFacts(facts: Facts){ 16 | this.facts = facts; 17 | } 18 | } -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-groups.ts: -------------------------------------------------------------------------------- 1 | import { Groups } from './groups'; 2 | 3 | export class AnsibleGroups { 4 | 5 | hostname: string; 6 | groups: Groups[]; 7 | 8 | constructor(values: Object = {}){ 9 | Object.assign(this, values); 10 | } 11 | 12 | public getGroupsList(): Groups[]{ 13 | return this.groups; 14 | } 15 | 16 | public setGroupsList(groups: Groups[]){ 17 | this.groups = groups; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-listener.spec.ts: -------------------------------------------------------------------------------- 1 | import {AnsibleListener} from './ansible-listener'; 2 | 3 | describe('AnsibleListener', () => { 4 | it('should create an instance', () => { 5 | expect(new AnsibleListener()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-listeners.ts: -------------------------------------------------------------------------------- 1 | import { Listeners } from './listeners'; 2 | 3 | export class AnsibleListeners { 4 | hostname: string; 5 | listeners: Listeners []; 6 | 7 | constructor(values: Object = {}){ 8 | Object.assign(this, values); 9 | } 10 | 11 | public getListenersList(): Listeners[]{ 12 | return this.listeners; 13 | } 14 | 15 | public setListenersList(listeners: Listeners[]){ 16 | this.listeners = listeners; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-lvm.spec.ts: -------------------------------------------------------------------------------- 1 | import { AnsibleLvm } from './ansible-lvm'; 2 | 3 | describe('AnsibleLvm', () => { 4 | it('should create an instance', () => { 5 | expect(new AnsibleLvm()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-lvm.ts: -------------------------------------------------------------------------------- 1 | export class AnsibleLvm { 2 | 3 | name: string; 4 | size_g: string; 5 | vg: string; 6 | 7 | constructor(values: Object = {}){ 8 | Object.assign(this, values); 9 | } 10 | 11 | } 12 | 13 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-mounts.spec.ts: -------------------------------------------------------------------------------- 1 | import { AnsibleMounts } from './ansible-mounts'; 2 | 3 | describe('AnsibleMounts', () => { 4 | it('should create an instance', () => { 5 | expect(new AnsibleMounts()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-mounts.ts: -------------------------------------------------------------------------------- 1 | export class AnsibleMounts { 2 | 3 | uuid: string; 4 | size_total: string; 5 | mount: string; 6 | size_available: string; 7 | fstype: string; 8 | device: string; 9 | options: string; 10 | 11 | constructor(values: Object = {}){ 12 | Object.assign(this, values); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-packages.spec.ts: -------------------------------------------------------------------------------- 1 | import {AnsiblePackages} from './ansible-packages'; 2 | 3 | describe('AnsiblePackages', () => { 4 | it('should create an instance', () => { 5 | expect(new AnsiblePackages()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-packages.ts: -------------------------------------------------------------------------------- 1 | import { Packages } from './packages'; 2 | 3 | export class AnsiblePackages { 4 | hostname: string; 5 | packages: Packages []; 6 | 7 | constructor(values: Object = {}){ 8 | Object.assign(this, values); 9 | } 10 | 11 | public getPackagesList(): Packages[]{ 12 | return this.packages; 13 | } 14 | 15 | public setPackagesList(packages: Packages[]){ 16 | this.packages = packages; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-processes.spec.ts: -------------------------------------------------------------------------------- 1 | import {AnsibleProcesses} from './ansible-processes'; 2 | 3 | describe('AnsibleProcesses', () => { 4 | it('should create an instance', () => { 5 | expect(new AnsibleProcesses()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-processes.ts: -------------------------------------------------------------------------------- 1 | import { Processes } from './processes'; 2 | 3 | export class AnsibleProcesses { 4 | hostname: string; 5 | processes: Processes []; 6 | 7 | constructor(values: Object = {}){ 8 | Object.assign(this, values); 9 | } 10 | 11 | public getProcessesList(): Processes[]{ 12 | return this.processes; 13 | } 14 | public setProcessesList(processes: Processes[]){ 15 | this.processes = processes; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-services.ts: -------------------------------------------------------------------------------- 1 | import { Services } from './services'; 2 | 3 | export class AnsibleServices { 4 | hostname: string; 5 | services: Services []; 6 | 7 | constructor(values: Object = {}){ 8 | Object.assign(this, values); 9 | } 10 | 11 | public getServicesList(): Services[]{ 12 | return this.services; 13 | } 14 | 15 | public setServicesList(services: Services[]){ 16 | this.services = services; 17 | } 18 | } -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-users.ts: -------------------------------------------------------------------------------- 1 | import { Users } from './users'; 2 | 3 | export class AnsibleUsers { 4 | 5 | hostname: string; 6 | users: Users []; 7 | 8 | constructor(values: Object = {}){ 9 | Object.assign(this, values); 10 | } 11 | 12 | public getUsersList(): Users[]{ 13 | return this.users; 14 | } 15 | 16 | public setUsersList(users: Users[]){ 17 | this.users = users; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/ansible-usersgroups.spec.ts: -------------------------------------------------------------------------------- 1 | import { AnsibleUsersgroups } from './ansible-usersgroups'; 2 | 3 | describe('AnsibleUsersgroups', () => { 4 | it('should create an instance', () => { 5 | expect(new AnsibleUsersgroups()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/app-code.spec.ts: -------------------------------------------------------------------------------- 1 | import {AppCode} from './app-code'; 2 | 3 | describe('AppCode', () => { 4 | it('should create an instance', () => { 5 | expect(new AppCode()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/app-code.ts: -------------------------------------------------------------------------------- 1 | export class AppCode { 2 | app: string; 3 | appcode: number; 4 | id: number; 5 | 6 | constructor(values: Object={}){ 7 | Object.assign(this, values); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/app-data.spec.ts: -------------------------------------------------------------------------------- 1 | import {AppData} from './app-data'; 2 | 3 | describe('AppData', () => { 4 | it('should create an instance', () => { 5 | expect(new AppData()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/app-data.ts: -------------------------------------------------------------------------------- 1 | export class AppData { 2 | id: number; 3 | appcode: number; 4 | parent_app_name: string; 5 | hostname: string; 6 | fqdn: string; 7 | sat_ipv4_addr: string; 8 | services: string; 9 | environments: string; 10 | replace_status: boolean; 11 | dest_host: string; 12 | 13 | constructor(values: Object= {}){ 14 | Object.assign(this, values); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/cronjobs.spec.ts: -------------------------------------------------------------------------------- 1 | import { Cronjobs } from './cronjobs'; 2 | 3 | describe('Cronjobs', () => { 4 | it('should create an instance', () => { 5 | expect(new Cronjobs()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/cronjobs.ts: -------------------------------------------------------------------------------- 1 | import { Crontabs } from './crontabs'; 2 | 3 | export class Cronjobs { 4 | 5 | cronfiles: string[]; 6 | varspool: string[]; 7 | crontab: Crontabs[]; 8 | 9 | constructor(values: Object = {}){ 10 | Object.assign(this, values); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/crontabs.spec.ts: -------------------------------------------------------------------------------- 1 | import { Crontabs } from './crontabs'; 2 | 3 | describe('Crontabs', () => { 4 | it('should create an instance', () => { 5 | expect(new Crontabs()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/crontabs.ts: -------------------------------------------------------------------------------- 1 | export class Crontabs { 2 | hour: string; 3 | month: string; 4 | command: string; 5 | user: string; 6 | day: string; 7 | minute: string; 8 | weekday: string; 9 | 10 | constructor(values: Object = {}){ 11 | Object.assign(this, values); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/facts.spec.ts: -------------------------------------------------------------------------------- 1 | import { Facts } from './facts'; 2 | 3 | describe('Facts', () => { 4 | it('should create an instance', () => { 5 | expect(new Facts()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/groups.spec.ts: -------------------------------------------------------------------------------- 1 | import { Groups } from './groups'; 2 | 3 | describe('Groups', () => { 4 | it('should create an instance', () => { 5 | expect(new Groups()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/groups.ts: -------------------------------------------------------------------------------- 1 | export class Groups { 2 | gid: string; 3 | password: string; 4 | group_list: string; 5 | group_name: string; 6 | 7 | constructor(values: Object = {}){ 8 | Object.assign(this, values); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/hostname.spec.ts: -------------------------------------------------------------------------------- 1 | import {Hostname} from './hostname'; 2 | 3 | describe('Hostname', () => { 4 | it('should create an instance', () => { 5 | expect(new Hostname()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/hostname.ts: -------------------------------------------------------------------------------- 1 | export class Hostname { 2 | 3 | hostname: string; 4 | id: number; 5 | 6 | constructor(values: Object={}){ 7 | Object.assign(this,values); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/listeners.spec.ts: -------------------------------------------------------------------------------- 1 | import {Listeners} from './listeners'; 2 | 3 | describe('Listeners', () => { 4 | it('should create an instance', () => { 5 | expect(new Listeners()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/listeners.ts: -------------------------------------------------------------------------------- 1 | 2 | export class Listeners { 3 | 4 | protocol: string; 5 | local_address: string; 6 | local_port: string; 7 | state: string; 8 | pid: string; 9 | process: string; 10 | 11 | constructor(values: Object = {}){ 12 | Object.assign(this, values); 13 | } 14 | 15 | } 16 | 17 | 18 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/packages.spec.ts: -------------------------------------------------------------------------------- 1 | import {Packages} from './packages'; 2 | 3 | describe('Packages', () => { 4 | it('should create an instance', () => { 5 | expect(new Packages()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/packages.ts: -------------------------------------------------------------------------------- 1 | export class Packages { 2 | 3 | name: string; 4 | source: string; 5 | epoch: number; 6 | version: string; 7 | release: string; 8 | arch: string; 9 | 10 | constructor(values: Object = {}){ 11 | Object.assign(this, values); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/processes.spec.ts: -------------------------------------------------------------------------------- 1 | import {Processes} from './processes'; 2 | 3 | describe('Processes', () => { 4 | it('should create an instance', () => { 5 | expect(new Processes()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/processes.ts: -------------------------------------------------------------------------------- 1 | export class Processes { 2 | 3 | TTY: string; 4 | CPU_Perc: string; 5 | PID: string; 6 | MEM_Perc: string; 7 | COMMAND: string; 8 | USER: string; 9 | STAT: string; 10 | 11 | constructor(values: Object = {}){ 12 | Object.assign(this, values); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/selinux.spec.ts: -------------------------------------------------------------------------------- 1 | import { Selinux } from './selinux'; 2 | 3 | describe('Selinux', () => { 4 | it('should create an instance', () => { 5 | expect(new Selinux()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/services.ts: -------------------------------------------------------------------------------- 1 | export class Services { 2 | name: string; 3 | state: string; 4 | source: string; 5 | 6 | constructor(values: Object = {}){ 7 | Object.assign(this, values); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/users.spec.ts: -------------------------------------------------------------------------------- 1 | import { Users } from './users'; 2 | 3 | describe('Users', () => { 4 | it('should create an instance', () => { 5 | expect(new Users()).toBeTruthy(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/model/users.ts: -------------------------------------------------------------------------------- 1 | export class Users { 2 | 3 | username: string; 4 | shadow_must_change: string; 5 | encrypted_password: string; 6 | login_shell: string; 7 | home_directory: string; 8 | uid: string; 9 | gid: string; 10 | 11 | constructor(values: Object = {}){ 12 | Object.assign(this, values); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/service/app-data-api.service.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed, inject } from '@angular/core/testing'; 2 | 3 | import { AppDataApiService } from './app-data-api.service'; 4 | 5 | describe('AppDataApiService', () => { 6 | beforeEach(() => { 7 | TestBed.configureTestingModule({ 8 | providers: [AppDataApiService] 9 | }); 10 | }); 11 | 12 | it('should be created', inject([AppDataApiService], (service: AppDataApiService) => { 13 | expect(service).toBeTruthy(); 14 | })); 15 | }); 16 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/service/app-data.service.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed, inject } from '@angular/core/testing'; 2 | 3 | import { AppDataService } from './app-data.service'; 4 | 5 | describe('AppDataService', () => { 6 | beforeEach(() => { 7 | TestBed.configureTestingModule({ 8 | providers: [AppDataService] 9 | }); 10 | }); 11 | 12 | it('should be created', inject([AppDataService], (service: AppDataService) => { 13 | expect(service).toBeTruthy(); 14 | })); 15 | }); 16 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/service/app-data.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | import { AppDataApiService } from './app-data-api.service'; 3 | import { Observable } from 'rxjs/Observable'; 4 | import { AppCode } from '../model/app-code'; 5 | import { AppData } from '../model/app-data'; 6 | 7 | @Injectable() 8 | export class AppDataService { 9 | 10 | constructor( 11 | private api: AppDataApiService 12 | ) { } 13 | 14 | getAppCodes():Observable{ 15 | return this.api.getAppCodes(); 16 | } 17 | 18 | getAppDataByCode(appcode: number): Observable{ 19 | return this.api.getAppDataByCode(appcode); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/service/facts-api.service.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed, inject } from '@angular/core/testing'; 2 | 3 | import { FactsApiService } from './facts-api.service'; 4 | 5 | describe('FactsApiService', () => { 6 | beforeEach(() => { 7 | TestBed.configureTestingModule({ 8 | providers: [FactsApiService] 9 | }); 10 | }); 11 | 12 | it('should be created', inject([FactsApiService], (service: FactsApiService) => { 13 | expect(service).toBeTruthy(); 14 | })); 15 | }); 16 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/app/service/facts.service.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed, inject } from '@angular/core/testing'; 2 | 3 | import { FactsService } from './facts.service'; 4 | 5 | describe('FactsService', () => { 6 | beforeEach(() => { 7 | TestBed.configureTestingModule({ 8 | providers: [FactsService] 9 | }); 10 | }); 11 | 12 | it('should be created', inject([FactsService], (service: FactsService) => { 13 | expect(service).toBeTruthy(); 14 | })); 15 | }); 16 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redhat-cop/canary/a7640871548a7c7fdff0ee060672a88b626843be/ansible-canary-webservice/ansible-web-front/src/assets/.gitkeep -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/environments/environment.int.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: false, 3 | envName: 'int', 4 | contextRoot: 'http://localhost:8080/v1/ansible/web', 5 | appCode_url: '/appcodes/', 6 | appDataById_url: '/appData/', 7 | hostname_url: '/servers/', 8 | service_url: '/ansible_services/', 9 | packages_url: '/ansible_packages/', 10 | listener_url: '/ansible_listeners/', 11 | processes_url: '/ansible_processes/', 12 | cronjobs_url: '/ansible_cronjobs/', 13 | users_url: '/ansible_users/', 14 | groups_url: '/ansible_groups/', 15 | facts_url: '/ansible/facts' 16 | }; 17 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | contextRoot: 'http://127.0.0.1:8080/v1/ansible/web', 4 | appCode_url: '/appcodes/', 5 | appDataById_url: '/appData/', 6 | hostname_url: '/servers/', 7 | service_url: '/ansible_services/', 8 | packages_url: '/ansible_packages/', 9 | listener_url: '/ansible_listeners/', 10 | processes_url: '/ansible_processes/', 11 | cronjobs_url: '/ansible_cronjobs/', 12 | users_url: '/ansible_users/', 13 | groups_url: '/ansible_groups/', 14 | facts_url: '/ansible_facts' 15 | }; 16 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redhat-cop/canary/a7640871548a7c7fdff0ee060672a88b626843be/ansible-canary-webservice/ansible-web-front/src/favicon.ico -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ansible Migration Factory 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic().bootstrapModule(AppModule); 12 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | body { 4 | font-family: 'Arial', Helvetica, sans-serif; 5 | padding: 0; 6 | margin: 0; 7 | background: #fafafa; 8 | } 9 | 10 | mat-card { 11 | max-width: 100%; 12 | margin: 0; 13 | bottom: 0; 14 | } 15 | 16 | a { 17 | /* Applies to all unvisited links */ 18 | text-decoration: none; 19 | font-weight: bold; 20 | box-sizing: border-box; 21 | display: block; 22 | font-size: 14px; 23 | font-weight: 400; 24 | line-height: 47px; 25 | transition: all .3s; 26 | padding: 0 16px; 27 | position: relative; 28 | } -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "baseUrl": "./", 6 | "module": "es2015", 7 | "types": [ 8 | "hammerjs" 9 | ] 10 | }, 11 | "exclude": [ 12 | "test.ts", 13 | "**/*.spec.ts" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/spec", 5 | "baseUrl": "./", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": [ 9 | "jasmine", 10 | "node" 11 | ] 12 | }, 13 | "files": [ 14 | "test.ts" 15 | ], 16 | "include": [ 17 | "**/*.spec.ts", 18 | "**/*.d.ts" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | /* SystemJS module definition */ 2 | declare var module: NodeModule; 3 | interface NodeModule { 4 | id: string; 5 | } 6 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web-front/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "outDir": "./dist/out-tsc", 5 | "sourceMap": true, 6 | "declaration": false, 7 | "moduleResolution": "node", 8 | "emitDecoratorMetadata": true, 9 | "experimentalDecorators": true, 10 | "target": "es5", 11 | "typeRoots": [ 12 | "node_modules/@types" 13 | ], 14 | "lib": [ 15 | "es2016", 16 | "dom" 17 | ] 18 | }, 19 | "include": ["node_modules/angular-bootstrap-md/**/*.ts", "src/**/*.ts"] 20 | } 21 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/.gitignore: -------------------------------------------------------------------------------- 1 | *.idea/ 2 | com.redhat.ansible.web.parent/com.redhat.ansible.web.server/target/** 3 | /server2/target/ 4 | /com.redhat.ansible.web.parent/server2/target/ 5 | /com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/target/ -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/README.md: -------------------------------------------------------------------------------- 1 | Docker Compose comands to setup the postgres database 2 | 3 | $ docker-compose up 4 | 5 | # insert the data into the database 6 | $ psql -U redhat -h localhost -d redhat < setup.sql 7 | 8 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/src/main/java/com/redhat/ansible/web/server/model/AnsibleFacts.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package com.redhat.ansible.web.server.model; 7 | 8 | /** 9 | * 10 | * @author dfreese 11 | */ 12 | public class AnsibleFacts extends CoreData { 13 | 14 | private Facts facts; 15 | 16 | public Facts getFacts() { 17 | if(facts == null){ 18 | facts = new Facts(); 19 | } 20 | return facts; 21 | } 22 | 23 | public void setFacts(Facts facts) { 24 | this.facts = facts; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/src/main/java/com/redhat/ansible/web/server/model/AnsibleGroups.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package com.redhat.ansible.web.server.model; 7 | 8 | import com.fasterxml.jackson.annotation.JsonRawValue; 9 | 10 | /** 11 | * 12 | * @author dfreese 13 | */ 14 | public class AnsibleGroups extends CoreData { 15 | 16 | @JsonRawValue 17 | private String groups; 18 | 19 | public String getGroups() { 20 | return groups; 21 | } 22 | 23 | public void setGroups(String groups) { 24 | this.groups = groups; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/src/main/java/com/redhat/ansible/web/server/model/AnsibleUsers.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package com.redhat.ansible.web.server.model; 7 | 8 | import com.fasterxml.jackson.annotation.JsonRawValue; 9 | 10 | /** 11 | * 12 | * @author dfreese 13 | */ 14 | public class AnsibleUsers extends CoreData { 15 | 16 | @JsonRawValue 17 | private String users; 18 | 19 | public String getUsers() { 20 | return users; 21 | } 22 | 23 | public void setUsers(String users) { 24 | this.users = users; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/src/main/java/com/redhat/ansible/web/server/model/Hostname.java: -------------------------------------------------------------------------------- 1 | /* 2 | * To change this license header, choose License Headers in Project Properties. 3 | * To change this template file, choose Tools | Templates 4 | * and open the template in the editor. 5 | */ 6 | package com.redhat.ansible.web.server.model; 7 | 8 | /** 9 | * 10 | * @author dfreese 11 | */ 12 | public class Hostname { 13 | 14 | private int id; 15 | private String hostname; 16 | 17 | public int getId() { 18 | return id; 19 | } 20 | 21 | public void setId(int id) { 22 | this.id = id; 23 | } 24 | 25 | public String getHostname() { 26 | return hostname; 27 | } 28 | 29 | public void setHostname(String hostname) { 30 | this.hostname = hostname; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/src/main/resources/filePath.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redhat-cop/canary/a7640871548a7c7fdff0ee060672a88b626843be/ansible-canary-webservice/ansible-web/com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/src/main/resources/filePath.properties -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/src/main/webapp/WEB-INF/jboss-web.xml: -------------------------------------------------------------------------------- 1 | 2 | v1 3 | 4 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/com.redhat.ansible.web.parent/com.redhat.ansible.web.server2/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Discovery API 8 | 9 | CamelServlet 10 | org.apache.camel.component.servlet.CamelHttpTransportServlet 11 | 1 12 | 13 | 14 | 15 | CamelServlet 16 | /* 17 | 18 | -------------------------------------------------------------------------------- /ansible-canary-webservice/ansible-web/docker-compose.yml: -------------------------------------------------------------------------------- 1 | postgres: 2 | image: postgres:9.5.3 3 | expose: 4 | - 5432 5 | ports: 6 | - 5432:5432 7 | environment: 8 | - POSTGRES_USER=redhat 9 | - POSTGRES_PASSWORD=redhat 10 | # volumes: 11 | # - /tmp/postgresdb:/var/lib/postgresql/data 12 | 13 | -------------------------------------------------------------------------------- /ansible-canary-webservice/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "requires": true, 3 | "lockfileVersion": 1, 4 | "dependencies": { 5 | "hammerjs": { 6 | "version": "2.0.8", 7 | "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", 8 | "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" 9 | }, 10 | "jquery": { 11 | "version": "3.2.1", 12 | "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz", 13 | "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=" 14 | }, 15 | "materialize-css": { 16 | "version": "0.100.2", 17 | "resolved": "https://registry.npmjs.org/materialize-css/-/materialize-css-0.100.2.tgz", 18 | "integrity": "sha512-Bf4YeoJCIdk4dlpnmVX+DIOJBbqOKwfBPD+tT5bxwXNFMLk649CGbldqtnctkkfMp+fGgSAsdYu9lo1ZolZqgA==", 19 | "requires": { 20 | "hammerjs": "2.0.8", 21 | "jquery": "3.2.1" 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /application-signatures/ansible-canary-role-application-signature-ansible-tower/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # built for Tower 3.4.1-1 3 | amf_as_services: 4 | - "postgresql-9.6.service" 5 | - "rabbitmq-server.service" 6 | - "nginx.service" 7 | - "supervisord.service" 8 | 9 | amf_as_user_group: 10 | users: 11 | - "awx" 12 | groups: 13 | - "awx" 14 | 15 | amf_as_paths: 16 | - "/var/lib/awx" 17 | 18 | # built for Tower 3.4.1-1 19 | amf_as_packages: 20 | - "rabbitmq-server" 21 | - "ansible-tower-server" 22 | - "postgresql96-contrib" 23 | - "postgresql96-libs" 24 | - "supervisor" 25 | - "nginx" 26 | 27 | # Returned fields 28 | amf_as_discovered_app: 29 | name: "Ansible Tower" 30 | desc: "Hosts identified as Ansible Tower Servers" 31 | -------------------------------------------------------------------------------- /application-signatures/ansible-canary-role-application-signature-ansible-tower/tasks/check_paths.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Following task prevents possible junk data affecting check 3 | # from previous loops 4 | - name: "Ensure clean path check variable" 5 | set_fact: 6 | amf_as_path_check: "" 7 | 8 | - stat: 9 | path: "{{ path }}" 10 | follow: False 11 | get_attributes: False 12 | get_checksum: False 13 | get_md5: False 14 | get_mime: False 15 | register: "amf_as_path_check" 16 | 17 | - name: "Check if {{ amf_as_discovered_app.name }} application path exists" 18 | set_fact: 19 | amf_as_path_count: "{{ amf_as_path_count | int + 1 }}" 20 | when: "amf_as_path_check.stat.exists" 21 | -------------------------------------------------------------------------------- /application-signatures/ansible-canary-role-development-application-signature-skeleton/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | amf_as_services: 3 | - "example1.service" 4 | - "example2.service" 5 | 6 | amf_as_user_group: 7 | users: 8 | - "appuser" 9 | groups: 10 | - "appgroup" 11 | 12 | amf_as_paths: 13 | - "/path/my/app/always/has" 14 | 15 | # not fully implemented yet, will probably need a name and version field 16 | ## currently only takes a package name (no versions) 17 | amf_as_packages: 18 | - "pkg1" 19 | - "pkg2" 20 | - "pkg3" 21 | 22 | # ports not implemented yet 23 | amf_as_ports: 24 | - "1234" 25 | 26 | amf_as_processes: 27 | - "process_name1" 28 | - "process_name2" 29 | - "process_name3" 30 | 31 | amf_as_scores: 32 | users: "1" 33 | groups: "1" 34 | services: "2" 35 | paths: "1" 36 | packages: "3" 37 | ports: "1" 38 | processes: "3" 39 | 40 | # Returned fields 41 | amf_as_discovered_app: 42 | name: "My App Name" 43 | desc: "Hosts identified as My App Servers" 44 | -------------------------------------------------------------------------------- /application-signatures/ansible-canary-role-development-application-signature-skeleton/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Identify application as {{ amf_as_discovered_app.name }}" 3 | application_id: 4 | application: "{{ amf_as_discovered_app }}" 5 | facts: "{{ fact_subset }}" 6 | users: "{{ amf_as_user_group.users }}" 7 | groups: "{{ amf_as_user_group.groups }}" 8 | paths: "{{ amf_as_paths }}" 9 | packages: "{{ amf_as_packages }}" 10 | ports: "{{ amf_as_ports }}" 11 | processes: "{{ amf_as_processes }}" 12 | services: "{{ amf_as_services }}" 13 | scores: "{{ amf_as_scores }}" 14 | discovered_apps: "{{ ansible_facts.discovered_apps | default([]) }}" 15 | register: "application_id_out" 16 | 17 | - name: "Debug application_id_out counters for verification" 18 | debug: 19 | var: "application_id_out" 20 | verbosity: "1" 21 | 22 | - name: "Debug discovered applications" 23 | debug: 24 | var: "discovered_apps" 25 | verbosity: "1" 26 | -------------------------------------------------------------------------------- /discovery-roles/ansible-canary-role-discovered-host-inventory/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | discovered_host_install_prereqs: False 3 | discovered_host_inventory_name: "Discovered Hosts" 4 | discovered_host_inventory_description: "Inventory of hosts scanned by the Ansible Migration Factory Discovery playbook" 5 | discovered_host_inventory_default_group: 6 | name: "Unknown Application" 7 | desc: "Hosts running applications or services that we could not identify" 8 | tower_user: "" 9 | tower_pass: "" 10 | tower_url: "" 11 | tower_org: "" 12 | tower_verify_ssl: False 13 | -------------------------------------------------------------------------------- /discovery-roles/ansible-canary-role-discovered-host-inventory/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for discovered-host-inventory -------------------------------------------------------------------------------- /discovery-roles/ansible-canary-role-discovery-cron-jobs/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Find the cron dirs 3 | find: 4 | paths: /etc/cron.hourly,/etc/cron.daily,/etc/cron.weekly,/etc/cron.monthly 5 | recurse: yes 6 | register: cronFiles 7 | 8 | - set_fact: 9 | cronFiles: "{{ cronFiles.files | map(attribute='path') | list }}" 10 | 11 | - name: Collect /etc/crontab data 12 | shell: 'cat /etc/crontab' 13 | register: cronTab 14 | changed_when: false 15 | 16 | - name: Collect /var/spool/cron files 17 | find: 18 | paths: /var/spool/cron/ 19 | recurse: yes 20 | register: varSpoolCron 21 | 22 | - set_fact: 23 | varSpoolCron: "{{ varSpoolCron.files | map(attribute='path') | list }}" 24 | 25 | - name: parse cron data 26 | crontab_tojson: 27 | cronfiles: "{{ cronFiles }}" 28 | crontab: "{{ cronTab.stdout_lines }}" 29 | varSpool: "{{ varSpoolCron }}" 30 | register: cronData 31 | 32 | - set_fact: 33 | cron_jobs: "{{ cronData }}" 34 | -------------------------------------------------------------------------------- /discovery-roles/ansible-canary-role-discovery-listening-ports/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | #tasks for finding getting data into Json from netstat 3 | 4 | 5 | - name: Netstat output 6 | shell: 'netstat -tulpn | awk "{if (NR>2) {print}}"' 7 | register: netstat 8 | changed_when: false 9 | 10 | - name: Convert Netstat output to Json 11 | listener: 12 | netstat: "{{netstat.stdout_lines | to_json}}" 13 | register: result 14 | 15 | - set_fact: 16 | listeners: "{{ result }}" 17 | 18 | -------------------------------------------------------------------------------- /discovery-roles/ansible-canary-role-discovery-processes/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | #tasks for finding getting data into Json from netstat 3 | 4 | 5 | - name: PS Aux output 6 | shell: "ps aux | awk '{if (NR!=1) {print}}'" 7 | register: ps_aux 8 | changed_when: false 9 | 10 | - name: Convert ps_aux output to Json 11 | processes: 12 | processes: "{{ps_aux.stdout_lines | to_json}}" 13 | register: result 14 | 15 | - set_fact: 16 | processes: "{{ result }}" 17 | -------------------------------------------------------------------------------- /discovery-roles/ansible-canary-role-discovery-sudoers/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Get sudoers facts" 3 | scan_sudoers: 4 | 5 | # scan_sudoers returns ansible_facts[sudoers] 6 | -------------------------------------------------------------------------------- /discovery-roles/ansible-canary-role-discovery-user-group/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Get local user and local group facts" 3 | scan_user_group: 4 | 5 | # usergroupparser returns ansible_facts[local_users] and ansible_facts[local_groups] json 6 | -------------------------------------------------------------------------------- /discovery-roles/ansible-canary-role-discovery-yum-repos/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for rpmdiff 3 | 4 | #Get yum repolist, remove column headers and last line that gives sum. 5 | # Remove the head portion to make work with dnf command 6 | - name: get repolist 7 | shell: 'yum repolist all | head -n -1' 8 | register: repoList 9 | changed_when: false 10 | 11 | - name: Convert repolist output to Json 12 | repolist: 13 | repolist: "{{repoList.stdout_lines | to_json}}" 14 | register: repoList 15 | 16 | - set_fact: 17 | repoList: "{{ repoList }}" 18 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-playbook-install-ansible-migration-factory/inventory: -------------------------------------------------------------------------------- 1 | [tower] 2 | # if running a cluster, add the VIP here and remove the following line 3 | localhost ansible_connection=local 4 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-playbook-install-ansible-migration-factory/roles/requirements.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - src: "https://github.com/redhat-ansible-practice/ansible_tower_genie_virtual_environments" 3 | name: "genie_virtual_environments" 4 | 5 | - src: "https://github.com/redhat-ansible-practice/ansible_tower_genie_projects" 6 | name: "genie_projects" 7 | 8 | - src: "https://github.com/redhat-ansible-practice/ansible_tower_genie_job_templates" 9 | name: "genie_job_templates" 10 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-playbook-install-ansible-migration-factory/vars/defaults.yml: -------------------------------------------------------------------------------- 1 | --- 2 | tower_url: "" 3 | tower_verify_ssl: False 4 | tower_user: "admin" 5 | tower_org: "Default" 6 | amf_jt_disc_inv: "Demo Inventory" #Name of target inventory to use for Discovery Job Template 7 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/.vaultpw: -------------------------------------------------------------------------------- 1 | $3cret$tu44z 2 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | roles_path=./roles 3 | retry_files_enabled = False 4 | vault_password_file = ./.vaultpw 5 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/install-webservice.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: "all" 3 | tasks: 4 | - name: "Install Coalmine" 5 | include_role: 6 | name: "install-webservice" 7 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/.gitignore: -------------------------------------------------------------------------------- 1 | .vagrant/** 2 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/.gitlab-ci: -------------------------------------------------------------------------------- 1 | test: 2 | before_script: 3 | - yum install python-pip 4 | - pip install molecule ansible docker 5 | script: 6 | - molecule test 7 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/.yamllint: -------------------------------------------------------------------------------- 1 | extends: default 2 | 3 | rules: 4 | braces: 5 | max-spaces-inside: 1 6 | level: error 7 | brackets: 8 | max-spaces-inside: 1 9 | level: error 10 | line-length: disable 11 | document-start: disable 12 | # NOTE(retr0h): Templates no longer fail this lint rule. 13 | # Uncomment if running old Molecule templates. 14 | # truthy: disable 15 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | ws_db_name: "coalmine" 3 | ws_db_user: "coalmine" 4 | ws_user: "coalmine" 5 | ws_group: "coalmine" 6 | ws_user_home: "/home/{{ ws_user }}" 7 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/files/pg_hba.conf: -------------------------------------------------------------------------------- 1 | # TYPE DATABASE USER CIDR-ADDRESS METHOD 2 | local all postgres peer 3 | local all all md5 4 | host all all 127.0.0.1/32 md5 5 | host all all ::1/128 md5 6 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: "Restart apache" 3 | service: 4 | state: "restarted" 5 | name: "{{ ws_apache_svc }}" 6 | enabled: True 7 | become: True 8 | 9 | - name: "Restart postgresql" 10 | service: 11 | name: "{{ postgres_service }}" 12 | state: "restarted" 13 | become: True 14 | 15 | - name: "Restart coalmine" 16 | service: 17 | state: "restarted" 18 | name: "wildfly" 19 | enabled: True 20 | become: True 21 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/molecule/default/INSTALL.rst: -------------------------------------------------------------------------------- 1 | ******* 2 | Docker driver installation guide 3 | ******* 4 | 5 | Requirements 6 | ============ 7 | 8 | * General molecule dependencies (see https://molecule.readthedocs.io/en/latest/installation.html) 9 | * Docker Engine 10 | * docker-py 11 | * docker 12 | 13 | Install 14 | ======= 15 | 16 | $ sudo pip install docker-py 17 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/molecule/default/molecule.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependency: 3 | name: galaxy 4 | driver: 5 | name: docker 6 | lint: 7 | name: yamllint 8 | options: 9 | config-file: ./.yamllint 10 | platforms: 11 | - name: canary 12 | image: centos:7 13 | published_ports: 14 | - 8080:80 15 | provisioner: 16 | name: ansible 17 | inventory: 18 | host_vars: 19 | canary: 20 | ws_repo_version: add-camel-middleware 21 | lint: 22 | name: ansible-lint 23 | scenario: 24 | name: default 25 | test_sequence: 26 | - destroy 27 | - create 28 | - converge 29 | # - idempotence 30 | - lint 31 | - verify 32 | verifier: 33 | name: testinfra 34 | lint: 35 | name: flake8 36 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/molecule/default/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Converge 3 | hosts: all 4 | roles: 5 | - role: ansible-canary-role-install-webservice 6 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/molecule/default/tests/test_default.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | import testinfra.utils.ansible_runner 4 | 5 | testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( 6 | os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all') 7 | 8 | 9 | def test_hosts_file(host): 10 | f = host.file('/etc/hosts') 11 | 12 | assert f.exists 13 | assert f.user == 'root' 14 | assert f.group == 'root' 15 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/molecule/default/tests/test_default.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redhat-cop/canary/a7640871548a7c7fdff0ee060672a88b626843be/installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/molecule/default/tests/test_default.pyc -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/templates/coalmine.service.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Coalmine 3 | Wants=network-online.target 4 | After=network-online.target 5 | 6 | [Service] 7 | Type=simple 8 | ExecStart={{ wildfly_home }}/bin/standalone.sh -b=0.0.0.0 9 | Restart=always 10 | RestartSec=20 11 | 12 | [Install] 13 | WantedBy=multi-user.target 14 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/templates/environment.prod.ts.j2: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true, 3 | contextRoot: 'http://{{ inventory_hostname }}:8080/v1/ansible/web', 4 | appCode_url: '/appcodes/', 5 | appDataById_url: '/appData/', 6 | hostname_url: '/servers/', 7 | service_url: '/ansible_services/', 8 | packages_url: '/ansible_packages/', 9 | listener_url: '/ansible_listeners/', 10 | processes_url: '/ansible_processes/', 11 | cronjobs_url: '/ansible_cronjobs/', 12 | users_url: '/ansible_users/', 13 | groups_url: '/ansible_groups/', 14 | facts_url: '/ansible_facts' 15 | }; 16 | -------------------------------------------------------------------------------- /installation-playbooks/ansible-canary-role-install-webservice/roles/install-webservice/templates/install-pg-db-module.j2: -------------------------------------------------------------------------------- 1 | embed-server --std-out=echo --server-config=standalone.xml 2 | 3 | batch 4 | 5 | module add --name=org.postgres --resources={{ ws_user_home }}/{{ postgres_jdbc_driver }} --dependencies=javax.api,javax.transaction.api 6 | 7 | /subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver) 8 | 9 | /subsystem=datasources/data-source=canaryDataSource/:add(connection-url=jdbc:postgresql://127.0.0.1:5432/{{ ws_db_name }},driver-name=postgres,jndi-name=java:jboss/datasources/PostgresDS,initial-pool-size=4,max-pool-size=64,min-pool-size=4,password={{ ws_db_pwd }},user-name={{ ws_db_user }}) 10 | 11 | run-batch 12 | --------------------------------------------------------------------------------