cleaned up linting and added AAP on Code ready

This commit is contained in:
chadmf
2021-12-06 16:01:14 -06:00
parent a12658cbcc
commit 12f51112ab
135 changed files with 724 additions and 403 deletions

View File

@@ -1,3 +0,0 @@
# Developer Report
This Ansible Role has a README.md coming soon.

View File

@@ -1,19 +0,0 @@
---
galaxy_info:
role_name: developer_report
author: Sean Cavanaugh
description: This role create an HTML report using Ansible Facts
company: Red Hat
platforms:
- name: EL
versions:
- 8
- 7
license: GPL-3.0-or-later
min_ansible_version: 2.9
galaxy_tags: []
dependencies: []

View File

@@ -1,10 +0,0 @@
---
- name: create HTML report
become: true
template:
src: report.j2
dest: "{{ file_path }}"
- name: DISPLAY LINK TO INVENTORY REPORT
debug:
msg: "Please go to http://{{ ansible_host }}/report"

View File

@@ -1,37 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/main.css">
</head>
<h1>Developer Report</h1>
<body>
<table>
<thead>
<tr>
<th>Hostname</th>
<th>Operating System</th>
<th>PATH</th>
<th>Kernel</th>
<th>Python Version</th>
<th>Package Manager</th>
<th>System Date Time</td>
</tr>
</thead>
<tbody>
{% for linux_node in groups['all'] %}
<tr>
<td>{{ hostvars[linux_node]['ansible_hostname'] }}</td>
<td>{{ hostvars[linux_node]['ansible_distribution'] }} {{hostvars[linux_node]['ansible_distribution_version']}}</td>
<td>{{ hostvars[linux_node]['ansible_env']['PATH'] }}</td>
<td>{{ hostvars[linux_node]['ansible_kernel'] }}</td>
<td>{{ hostvars[linux_node]['ansible_python_version'] }}</td>
<td>{{ hostvars[linux_node]['ansible_pkg_mgr'] }}</td>
<td>{{ hostvars[linux_node]['ansible_date_time']['date'] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>

View File

@@ -1,11 +0,0 @@
# Generate README
This Ansible Role will generate the master README.md for this Ansible Collection.
To generate a README.md, execute the following command from the root of this Ansible Collection.
```
ansible-playbook playbooks/generate_readme.yml
```
Please see the result at the master demo [README.md](../../README.md)

View File

@@ -1,19 +0,0 @@
---
galaxy_info:
role_name: generate_readme
author: Sean Cavanaugh
description: This role generates a readme for the github/ansible/product-demos
company: Red Hat
platforms:
- name: EL
versions:
- 8
- 7
license: GPL-3.0-or-later
min_ansible_version: 2.9
galaxy_tags: []
dependencies: []

View File

@@ -1,10 +0,0 @@
---
- name: load variables from adjacent role
include_role:
name: "../roles/install_demo"
tasks_from: load_vars.yml
- name: create readme
template:
src: readme.j2
dest: "../README.md"

View File

@@ -1,136 +0,0 @@
# Official Ansible Product Demos
This repo currently under construction and working on a minimal viable demo for testing purposes
# Table of contents
* [How to use](#how-to-use)
* [1. Provide login information and choose demo](#1-provide-login-information-and-choose-demo)
* [2. Run Ansible Playbook](#2-run-ansible-playbook)
* [Demo Repository](#demo-repository)
* [Infrastructure Demos](#infrastructure-demos)
* [Network Demos](#network-demos)
* [Security Demos](#security-demos)
* [Developer Demos](#developer-demos)
* [Contribute](#contribute)
* [Notes](#notes)
# How to use
## 1. Provide login information and choose demo
- Modify the `choose_demo.yml` file that is included in this repo with the username, password and IP address (or DNS name) of your Ansible Tower
- Choose the demo name you want from the table below (or choose `all`)
## 2. Run Ansible Playbook
```
ansible-playbook playbooks/install_demo.yml -e @choose_demo.yml
```
# Demo Repository
This repository currently holds {{job_template_definitions.items()|sort(attribute='1.name')|count}} demos.
## Infrastructure Demos
<table>
<tr>
<th>Demo Name</th>
<th>Author</th>
<th>install_demo.yml value</th>
<th>Description</th>
<th>Video Walkthrough</th>
<th>Workshop Types</th>
</tr>
{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'infrastructure$')|sort(attribute='1.name') %}
<tr>
<td>{% if value.readme is defined%}<a href="{{ value.readme}}">{{value.name}}</a>{% else %}{{value.name}}{% endif %}</td>
<td>{{value.author}}</td>
<td><pre>demo: {{key}}</pre></td>
<td>{{value.description}}</td>
<td>{% if value.video is defined%}<a href="{{ value.video}}">Video Link</a>{% else %}Not available {% endif %}</td>
<td><ul>{% for workshop in value.workshop_type %}<li>{{workshop}}</li>{% endfor %}</ul></td>
</tr>
{% endfor %}
</table>
## Network Demos
<table>
<tr>
<th>Demo Name</th>
<th>Author</th>
<th>install_demo.yml value</th>
<th>Description</th>
<th>Video Walkthrough</th>
<th>Workshop Types</th>
</tr>
{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'network$')|sort(attribute='1.name') %} <tr>
<td>{{ value.name }}</td>
<td>{{ value.author }}</td>
<td><pre>demo: {{key }}</pre></td>
<td>{{ value.description }}</td>
<td>{% if value.video is defined %}<a href="{{ value.video }}">Video Link</a>{% else %}Not available {% endif %}</td>
<td><ul>{% for workshop in value.workshop_type %}<li>{{ workshop }}</li>{% endfor %}</ul></td>
</tr>
{% endfor %}
</table>
## Security Demos
<table>
<tr>
<th>Demo Name</th>
<th>Author</th>
<th>install_demo.yml value</th>
<th>Description</th>
<th>Video Walkthrough</th>
<th>Workshop Types</th>
</tr>
{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'security$')|sort(attribute='1.name') %} <tr>
<td>{{ value.name }}</td>
<td>{{ value.author }}</td>
<td><pre>demo: {{ key }}</pre></td>
<td>{{ value.description }}</td>
<td>{% if value.video is defined %}<a href="{{ value.video }}">Video Link</a>{% else %}Not available {% endif %}</td>
<td><ul>{% for workshop in value.workshop_type %}<li>{{ workshop }}</li>{% endfor %}</ul></td>
</tr>
{% endfor %}
</table>
## Developer Demos
<table>
<tr>
<th>Demo Name</th>
<th>Author</th>
<th>install_demo.yml value</th>
<th>Description</th>
<th>Video Walkthrough</th>
<th>Workshop Types</th>
</tr>
{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'developer$')|sort(attribute='1.name') %} <tr>
<td>{{ value.name }}</td>
<td>{{ value.author }}</td>
<td><pre>demo: {{ key }}</pre></td>
<td>{{ value.description }}</td>
<td>{% if value.video is defined %}<a href="{{ value.video }}">Video Link</a>{% else %}Not available {% endif %}</td>
<td><ul>{% for workshop in value.workshop_type %}<li>{{ workshop }}</li>{% endfor %}</ul></td>
</tr>
{% endfor %}
</table>
# Contribute
please refer to the [contribute.md](docs/contribute.md) documentation included in this collection.
# Notes
This README.md was auto-generated by Ansible user **{{ ansible_user_id }}** on **{{ ansible_date_time.date }}** with Ansible version **{{ ansible_version.full }}**
To generate a README.md, execute the following command
```
ansible-playbook playbooks/generate_readme.yml
```

View File

@@ -1,23 +0,0 @@
# install_demo role
This role will install demos into your specified Ansible Tower environment. Here is an example of using this role:
```
---
- name: setup deploy application demo
hosts: localhost
gather_facts: false
connection: local
tasks:
- name: install demo
include_role:
name: "install_demo"
```
Please refer to the master list in the main [README.md]()../../README.md).
# required variables
You must specify all the variables in the [choose_demo.yml](../../choose_demo.yml) example.

View File

@@ -1,19 +0,0 @@
---
galaxy_info:
role_name: install_demo
author: Sean Cavanaugh
description: |
This role will install demos into your specified Ansible Tower environment.
company: Red Hat
platforms:
- name: EL
versions:
- 8
- 7
license: GPL-3.0-or-later
min_ansible_version: 2.9
galaxy_tags: []
dependencies: []

View File

@@ -1,14 +0,0 @@
---
- name: add aws credential
tower_credential:
name: aws_credential
description: AWS Credential
organization: "{{ vars[demo].project.organization }}"
state: present
kind: aws
username: "{{ my_access_key }}"
password: "{{ my_secret_key }}"
tower_username: "{{ my_tower_username }}"
tower_password: "{{ my_tower_password }}"
tower_host: "{{ my_tower_host }}"
validate_certs: false

View File

@@ -1,17 +0,0 @@
---
- name: add azure credential
awx.awx.credential:
name: azure_credential
description: Azure Service Principle
organization: "Default"
state: present
credential_type: Microsoft Azure Resource Manager
inputs:
subscription: "{{ my_subscription }}"
tenant: "{{ my_tenant }}"
client: "{{ my_client }}"
secret: "{{ my_secret }}"
controller_username: "{{ my_controller_username }}"
controller_password: "{{ my_controller_password }}"
controller_host: "{{ my_controller_host }}"
validate_certs: false

View File

@@ -1,74 +0,0 @@
---
- name: add tower project
awx.awx.tower_project:
name: "{{ job_template_definitions[demo].project.name }}"
description: "{{ job_template_definitions[demo].project.description }}"
organization: "{{ job_template_definitions[demo].project.organization }}"
scm_type: "{{ job_template_definitions[demo].project.scm_type }}"
scm_url: "{{ job_template_definitions[demo].project.scm_url }}"
tower_username: "{{ my_tower_username }}"
tower_password: "{{ my_tower_password }}"
tower_host: "{{ my_tower_host }}"
validate_certs: false
- name: show values
debug:
msg:
- "name: {{ job_template_definitions[demo].name }}"
- "description: {{ job_template_definitions[demo].description }}"
- "job_type: {{ job_template_definitions[demo].job_type }}"
- "inventory: {{ job_template_definitions[demo].inventory }}"
- "project: {{ job_template_definitions[demo].project.name }}"
- "playbook: {{ job_template_definitions[demo].playbook }}"
- "execution_environment: {{ job_template_definitions[demo].execution_environment | default('Default execution environment') }}"
- "fact_caching_enabled: {{ job_template_definitions[demo].fact_caching_enabled | default('false') }}"
- "credential: {{ job_template_definitions[demo].credential }}"
- "survey_enabled: {{ job_template_definitions[demo].survey_enabled | default('false') }}"
- name: add single job template without survey
awx.awx.tower_job_template:
name: "{{ job_template_definitions[demo].name }}"
description: "{{ job_template_definitions[demo].description }}"
job_type: "{{ job_template_definitions[demo].job_type }}"
inventory: "{{ job_template_definitions[demo].inventory }}"
project: "{{ job_template_definitions[demo].project.name }}"
playbook: "{{ job_template_definitions[demo].playbook }}"
execution_environment: "{{ job_template_definitions[demo].execution_environment | default('Default execution environment') }}"
fact_caching_enabled: "{{ job_template_definitions[demo].fact_caching_enabled | default('false') }}"
credential: "{{ job_template_definitions[demo].credential }}"
survey_enabled: "{{ job_template_definitions[demo].survey_enabled }}"
tower_username: "{{ my_tower_username }}"
tower_password: "{{ my_tower_password }}"
tower_host: "{{ my_tower_host }}"
validate_certs: false
when:
- workshop_type in job_template_definitions[demo].workshop_type
- not job_template_definitions[demo].survey_enabled
register: add_job_template
until: add_job_template is not failed
retries: 5
- name: add single job template with survey
awx.awx.tower_job_template:
name: "{{ job_template_definitions[demo].name }}"
description: "{{ job_template_definitions[demo].description }}"
job_type: "{{ job_template_definitions[demo].job_type }}"
inventory: "{{ job_template_definitions[demo].inventory }}"
project: "{{ job_template_definitions[demo].project.name }}"
playbook: "{{ job_template_definitions[demo].playbook }}"
execution_environment: "{{ job_template_definitions[demo].execution_environment | default('Default execution environment') }}"
fact_caching_enabled: "{{ job_template_definitions[demo].fact_caching_enabled | default('false') }}"
credential: "{{ job_template_definitions[demo].credential }}"
survey_enabled: "{{ job_template_definitions[demo].survey_enabled }}"
survey_spec: "{{ job_template_definitions[demo].survey_spec }}"
tower_username: "{{ my_tower_username }}"
tower_password: "{{ my_tower_password }}"
tower_host: "{{ my_tower_host }}"
validate_certs: false
when:
- workshop_type in job_template_definitions[demo].workshop_type
- job_template_definitions[demo].survey_enabled
register: add_job_template
until: add_job_template is not failed
retries: 5

View File

@@ -1,76 +0,0 @@
---
- name: installing demo
debug:
msg: "installing demo: {{item}}"
- name: block for job template loop
block:
- name: "add tower project job_template_loop.yml"
awx.awx.tower_project:
name: "{{ item.value.project.name }}"
description: "{{ item.value.project.description }}"
organization: "{{ item.value.project.organization }}"
scm_type: "{{ item.value.project.scm_type }}"
scm_url: "{{ item.value.project.scm_url }}"
tower_username: "{{ my_tower_username }}"
tower_password: "{{ my_tower_password }}"
tower_host: "{{ my_tower_host }}"
validate_certs: false
when:
- workshop_type in item.value.workshop_type
- name: "add job template {{ item.value.name }} without survey job_template_loop.yml"
awx.awx.tower_job_template:
name: "{{ item.value.name }}"
description: "{{ item.value.description }}"
job_type: "{{ item.value.job_type }}"
inventory: "{{ item.value.inventory }}"
project: "{{ item.value.project.name }}"
playbook: "{{ item.value.playbook }}"
execution_environment: "{{ item.value.execution_environment | default('Default execution environment') }}"
fact_caching_enabled: "{{ item.value.fact_caching_enabled | default('false') }}"
credential: "{{ item.value.credential }}"
survey_enabled: "{{ item.value.survey_enabled }}"
tower_username: "{{ my_tower_username }}"
tower_password: "{{ my_tower_password }}"
tower_host: "{{ my_tower_host }}"
validate_certs: false
when:
- workshop_type in item.value.workshop_type
- not item.value.survey_enabled
register: add_project
until: add_project is not failed
retries: 5
- name: "add job template {{ item.value.name }} with survey"
awx.awx.tower_job_template:
name: "{{ item.value.name }}"
description: "{{ item.value.description }}"
job_type: "{{ item.value.job_type }}"
inventory: "{{ item.value.inventory }}"
project: "{{ item.value.project.name }}"
playbook: "{{ item.value.playbook }}"
execution_environment: "{{ item.value.execution_environment | default('Default execution environment') }}"
fact_caching_enabled: "{{ item.value.fact_caching_enabled | default('false') }}"
credential: "{{ item.value.credential }}"
survey_enabled: "{{ item.value.survey_enabled }}"
survey_spec: "{{ item.value.survey_spec }}"
tower_username: "{{ my_tower_username }}"
tower_password: "{{ my_tower_password }}"
tower_host: "{{ my_tower_host }}"
validate_certs: false
when:
- workshop_type in item.value.workshop_type
- item.value.survey_enabled
register: add_project
until: add_project is not failed
retries: 5
when:
- item.value.workflow is not defined or not item.value.workflow
- name: install workflow inside loop (workflow)
include_tasks: workflow_loop.yml
when:
- item.value.workflow is defined
- item.value.workflow
- workshop_type in item.value.workshop_type

View File

@@ -1,9 +0,0 @@
---
- name: include all demo vars from install_demo roll
include_vars:
dir: "vars"
name: job_template_definitions
- name: will load vars
debug:
msg: "variables loaded from install_demo role into job_template_definitions"

View File

@@ -1,48 +0,0 @@
---
- name: explicitly load vars under a subkey for reliable access
include_tasks: load_vars.yml
- name: set facts from role vars
set_fact:
demo_list: "{{ job_template_definitions|dict2items|map(attribute='key')|list }}"
full_demo_info: "{{ job_template_definitions|dict2items }}"
- name: provide info to terminal window
debug:
msg:
- "install {{ demo }} on {{ my_tower_host }}"
- "total demos: {{ demo_list | length }}"
- "available demos are: {{ demo_list }}"
- name: make sure demo is a valid demo
assert:
that:
- demo is defined
- demo in demo_list or demo == "all"
msg:
- "demo must be defined and be one of: {{ demo_list }}"
- "full list can be found on https://github.com/ansible/product-demos"
- name: setup public cloud credentials
include_tasks: "{{item}}"
with_first_found:
- "{{role_path}}/tasks/{{public_cloud}}.yml"
- "{{role_path}}/tasks/unsupported_cloud.yml"
- name: install all job templates
include_tasks: job_template_loop.yml
loop: "{{ full_demo_info }}"
when: demo == "all"
- name: install single job template
include_tasks: job_template.yml
when:
- demo != "all"
- job_template_definitions[demo].workflow is not defined or not job_template_definitions[demo].workflow
- name: install single workflow
include_tasks: workflow.yml
when:
- demo != "all"
- job_template_definitions[demo].workflow is defined
- job_template_definitions[demo].workflow

View File

@@ -1,16 +0,0 @@
- name: public cloud not supported
debug:
msg: "there is no public cloud credentials for this install, installing dummy creds"
- name: add azure credential
awx.awx.tower_credential:
name: azure_credential
description: Azure Service Principle
organization: "Default"
state: present
kind: azure_rm
subscription: "please replace me"
tower_username: "{{ my_tower_username }}"
tower_password: "{{ my_tower_password }}"
tower_host: "{{ my_tower_host }}"
validate_certs: false

View File

@@ -1,6 +0,0 @@
---
# these tasks will install a workflow
- name: "install all job templates in relation to workflow {{ job_template_definitions[demo].name }}"
include_tasks: add_job_template.yml
loop: "{{ job_template_definitions[demo].job_templates|dict2items }}"

View File

@@ -1,4 +0,0 @@
---
- name: "INSIDE LOOP - install all job templates in relation to workflow {{ item.value.name }}"
include_tasks: job_template_loop.yml
loop: "{{ item.value.job_templates|dict2items }}"

View File

@@ -1,24 +0,0 @@
---
developer_report:
author: "Sean Cavanaugh"
category: developer
name: "DEVELOPER / Create Developer Report"
description: >
'Create HTML report using
<a href="https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variables-discovered-from-systems-facts">Ansible facts</a>'
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/developer/developer_report.yml"
credential: "Workshop Credential"
survey_enabled: false
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,66 +0,0 @@
---
aws_provision_vm:
author: "David Rojas"
readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/azure_provision_vm.md"
category: infrastructure
name: "INFRASTRUCTURE / AWS Provision VM"
description: "Provision RHEL VM on AWS with Ansible Tower Survey and Environmental variables"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/aws_provision_vm.yml"
credential: "aws_credential"
survey_enabled: true
survey_spec:
name: AWS Provision VM
description: Provisioning a RHEL VM with Tower?
spec:
- type: text
question_name: Enter name of the key pair to use
question_description: This can be an existing or new key pair
variable: keypair
required: true
#default:
- type: multiplechoice
question_name: What AWS region do you want to host your EC2 instance
question_description: Select one from the drop-down
variable: aws_region
required: true
default: us-east-1
choices:
- us-east-1
- us-west-1
- type: text
question_name: Enter the name of the VPC
question_description: This will be the VPC in which your new EC2 instance will live
variable: vpc_name
required: true
- type: multiplechoice
question_name: What instance type would you like to select
question_description: Select one from the drop-down
variable: instance_type
required: true
default: t2.micro
choices:
- t2.micro
- t2.small
- t2.medium
- type: text
question_name: Enter the name of the EC2 instance
question_description: You can't use any special characters or whitesapces
variable: instance_name
required: true
#default:
#video: "https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED"
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/davidrojas25/product-demos"
workshop_type:
- windows
- demo

View File

@@ -1,63 +0,0 @@
---
azure_mysql_server:
author: "David Rojas"
readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/azure_mysql_server.md"
category: infrastructure
name: "INFRASTRUCTURE / Azure create a MySQL Server"
description: "Provision MySQL server on Azure with Ansible Tower Survey and Environmental variables"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/azure_mysql_server.yml"
credential: "azure_credential"
survey_enabled: true
survey_spec:
name: Azure mysql server
description: Provisioning a mySQL server in Azure
spec:
- type: text
question_name: Enter name of your resource group
question_description: This can be an existing or new resource group
variable: resource_group
required: true
#default:
- type: multiplechoice
question_name: What Azure region do you want to host your VM
question_description: Select one from the drop-down
variable: location
required: true
default: eastus
choices:
- eastus
- eastus2
- westus
- centralus
- type: text
question_name: Enter the name of MySQL Server Database
question_description: You can't use any special characters or whitesapces
variable: sqlserver_name
required: true
#default:
- type: text
question_name: Set the name of the Admin user
question_description: This will be used to login to your mySql. Do not use Admin or other reserved names
variable: admin_user
required: true
- type: password
question_name: Set the admin password to use
question_description: This will be used to login to your mySQL. Must be at least 8 characters long, must contain upper adn lower case, numbers, and special character.
variable: admin_pw
required: true
#video: "https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED"
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/davidrojas25/product-demos"
workshop_type:
- windows
- demo

View File

@@ -1,51 +0,0 @@
---
azure_provision_vm:
author: "David Rojas"
readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/azure_provision_vm.md"
category: infrastructure
name: "INFRASTRUCTURE / Azure Provision VM"
description: "Provision RHEL VM on Azure with Ansible Tower Survey and Environmental variables"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/azure_provision_vm.yml"
credential: "azure_credential"
survey_enabled: true
survey_spec:
name: Azure Provision VM
description: Provisioning a RHEL VM with Tower?
spec:
- type: text
question_name: Enter name of your resource group
question_description: This can be an existing or new resource group
variable: resource_group
required: true
#default:
- type: multiplechoice
question_name: What Azure region do you want to host your VM
question_description: Select one from the drop-down
variable: location
required: true
default: eastus
choices:
- eastus
- eastus2
- westus
- centralus
- type: text
question_name: Enter the name of the VM
question_description: You can't use any special characters or whitesapces
variable: vm_name
required: true
#default:
#video: "https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED"
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- windows
- demo

View File

@@ -1,48 +0,0 @@
---
chocolatey_app_install:
author: "David Rojas"
readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/chocolatey_app_install.md"
category: infrastructure
name: "INFRASTRUCTURE / Chocolatey App Install"
description: "Install various application packages using Chocolatey from a survey"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/chocolatey_app_install.yml"
credential: "Workshop Credential"
survey_enabled: true
survey_spec:
name: Chocolatey Application Install
description: Which application do you want to install?
spec:
- type: multiselect
question_name: Select the application you would like to add update or remove
question_description: You can pick one or more
variable: choco_packages
required: true
default: git
choices:
- git
- wireshark
- googlechrome
- googledrive
- vscode
- type: multiplechoice
question_name: What state do you want these applications in?
question_description: Select Present Absent or Update
variable: app_state
required: true
default: present
choices:
- present
- absent
- update
#video: "https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED"
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- windows
- demo

View File

@@ -1,52 +0,0 @@
---
chocolatey_config:
author: "David Rojas"
readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/chocolatey_config.md"
category: infrastructure
name: "INFRASTRUCTURE / Chocolatey Config"
description: "Configure Chocolatey parameters that require not just enabling but adding values"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/chocolatey_config.yml"
credential: "Workshop Credential"
survey_enabled: true
survey_spec:
name: Chocolatey Config
description: Select a chocolatey parameter and config the value for it
spec:
- type: multiplechoice
question_name: Select the parameter you would like to add change or remove
question_description: Select one from drop-down
variable: config_item
required: true
#default:
choices:
- proxyUser
- commandExecutionTimeoutSeconds
- cacheLocation
- type: multiplechoice
question_name: Do you want to enable or disable this parameter?
question_description: Select Present or Absent
variable: state
required: true
default: present
choices:
- present
- absent
- type: text
question_name: Enter the value for the parameter
question_description: This is free form as each parameter has different values. Leave blank when setting as "absent"
variable: value
required: false
#default:
#video: "https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED"
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/davidrojas25/product-demos"
workshop_type:
- windows
- demo

View File

@@ -1,46 +0,0 @@
---
chocolatey_features:
author: "David Rojas"
readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/chocolatey_features.md"
category: infrastructure
name: "INFRASTRUCTURE / Chocolatey Features Config"
description: "Enable or disable various Chocolatey features"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/chocolatey_features.yml"
credential: "Workshop Credential"
survey_enabled: true
survey_spec:
name: Chocolatey Features Config
description: Which feature do you want to select?
spec:
- type: multiplechoice
question_name: Select the feature you would like to enable or disable?
question_description: Select one from the drop-down list
variable: feature
required: true
#default:
choices:
- checksumFiles
- stopOnFirstPackageFailure
- autoUninstaller
- virusCheck
- type: multiplechoice
question_name: What state do you want the feature in?
question_description: Select enabled or disabled
variable: state
required: true
default: enabled
choices:
- enabled
- disabled
#video: "https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED"
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- windows
- demo

View File

@@ -1,30 +0,0 @@
---
debug_info:
author: "Will Tome"
category: infrastructure
name: "INFRASTRUCTURE / Gather Debug Info"
description: "provide info for memory and CPU usage for specified systems"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/debug_info.yml"
credential: "Workshop Credential"
survey_enabled: false
survey_spec:
name: ''
description: ''
spec:
- question_name: 'Enter host to configure'
type: text
variable: HOSTS
required: false
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,39 +0,0 @@
---
deploy_application:
author: "Sean Cavanaugh"
readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/deploy_application.md"
category: infrastructure
name: "INFRASTRUCTURE / Deploy Application"
description: "install yum applications on Linux with a survey"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/deploy_application.yml"
credential: "Workshop Credential"
survey_enabled: true
survey_spec:
name: Deploy application survey
description: Which application do you want to install?
spec:
- type: multiplechoice
question_name: Select a command you would like to execute
question_description: select the application
variable: application
required: true
default: httpd
choices:
- httpd
- nginx
- htop
- gdb
video: "https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED"
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,48 +0,0 @@
---
grant_sudo:
author: "Will Tome"
category: infrastructure
name: "INFRASTRUCTURE / Grant Sudo"
description: "grant sudo privledges for specified time via survey"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/grant_sudo.yml"
credential: "Workshop Credential"
survey_enabled: true
survey_spec:
name: ''
description: ''
spec:
- question_name: 'Enter host to configure'
type: text
variable: HOSTS
required: false
- question_name: Username
type: text
variable: sudo_user
required: true
- question_name: Time
type: integer
variable: sudo_count
required: true
default: 10
- question_name: Units
type: multiplechoice
variable: harden_ssh
required: true
choices:
- 'minutes'
- 'hours'
- 'days'
default: minutes
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,34 +0,0 @@
---
insights:
author: "Sean Cavanaugh"
category: infrastructure
name: "INFRASTRUCTURE / Red Hat Insights"
description: "install and configure Red Hat Insights"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/insights.yml"
credential: "Workshop Credential"
survey_enabled: true
survey_spec:
name: ''
description: ''
spec:
- question_name: 'Enter your Red Hat customer portal username'
type: text
variable: redhat_portal_username
required: true
- question_name: 'Enter your Red Hat customer portal passowrd'
type: password
variable: redhat_portal_password
required: true
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,30 +0,0 @@
---
patching:
author: "Will Tome"
category: infrastructure
name: "INFRASTRUCTURE / Patching"
description: "patching for Linux servers"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/patching.yml"
credential: "Workshop Credential"
survey_enabled: true
survey_spec:
name: ''
description: ''
spec:
- question_name: 'Enter host to configure'
type: text
variable: HOSTS
required: false
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,24 +0,0 @@
---
fact_scan:
author: "Will Tome"
category: infrastructure
name: "INFRASTRUCTURE / Fact Scan"
description: "scan facts for Linux and Windows systems"
job_type: "run"
inventory: "Workshop Inventory"
playbook: scan_facts.yml
credential: "Workshop Credential"
survey_enabled: false
fact_caching_enabled: true
project:
name: "Ansible official awx-facts-playbooks project"
description: "playbooks to support fact scanning in Ansible Tower"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/awx-facts-playbooks.git"
workshop_type:
- f5
- rhel
- windows
- rhel_90
- demo

View File

@@ -1,30 +0,0 @@
---
security_patching:
author: "Will Tome"
category: infrastructure
name: "INFRASTRUCTURE / Security Patching"
description: "upgrade all yum packages for security related except kernel"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/patching.yml"
credential: "Workshop Credential"
survey_enabled: true
survey_spec:
name: ''
description: ''
spec:
- question_name: 'Enter host to configure'
type: text
variable: HOSTS
required: false
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,22 +0,0 @@
---
turn_off_community_grid:
author: "Sean Cavanaugh"
category: infrastructure
name: "INFRASTRUCTURE / Turn off IBM Community Grid"
description: "this role turns off IBM Community Grid boinc-client"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/turn_off_community_grid.yml"
credential: "Workshop Credential"
survey_enabled: false
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,20 +0,0 @@
---
windows_iis:
author: "Colin McNaughton"
category: infrastructure
name: "SERVER / Windows IIS Server"
description: "install webserver on Windows Server with a survey"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/windows_iis.yml"
credential: "Workshop Credential"
survey_enabled: false
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- windows
- demo

View File

@@ -1,40 +0,0 @@
---
windows_regedit_legal_notice:
author: "David Rojas"
readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/windows_regedit_legal_notice.md"
category: infrastructure
name: "INFRASTRUCTURE / Windows regedit legal notice"
description: "using regedit modify the legal notice"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/infrastructure/windows_regedit_legal_notice.yml"
credential: "Workshop Credential"
survey_enabled: true
survey_spec:
name: Legal Notice Survey
description: Collecting info to use during playbook runs for legal notice
spec:
- type: text
question_name: Enter the text of the legal notice title
question_description: Title should be short but descriptive
variable: title_legal_notice
required: true
default: Red Hat Sample Legal Notice
- type: textarea
question_name: Enter the text of the legal notice body
question_description: Body should contain all legally required info
variable: text_legal_notice
required: true
default: This is a sample body of a legal notice
#video: "https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED"
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- windows
- demo

View File

@@ -1,21 +0,0 @@
---
configlet_logging:
author: "Colin McCarthy"
category: network
name: "Cisco IOS logging config audit/remediation"
description: "Cisco IOS logging config audit/remediation"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/network/configlet_logging.yml"
credential: "Workshop Credential"
survey_enabled: false
fact_caching_enabled: true
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- network
- demo

View File

@@ -1,21 +0,0 @@
---
configlet_ntp:
author: "Colin McCarthy"
category: network
name: "Cisco IOS ntp config audit/remediation"
description: "Cisco IOS ntp config audit/remediation"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/network/configlet_ntp.yml"
credential: "Workshop Credential"
survey_enabled: false
fact_caching_enabled: true
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- network
- demo

View File

@@ -1,21 +0,0 @@
---
configlet_vtyacl:
author: "George James"
category: network
name: "Cisco IOS VTY ACL config audit/remediation"
description: "Cisco IOS VTY ACL config audit/remediation"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/network/configlet_vtyacl.yml"
credential: "Workshop Credential"
survey_enabled: false
fact_caching_enabled: true
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- network
- demo

View File

@@ -1,88 +0,0 @@
---
f5_bigip_workflow:
workflow: true
author: 'Sean Cavanaugh'
category: network
name: 'NETWORK / WORKFLOW - F5 BIG-IP'
description: 'Workflow for F5 BIG-IP to setup a VIP (Virtual IP) load balancer between two RHEL webservers'
organization: 'Default'
workshop_type:
- f5
- demo
schema:
- job_template: 'F5 - add nodes'
success:
- job_template: 'F5 - add pool'
success:
- job_template: 'F5 - add pool members'
success:
- job_template: 'F5 - add virtual server'
job_templates:
f5_add_nodes:
name: 'F5 - add nodes'
description: 'add webserver nodes into F5 BIG-IP'
job_type: 'run'
inventory: 'Workshop Inventory'
playbook: 'exercises/ansible_f5/1.2-add-node/bigip-node.yml'
credential: 'Workshop Credential'
survey_enabled: false
project:
name: 'Ansible Workshops Project'
description: 'official workshops from Ansible'
organization: 'Default'
scm_type: git
scm_url: 'https://github.com/ansible/workshops'
workshop_type:
- f5
- demo
f5_add_pool:
name: 'F5 - add pool'
description: 'add webserver nodes into F5 BIG-IP'
job_type: 'run'
inventory: 'Workshop Inventory'
playbook: 'exercises/ansible_f5/1.3-add-pool/bigip-pool.yml'
credential: 'Workshop Credential'
survey_enabled: false
project:
name: 'Ansible Workshops Project'
description: 'official workshops from Ansible'
organization: 'Default'
scm_type: git
scm_url: 'https://github.com/ansible/workshops'
workshop_type:
- f5
- demo
f5_add_pool_members:
name: 'F5 - add pool members'
description: 'add webserver nodes into pool'
job_type: 'run'
inventory: 'Workshop Inventory'
playbook: 'exercises/ansible_f5/1.4-add-pool-members/bigip-pool-members.yml'
credential: 'Workshop Credential'
survey_enabled: false
project:
name: 'Ansible Workshops Project'
description: 'official workshops from Ansible'
organization: 'Default'
scm_type: git
scm_url: 'https://github.com/ansible/workshops'
workshop_type:
- f5
- demo
f5_add_vip:
name: 'F5 - add virtual server'
description: 'create VIP and add pool to virtual server'
job_type: 'run'
inventory: 'Workshop Inventory'
playbook: 'exercises/ansible_f5/1.5-add-virtual-server/bigip-virtual-server.yml'
credential: 'Workshop Credential'
survey_enabled: false
project:
name: 'Ansible Workshops Project'
description: 'official workshops from Ansible'
organization: 'Default'
scm_type: git
scm_url: 'https://github.com/ansible/workshops'
workshop_type:
- f5
- demo

View File

@@ -1,59 +0,0 @@
---
hardening:
author: "Will Tome"
category: security
name: "SECURITY / Hardening"
description: "hardening for Linux servers"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/security/hardening.yml"
credential: "Workshop Credential"
survey_enabled: true
execution_environment: "Default execution environment"
survey_spec:
name: ''
description: ''
spec:
- question_name: 'Enter host to configure'
type: text
variable: HOSTS
required: false
- question_name: Configure Firewall?
type: multiplechoice
variable: harden_firewall
required: false
choices:
- 'Yes'
- 'No'
- question_name: Configure Time?
type: multiplechoice
variable: harden_time
required: false
choices:
- 'Yes'
- 'No'
- question_name: Harden SSH?
type: multiplechoice
variable: harden_ssh
required: false
choices:
- 'Yes'
- 'No'
- question_name: PCI Baseline?
type: multiplechoice
variable: harden_pci
required: false
choices:
- 'Yes'
- 'No'
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,22 +0,0 @@
---
openscap:
author: "Sean Cavanaugh"
category: security
name: "SECURITY / Create Openscap Report"
description: "Create HTML report using SCAP Security Guide (SSG)"
job_type: "run"
inventory: "Workshop Inventory"
playbook: "playbooks/security/openscap.yml"
credential: "Workshop Credential"
survey_enabled: false
project:
name: "Ansible official demo project"
description: "prescriptive demos from Red Hat Management Business Unit"
organization: "Default"
scm_type: git
scm_url: "https://github.com/ansible/product-demos"
workshop_type:
- f5
- rhel
- rhel_90
- demo

View File

@@ -1,6 +0,0 @@
---
- src: dev-sec.ssh-hardening
- src: redhatofficial.rhel8_pci_dss
- src: linux-system-roles.firewall
- src: linux-system-roles.timesync
- src: RedHatInsights.insights-client