diff --git a/aap-on-crc/.github/linters/.markdown-lint.yml b/aap-on-crc/.github/linters/.markdown-lint.yml deleted file mode 100644 index a0bc47d..0000000 --- a/aap-on-crc/.github/linters/.markdown-lint.yml +++ /dev/null @@ -1,6 +0,0 @@ -{ - "default": true, - "MD003": false, - "MD013": false, - "MD033": false -} \ No newline at end of file diff --git a/aap-on-crc/.github/workflows/linter.yml b/aap-on-crc/.github/workflows/linter.yml deleted file mode 100644 index 592937a..0000000 --- a/aap-on-crc/.github/workflows/linter.yml +++ /dev/null @@ -1,50 +0,0 @@ ---- -########################### -########################### -## Linter GitHub Actions ## -########################### -########################### -name: Lint Code Base - -# -# Documentation: -# https://help.github.com/en/articles/workflow-syntax-for-github-actions -# - -############################# -# Start the job on all push # -############################# -on: [push, pull_request] - -############### -# Set the Job # -############### -jobs: - build: - # Name the Job - name: Lint Code Base - # Set the agent to run on - runs-on: ubuntu-latest - - ################## - # Load all steps # - ################## - steps: - ########################## - # Checkout the code base # - ########################## - - name: Checkout Code - uses: actions/checkout@v2 - with: - # Full git history is needed to get a proper list of changed files within `super-linter` - fetch-depth: 0 - - ################################ - # Run Linter against code base # - ################################ - - name: Lint Code Base - uses: github/super-linter@v3 - env: - VALIDATE_ALL_CODEBASE: false - DEFAULT_BRANCH: main - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/aap-on-crc/LICENSE b/aap-on-crc/LICENSE deleted file mode 100644 index abf84e3..0000000 --- a/aap-on-crc/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 Chad Ferman - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/aap-on-crc/README.md b/aap-on-crc/README.md deleted file mode 100644 index 169c89a..0000000 --- a/aap-on-crc/README.md +++ /dev/null @@ -1,162 +0,0 @@ -# How to deploy Ansible Automation Platform via the Operator on CodeReady Containers - -This is a quick how to deploy Ansible Automation platform locally on Code Ready Containers for a quick demo, or home lab. - -## Definitions - -[Red Hat CodeReady Containers aka CRC](https://developers.redhat.com/products/codeready-containers/overview) is a very easy to install local OpenShift cluster that runs on your laptop. This works for any operating system and can be downloaded from [here.](https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/) - -[Ansible Automation Platform (AAP)](https://www.ansible.com/products/automation-platform) is the latest release of what was formerly known as Ansible Tower with many new features. - -## CodeReady Containers Installation - -Instructions to install crc are [here](https://access.redhat.com/documentation/en-us/red_hat_codeready_containers/1.35/html/getting_started_guide/installation_gsg) - -TL;DR if you are on a mac you must be on 10.14 or above and you can just need to run crc binary you installed. (for Linux you will need to install libvirt via ```yum install virt-manager or apt if on debian``` and windows hyper-v must be enabled see install instructions above) - -### From terminal - -Untar files - - ```shell - tar -xvf crc-linux-amd64.tar.xz - ``` - -Copy files to bin - -```shell -sudo cp crc-linux-*1.36.0*-amd64/crc /bin/. -``` - -Run setup - - ```shell - crc setup - ``` - -Increase default cpus so you can run AAP. `Note:` You can sometimes get away with 6, however 8 has worked best for most people - - ```shell - crc config set cpus 8 - ``` - -Increase default memory so you can run AAP. - - ```shell - crc config set memory 12288 - ``` - -Then to run it: - -```shell -crc start -``` - ->>Note: If this is the first time you are installing CodeReady it will ask for a pull secret. You will need to get this from [https://cloud.redhat.com](https://cloud.redhat.com) once logged in choose openshift on the left followed by local install and click copy pull secret and paste it into the terminal. - -![pull_secret](images/pull_secret.png) - -Once it is installed it should give you information to log in, however you can always retrieve this with: - -```shell -crc console --credentials -``` - -## Installing the Ansible Automation Platform Operator - ---- - -## Login to the crc console as kubeadmin - - [https://console-openshift-console.apps-crc.testing](https://console-openshift-console.apps-crc.testing) (get password via ```crc console --credentials``` ) - - ![crc_login](images/crc_login.png) - ---- - -## Once logged into the CRC/Openshift local instance click on OperatorHub on the left - - ![choose_operators](images/choose_operators.png) - ---- - -### Type Ansible into the filter window and choose Ansible Automation Platform - - ![choose_aap](images/choose_aap.png) - ---- - -## Click install - - ![click_install](images/click_install.png) - ---- - -## Allow all the defaults and click install again - - ![all_defaults](images/all_defaults.png) - ---- - -## Once it is installed click view operator - - ![view_operator](images/view_oper.png) - ---- - -## Click Create Instance in the Automation Controller box (third from left) - - ![create_controller](images/create_controller.png) - ---- - -## Click Create (you can rename to whatever you want default is example) - - ![create_example](images/create-example.png) - ---- - -## Click on instance you created - - ![click on instance](images/click_instance.png) - ---- - -## Loging to AAP console (click on URL link on right. The password is in the Admin Password link below the URL) - - ![aap_login](images/login_aap.png) - -## Add Subscription via your redhat login (if you dont have one click the request trial button at the top) - -`Note:` Some users have reported that `request subscription` takes a little time to populate, so if you don't see your trial in the next step please try again a little later. - - ![subscription](images/subscription.png) - -## Select the subscription (then next, next, submit) - - ![select_sub](images/select_sub.png) - -Now you have a fully functional AAP instance to test with. - - ![aap_dashboard](images/aap_dash.png) - ---- - -## Known Issues and fixes - -### AAP Memory Requirements - -The AAP operator by default assigns 2gib to each container. Due to this your deployment of AAP may fail with only 12gib assigned to CRC. You can see the failure under pods in the Ansible Automation Project like this: - -![pod_failure](images/podfailure.png) - -To fix this you have a few options: - -1. Add more ram via crc setup set memory 16384 -2. Change the memory resource limits to the pod (Deployments >> Edit Resource limits) - -![resources](images/resources.png) - -Change to 500 millicores and 1mib like below: - -![resources2](images/resources2.png) diff --git a/aap-on-crc/images/aap_dash.png b/aap-on-crc/images/aap_dash.png deleted file mode 100644 index 447474c..0000000 Binary files a/aap-on-crc/images/aap_dash.png and /dev/null differ diff --git a/aap-on-crc/images/all_defaults.png b/aap-on-crc/images/all_defaults.png deleted file mode 100644 index 84b6a92..0000000 Binary files a/aap-on-crc/images/all_defaults.png and /dev/null differ diff --git a/aap-on-crc/images/choose_aap.png b/aap-on-crc/images/choose_aap.png deleted file mode 100644 index 64718cb..0000000 Binary files a/aap-on-crc/images/choose_aap.png and /dev/null differ diff --git a/aap-on-crc/images/choose_operators.png b/aap-on-crc/images/choose_operators.png deleted file mode 100644 index 6e13d05..0000000 Binary files a/aap-on-crc/images/choose_operators.png and /dev/null differ diff --git a/aap-on-crc/images/click_install.png b/aap-on-crc/images/click_install.png deleted file mode 100644 index 2eb04e2..0000000 Binary files a/aap-on-crc/images/click_install.png and /dev/null differ diff --git a/aap-on-crc/images/click_instance.png b/aap-on-crc/images/click_instance.png deleted file mode 100644 index 19fbf3d..0000000 Binary files a/aap-on-crc/images/click_instance.png and /dev/null differ diff --git a/aap-on-crc/images/crc_login.png b/aap-on-crc/images/crc_login.png deleted file mode 100644 index 34b0efe..0000000 Binary files a/aap-on-crc/images/crc_login.png and /dev/null differ diff --git a/aap-on-crc/images/create-example.png b/aap-on-crc/images/create-example.png deleted file mode 100644 index 7ee3d91..0000000 Binary files a/aap-on-crc/images/create-example.png and /dev/null differ diff --git a/aap-on-crc/images/create_controller.png b/aap-on-crc/images/create_controller.png deleted file mode 100644 index d260639..0000000 Binary files a/aap-on-crc/images/create_controller.png and /dev/null differ diff --git a/aap-on-crc/images/instance.png b/aap-on-crc/images/instance.png deleted file mode 100644 index bee400e..0000000 Binary files a/aap-on-crc/images/instance.png and /dev/null differ diff --git a/aap-on-crc/images/login_aap.png b/aap-on-crc/images/login_aap.png deleted file mode 100644 index 67f1845..0000000 Binary files a/aap-on-crc/images/login_aap.png and /dev/null differ diff --git a/aap-on-crc/images/podfailure.png b/aap-on-crc/images/podfailure.png deleted file mode 100644 index 3b79d01..0000000 Binary files a/aap-on-crc/images/podfailure.png and /dev/null differ diff --git a/aap-on-crc/images/pull_secret.png b/aap-on-crc/images/pull_secret.png deleted file mode 100644 index 813aa20..0000000 Binary files a/aap-on-crc/images/pull_secret.png and /dev/null differ diff --git a/aap-on-crc/images/resources.png b/aap-on-crc/images/resources.png deleted file mode 100644 index 75e7d83..0000000 Binary files a/aap-on-crc/images/resources.png and /dev/null differ diff --git a/aap-on-crc/images/resources2.png b/aap-on-crc/images/resources2.png deleted file mode 100644 index b688fd1..0000000 Binary files a/aap-on-crc/images/resources2.png and /dev/null differ diff --git a/aap-on-crc/images/select_sub.png b/aap-on-crc/images/select_sub.png deleted file mode 100644 index ac3d886..0000000 Binary files a/aap-on-crc/images/select_sub.png and /dev/null differ diff --git a/aap-on-crc/images/spec_update.png b/aap-on-crc/images/spec_update.png deleted file mode 100644 index b1bc2db..0000000 Binary files a/aap-on-crc/images/spec_update.png and /dev/null differ diff --git a/aap-on-crc/images/subscription.png b/aap-on-crc/images/subscription.png deleted file mode 100644 index 8444c48..0000000 Binary files a/aap-on-crc/images/subscription.png and /dev/null differ diff --git a/aap-on-crc/images/view_oper.png b/aap-on-crc/images/view_oper.png deleted file mode 100644 index 60be825..0000000 Binary files a/aap-on-crc/images/view_oper.png and /dev/null differ diff --git a/azure/setup.yml b/azure/setup.yml deleted file mode 100644 index 7e434f7..0000000 --- a/azure/setup.yml +++ /dev/null @@ -1,109 +0,0 @@ ---- -user_message: | - Be sure to update the public_key extra_var on the 'Azure RHEL 8 VM' Template - The Azure Infrastructure credential must be updated with your service principal credentials to access Azure API -azure_public_key: undef -controller_components: - - projects - - credentials - - inventories - - inventory_sources - - job_templates - -controller_projects: - - name: Azure Repo - description: Azure Demo Repo - organization: Default - scm_type: git - scm_url: https://github.com/ansible-cloud/azure.git - -controller_credentials: - - name: Azure Infrastructure - credential_type: Microsoft Azure Resource Manager - organization: Default - inputs: - subscription: REPLACEME - -controller_inventories: - - name: Workshop Inventory - organization: Default - -controller_inventory_sources: - - name: Azure Inventory - inventory: Workshop Inventory - source: azure_rm - credential: Azure Infrastructure - overwrite: true - update_on_launch: true - source_vars: - include_vm_resource_groups: - - ansible_test - - hostnames: - - computer_name - - default - - keyed_groups: - - prefix: azure_loc - key: location - - prefix: azure_os - key: os_profile.system - -controller_templates: - - name: "AZURE / RHEL 8 VM" - job_type: run - inventory: "Workshop Inventory" - project: "Azure Repo" - playbook: "project/create_rhel_vm_demo.yml" - credentials: - - "Azure Infrastructure" - extra_vars: - resource_group_name: "ansible_test" - region: "eastus" - vnet_cidr: "10.0.0.0/16" - subnet_cidr: "10.0.1.0/24" - vnet_name: "demo_vnet" - subnet_name: "demo_subnet" - network_sec_group_name: "demo_sec_group" - rhel_admin_user: "azureuser" - rhel_public_ip_name: "rhel_demo_ip" - rhel_nic_name: "rhel_demo_nic" - rhel_vm_name: "RHEL8-ansible" - rhel_vm_size: "Standard_DS1_v2" - rhel_vm_sku: "8_5" - rhel_public_key: "{{ azure_public_key }}" - survey_public_ip: "True" - - - name: "AZURE / Windows VM" - job_type: run - inventory: "Workshop Inventory" - project: "Azure Repo" - playbook: "project/create_windows_vm_demo.yml" - credentials: - - "Azure Infrastructure" - extra_vars: - resource_group_name: "ansible_test" - region: "eastus" - vnet_cidr: "10.0.0.0/16" - subnet_cidr: "10.0.1.0/24" - vnet_name: "demo_vnet" - subnet_name: "demo_subnet" - network_sec_group_name: "demo_sec_group" - win_vm_name: "WIN-ansible" - win_vm_size: "Standard_DS1_v2" - win_vm_sku: "2022-Datacenter" - win_public_ip_name: "win_demo_ip" - win_nic_name: "win_demo_nic" - win_admin_user: "azureuser" - win_admin_password: "AnsibleTest@123" - - - name: "AZURE / Destroy Resource Group" - job_type: run - inventory: "Workshop Inventory" - project: "Azure Repo" - playbook: "project/destroy_resource_group.yml" - credentials: - - "Azure Infrastructure" - extra_vars: - resource_group_name: "ansible_test" - region: "eastus" diff --git a/galaxy.yml b/galaxy.yml deleted file mode 100644 index 255d960..0000000 --- a/galaxy.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- -namespace: ansible -name: product_demos -version: 1.2.12 -readme: README.md - -authors: - - Sean Cavanaugh @IPvSean - - David Rojas - - Colin McNaughton - -description: repository of demos to showcase Ansible features. - -license: - - GPL-3.0-or-later - -tags: - - apache - - centos - - rhel - - el - - amazon - - linux - - fedora - - network - - f5 - - developer - - infrastructure - - security - - windows - - opencap - - insights - - patching - - tower - - awx - -build_ignore: - - images - - '*.tar.gz' - -dependencies: - "awx.awx": "*" - - -repository: http://github.com/ansible/product-demos -documentation: http://github.com/ansible/product-demos -homepage: http://github.com/ansible/product-demos -issues: https://github.com/ansible/product-demos/issues diff --git a/playbooks/infrastructure/deploy_application.yml b/linux/deploy_application.yml similarity index 96% rename from playbooks/infrastructure/deploy_application.yml rename to linux/deploy_application.yml index 78297e9..98598b7 100644 --- a/playbooks/infrastructure/deploy_application.yml +++ b/linux/deploy_application.yml @@ -1,8 +1,9 @@ --- - name: application deployment - hosts: web + hosts: "{{ HOSTS }}" gather_facts: false become: true + tasks: - name: make sure application is not empty assert: diff --git a/linux/setup.yml b/linux/setup.yml index e15cae9..6efc910 100644 --- a/linux/setup.yml +++ b/linux/setup.yml @@ -389,3 +389,28 @@ controller_templates: - "Yes" - "No" default: "No" + + - name: "LINUX / Deploy Application" + job_type: run + inventory: "Workshop Inventory" + project: "Ansible official demo project" + playbook: "linux/deploy_application.yml" + notification_templates_started: Telemetry + notification_templates_success: Telemetry + notification_templates_error: Telemetry + use_fact_cache: true + credentials: + - "Workshop Credential" + survey_enabled: true + survey: + name: '' + description: '' + spec: + - question_name: Server Name or Pattern + type: text + variable: HOSTS + required: true + - question_name: Application Package Name + type: text + variable: application + required: true diff --git a/old-demo-repository/README.md b/old-demo-repository/README.md deleted file mode 100644 index 1fd7bc5..0000000 --- a/old-demo-repository/README.md +++ /dev/null @@ -1,90 +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 - -```shell -ansible-playbook playbooks/install_demo.yml -e @choose_demo.yml -``` - -## Demo Repository - -This repository currently holds 23 demos. - -## Infrastructure Demos - -| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough | -| --------- | ------ | ---------------------- | ----------- | ----------------- | -| [INFRASTRUCTURE / AWS Provision VM](https://github.com/ansible/product-demos/blob/master/docs/infrastructure/azure_provision_vm.md") | David Rojas | `demo: aws_provision_vm` | Provision RHEL VM on AWS with Ansible Tower Survey and Environmental variables | Not available | -| [INFRASTRUCTURE / Azure create a MySQL Server](https://github.com/ansible/product-demos/blob/master/docs/infrastructure/azure_mysql_server.md") | David Rojas | `demo: azure_mysql_server` | Provision MySQL server on Azure with Ansible Tower Survey and Environmental variables | Not available | -| [INFRASTRUCTURE / Azure Provision VM](https://github.com/ansible/product-demos/blob/master/docs/infrastructure/azure_provision_vm.md") | David Rojas | `demo: azure_provision_vm` | Provision RHEL VM on Azure with Ansible Tower Survey and Environmental variables | Not available | -| [INFRASTRUCTURE / Chocolatey App Install](https://github.com/ansible/product-demos/blob/master/docs/infrastructure/chocolatey_app_install.md") | David Rojas | `demo: chocolatey_app_install` | Install various application packages using Chocolatey from a survey | Not available | -| [INFRASTRUCTURE / Chocolatey Config](https://github.com/ansible/product-demos/blob/master/docs/infrastructure/chocolatey_config.md") | David Rojas | `demo: chocolatey_config` | Configure Chocolatey parameters that require not just enabling but adding values | Not available | -| [INFRASTRUCTURE / Chocolatey Features Config](https://github.com/ansible/product-demos/blob/master/docs/infrastructure/chocolatey_features.md") | David Rojas | `demo: chocolatey_features` | Enable or disable various Chocolatey features | Not available | -| [INFRASTRUCTURE / Deploy Application](https://github.com/ansible/product-demos/blob/master/docs/infrastructure/deploy_application.md") | Sean Cavanaugh | `demo: deploy_application` | install yum applications on Linux with a survey | [Video Link](https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED) | -| INFRASTRUCTURE / Fact Scan | Will Tome | `demo: fact_scan` | scan facts for Linux and Windows systems | Not available | -| INFRASTRUCTURE / Gather Debug Info | Will Tome | `demo: debug_info` | provide info for memory and CPU usage for specified systems | Not available | -| INFRASTRUCTURE / Grant Sudo | Will Tome | `demo: grant_sudo` | grant sudo privledges for specified time via survey | Not available | -| INFRASTRUCTURE / Patching | Will Tome | `demo: patching` | patching for Linux servers | Not available | -| INFRASTRUCTURE / Red Hat Insights | Sean Cavanaugh | `demo: insights` | install and configure Red Hat Insights | Not available | -| INFRASTRUCTURE / Security Patching | Will Tome | `demo: security_patching` | upgrade all yum packages for security related except kernel | Not available | -| INFRASTRUCTURE / Turn off IBM Community Grid | Sean Cavanaugh | `demo: turn_off_community_grid` | this role turns off IBM Community Grid boinc-client | Not available | -| [INFRASTRUCTURE / Windows regedit legal notice](https://github.com/ansible/product-demos/blob/master/docs/infrastructure/windows_regedit_legal_notice.md") | David Rojas | `demo: windows_regedit_legal_notice` | using regedit modify the legal notice | Not available | -| SERVER / Windows IIS Server | Colin McNaughton | `demo: windows_iis` | install webserver on Windows Server with a survey | Not available | - -## Network Demos - -| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough | -| --------- | ------ | ---------------------- | ----------- | ----------------- | -| Cisco IOS logging config audit/remediation | Colin McCarthy | `demo: configlet_logging` | Cisco IOS logging config audit/remediation | Not available | -| Cisco IOS ntp config audit/remediation | Colin McCarthy | `demo: configlet_ntp` | Cisco IOS ntp config audit/remediation | Not available | -| Cisco IOS VTY ACL config audit/remediation | George James | `demo: configlet_vtyacl` | Cisco IOS VTY ACL config audit/remediation | Not available | -| NETWORK / WORKFLOW - F5 BIG-IP | Sean Cavanaugh | `demo: f5_bigip_workflow` | Workflow for F5 BIG-IP to setup a VIP (Virtual IP) load balancer between two RHEL webservers | Not available | - -## Security Demos - -| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough | -| --------- | ------ | ---------------------- | ----------- | ----------------- | -| SECURITY / Create Openscap Report | Sean Cavanaugh | `demo: openscap` | Create HTML report using SCAP Security Guide (SSG) | Not available | -| SECURITY / Hardening | Will Tome | `demo: hardening` | hardening for Linux servers | Not available | - -## Developer Demos - -| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough | -| --------- | ------ | ---------------------- | ----------- | ----------------- | -| DEVELOPER / Create Developer Report | Sean Cavanaugh | `demo: developer_report` | Create HTML report using [Ansible facts](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variables-discovered-from-systems-facts) | Not available | - -## 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 **chadmf*- on **2021-12-06*- with Ansible version **2.9.27** - -To generate a README.md, execute the following command - -```shell -ansible-playbook playbooks/generate_readme.yml -``` diff --git a/old-demo-repository/docs/contribute.md b/old-demo-repository/docs/contribute.md deleted file mode 100644 index 37a020a..0000000 --- a/old-demo-repository/docs/contribute.md +++ /dev/null @@ -1,77 +0,0 @@ -# Contribute - -So you want to create a demo? What do you do? These demos are considered "demos as code" so every demo must adhere to our standards and be highly re-usable. - -## Requirements - -- Must work with Ansible Tower / Ansible Automation Platform. There has to be a UX component to the demo. -- Must be ephemeral and require no service that cannot be reproduced in an automated fashion. This means a demo that requires the user to create a personalized token with an external service (e.g. ServiceNow, Slack) is not appropriate here because it would require manual steps for a user to recreate your demo. -- Must align with Red Hat use-cases. A demo that programs your lawn mower is not something we would actually demonstrate. You can easily create a fork of this repo and make your own fun project. - -You need **three** major components to get a demo accepted - -## 1. Demo var file - -In the principle of "everything as code", these are "demos as code". Each demo has its own individual var file. All var files are installed under: - - ```shell - /roles/install_demo/vars/main - ``` - -There are four categories of demos: - - 1. **infrastructure** - automation for IT infrastructure such as Linux and Windows. - 2. **network** - automation for network infrastructure such as routers and switches. - 3. **security** - automation for SIEMs, firewalls, and IPS such as IBM Qradar, Splunk and Checkpoint. - 4. **developer** - automation for developer persona, such as CI/CD pipelines, web hooks, developer environments and automated testing - -Look at a very specific example here: `deploy_application.yml` - -Location: `roles/install_demo/vars/main/infrastructure/deploy_application.yml` -Link: [https://github.com/ansible/product-demos/blob/master/roles/install_demo/vars/main/infrastructure/deploy_application.yml](https://github.com/ansible/product-demos/blob/master/roles/install_demo/vars/main/infrastructure/deploy_application.yml) - -## 2. Ansible Playbook - -In the demo var file above you will notice a `playbook` line. For example in the `deploy_application.yml` example: - -`playbook: "playbooks/infrastructure/deploy_application.yml"` - -There is also a **project** section of the demo var file - -```yml -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" -``` - -The Ansible Playbook **does NOT** have to exist in this repo. In fact it is encouraged to fork this repo and test it out by pointing to your own repo. It is also recommended to create Ansible Playbooks that work on the [Ansible Automation Workshop](https://github.com/ansible/workshops) topologies. This makes them extremely re-usable. - -## 3. Walkthrough - -Each demo should have a walkthrough. In the demo var file there is a line with the key `readme`. For example for the `deploy_application.yml`: - -```yml -readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/deploy_application.md" -``` - -Here is an example walkthrough for the `deploy_application.yml` demo: [https://github.com/ansible/product-demos/blob/master/docs/infrastructure/deploy_application.md](https://github.com/ansible/product-demos/blob/master/docs/infrastructure/deploy_application.md) - -## Converting Existing Workflows into ephemeral demos - -There is no way in the Ansible Tower API to access the workflow schema at this time (March 2020). Please refer to the docs and use the awx-cli/tower-cli command to export existing Workflow schema: [https://github.com/ansible/tower-cli/blob/master/docs/source/cli_ref/usage/WORKFLOWS.rst](documentation). - -The Workflow schema can be automated by using the [tower_workflow_template](https://docs.ansible.com/ansible/latest/modules/tower_workflow_template_module.html#parameter-schema) module to load Ansible Tower with an entire Workflow. - -## update May 2020 - -The [awx.awx collection](https://galaxy.ansible.com/awx/awx) has some new enhancements to allow installation of Ansible workflows Please coordinate with Ansible API team if you need help. - -## Going Further - -The following links will be helpful if you want to contribute code to the Ansible Workshops project, or any Ansible project: - -- [Ansible Committer Guidelines](http://docs.ansible.com/ansible/latest/committer_guidelines.html) -- [Learning Git](https://git-scm.com/book/en/v2) diff --git a/old-demo-repository/docs/features.md b/old-demo-repository/docs/features.md deleted file mode 100644 index 3292389..0000000 --- a/old-demo-repository/docs/features.md +++ /dev/null @@ -1,6 +0,0 @@ -# Red Hat Ansible Automation Platform Features - -| Feature | How? | Long Description | Product Documentation | -| ------- | ---- | ---------------- | --------------------- | -|Push button deployment| Ansible Platform UI| The Ansible Automation Platform provides a intuitive web user-interface. This can be locked down so that only certain individuals or groups can launch Jobs on specific inventory. This allows automation to have guard rails on who can automate what. Users don't have to be an Ansible Playbook writers to launch and use automation. | [Docs Link](https://docs.ansible.com/ansible-tower/latest/html/userguide/overview.html#push-button-automation)| -| Self Service IT| Surveys | Ansible Automation Platform `surveys` allow simple prompts to guide automation. For example a user can choose one application they want to install on their inventory from a pre-defined list. Surveys are fully customizable by administrators for that specific Job.| [Docs Link](https://docs.ansible.com/ansible-tower/latest/html/userguide/job_templates.html#surveys)| diff --git a/old-demo-repository/docs/infrastructure/aws_provision_vm.md b/old-demo-repository/docs/infrastructure/aws_provision_vm.md deleted file mode 100644 index 5c34213..0000000 --- a/old-demo-repository/docs/infrastructure/aws_provision_vm.md +++ /dev/null @@ -1,107 +0,0 @@ -# Demo: AMS Provision VM - -[Click here to return to master demo list](../../README.md#demo-repository) - -## Table of Contents - -- [Demo: AMS Provision VM](#demo-ams-provision-vm) - - [Table of Contents](#table-of-contents) - - [Objective](#objective) - - [What business problem is solved?](#what-business-problem-is-solved) - - [Features show cased](#features-show-cased) - - [Video](#video) - - [Installing Demo](#installing-demo) - - [Guide](#guide) - -## Objective - -Demostrate how anisble can be used to provision a RHEL VM in AWS - -## What business problem is solved? - -- **speed to market**: -reducing human time to provision VMs -- **reduce human error**: -standardize and automation a complex set of steps to reduce human errors -- **reduce complexity**: -does not require a System Administrator familiar with any cloud provider or its interface in order to provision any resources - -## Features show cased - -- Push button cloud provisioning -- Self Service IT - Surveys - -For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) - -## Video - -Coming Soon - -## Installing Demo - -1. You will need to create programmatic access keys by following these [AWS Docs instructions](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html) See the section called "Programmatic access" - -2. Then set the public_cloud variable to aws. As well as provide the folowing variable values before loading this demo as shown below. - -- public_cloud: aws -- my_access_key: -- my_secret_key: - - See sample file named choose_demo_example_aws.yml - -## Guide - -1. Login to Ansible Platform UX - -2. Navigate to **Templates** - - ![job templates](../images/templates.png) - -3. Click the rocket next to **INFRASTRUCTURE / AWS Provision VM** to launch the Job - - ![rocket launch](../images/rocket.png) - -4. The survey will prompt you to define the key pair, AWS region, VPC, Instance Type, and name of the new VM. - - ![survey choice](../images/aws_provision_vm/aws_provision_vm_survey.jpeg) - -5. Enter values and press **NEXT** - - ![survey preview](../images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg) - - Explain to audience what is happening here depending on audience persona - - **Persona A**: Technical audience that has written Ansible Playbooks before: - Ansible can be used for more than on prem infrustructure it can also be used to provision many resource on the public clouds. Surveys create variables that the Job can use within Ansible Playbooks. This gives you the ability to create one playbook that can be used for various instance sizes of RHEL provisioned in various AWS regions instead of a job template for each region or VM provisioned. Again saving you time and effort to write seperate playbooks for each use case. In the screenshot you will see the variables are named **keypair**, **aws_region**, **vpc_name**, **instance_type** and **instance_name** with the values of testkey1, us-west-1, testvpc1, t2.micro, demo1 - - **Persona B**: Decision maker audience, IT manager or above: - reiterate business values above. This allows a non AWS Cloud expert the ability to automate routine tasks within a cloud environment. They can't provision servers that are not vetted and put within the job template or to locations that are not preapproved within the Survey. Freeing them from the mundance and repeative task of VM provisioning while maintaining the highest level of security and compliance across your organization. In the event that your IT process does not allow the Red Hat Ansible Automation Platform to be the front end, it has a rich and powerful API that can work with existing workflows such as ServiceNow. - -6. Execute the job by pressing the green **LAUNCH** button - -7. Explain what is happening: - - - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. - - On the left is the **Job Details Pane** labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. - - **who** - who launched the job, in this example is the admin user - - **what** - the project and Ansible Playbook used, and which credential to login to the infrastructure - - **when** - time stamps for start, end and duration of the job run. - - **how** - the job status (pass, fail), enviornment and execution node - - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeways to showcase are: - - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. - - this pane can be expanded to take up entire browser window - - Ansible Playbook can be downloaded for troubleshooting purposes - - **click on task output** to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information - ![task breakdown](../images/aws_provision_vm/aws_provision_vm_task_output.jpeg) - -8. Circle back and summarize - - You need to circle back what has been showcased to the [business reasons listed above](#what-business-problem-is-solved). You are welcome to verify on AWS Console that the RHEL server was actually provisioned but unless you have a very technical audience you are going to start losing folks. The real business solution here is automating away the mundane and repetative. - -9. Verify RHEL VM is up (Optional) - - Login to the AWS Console. Navigate to the EC2 service and locate your EC2 instances. You should see the new VM. You can cick on that new VM to see the details which should match how you defined it. Below is an example of what you will see - ![Verify VM](../images/aws_provision_vm/aws_provision_vm_verify_ec2.jpeg) - ---- -You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/old-demo-repository/docs/infrastructure/azure_mysql_server.md b/old-demo-repository/docs/infrastructure/azure_mysql_server.md deleted file mode 100644 index 78424e1..0000000 --- a/old-demo-repository/docs/infrastructure/azure_mysql_server.md +++ /dev/null @@ -1,104 +0,0 @@ -# Demo: Azure MySQL Server - -[Click here to return to master demo list](../../README.md#demo-repository) - -## Table of Contents - -- [Demo: Azure MySQL Server](#demo-azure-mysql-server) - - [Table of Contents](#table-of-contents) - - [Objective](#objective) - - [What business problem is solved?](#what-business-problem-is-solved) - - [Features show cased](#features-show-cased) - - [Video](#video) - - [Installing Demo](#installing-demo) - - [Guide](#guide) - -## Objective - -Demostrate how anisble can be used to provision a MySQL server and Database in the Azure Cloud - -## What business problem is solved? - -- **speed to market**: -reducing human time to provision a database -- **reduce human error**: -standardize and automation a complex set of steps to reduce human errors -- **reduce complexity**: -does not require a System Administrator familiar with any cloud provider or its interface in order to provision any resources - -## Features show cased - -- Push button cloud provisioning -- Self Service IT - Surveys - -For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) - -## Video - -Coming Soon - -## Installing Demo - -1. You will need to create a Service Principal following these [Azure Docs instructions](https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal) - -2. Then set the public_cloud variable to azure. As well as provide the folowing variable values before loading this demo as shown below. - -- public_cloud: azure -- my_subscription: -- my_tenant: -- my_client: -- my_secret: - - See sample file named choose_demo_example_azure.yml - -## Guide - -1. Login to Ansible Platform UX - -2. Navigate to **Templates** - - ![job templates](../images/templates.png) - -3. Click the rocket next to **INFRASTRUCTURE / Azure create a MySQL Server** to launch the Job - - ![rocket launch](../images/rocket.png) - -4. The survey will prompt you to define the resource group, Azure region, name MySQL database, and admin login for database. - - ![survey choice](../images/azure_mysql_server/azure_mysql_survey.jpeg) - -5. Enter values and press **NEXT** - - ![survey preview](../images/azure_mysql_server/azure_mysql_survey_preview.jpeg) - - Explain to audience what is happening here depending on audience persona - - **Persona A**: Technical audience that has written Ansible Playbooks before: - Ansible can be used for more than on prem infrustructure it can also be used to provision many resource on the public clouds. Surveys create variables that the Job can use within Ansible Playbooks. This gives you the ability to create one playbook that can be used for reoccuring database provisioning in various Azure regions instead of a job template for each region or mySQL provisioned. Again saving you time and effort to write seperate playbooks for each use case. In the screenshot you will see the variables are named **resource_group**, **location**, **sqlserver_name**, **admin_pw**, **and adminuser** with the values you entered - - **Persona B**: Decision maker audience, IT manager or above: - reiterate business values above. This allows a non Azure Cloud expert the ability to automate routine tasks within a cloud environment. They can't provision servers that are not vetted and put within the job template or to locations that are not preapproved within the Survey. Freeing them from the mundance and repeative task of datebase provisioning while maintaining the highest level of security and compliance across your organization. In the event that your IT process does not allow the Red Hat Ansible Automation Platform to be the front end, it has a rich and powerful API that can work with existing workflows such as ServiceNow. - -6. Execute the job by pressing the green **LAUNCH** button - -7. Explain what is happening: - - - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. - - On the left is the **Job Details Pane** labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. - - **who** - who launched the job, in this example is the admin user - - **what** - the project and Ansible Playbook used, and which credential to login to the infrastructure - - **when** - time stamps for start, end and duration of the job run. - - **how** - the job status (pass, fail), enviornment and execution node - - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeways to showcase are: - - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. - - this pane can be expanded to take up entire browser window - - Ansible Playbook can be downloaded for troubleshooting purposes - - **click on task output** to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information - ![task breakdown](../images/azure_mysql_server/azure_mysql_task_output.jpeg) - -8. Circle back and summarize - - You need to circle back what has been showcased to the [business reasons listed above](#what-business-problem-is-solved). You are welcome to verify on the Azure Portal that the MySQL server database was actually provisioned but unless you have a very technical audience you are going to start losing folks. The real business solution here is automating away the mundane and repetative. - ---- -You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/old-demo-repository/docs/infrastructure/azure_provision_vm.md b/old-demo-repository/docs/infrastructure/azure_provision_vm.md deleted file mode 100644 index 9f0e6dc..0000000 --- a/old-demo-repository/docs/infrastructure/azure_provision_vm.md +++ /dev/null @@ -1,99 +0,0 @@ -# Demo: Azure Provision VM - -[Click here to return to master demo list](../../README.md#demo-repository) - -## Table of Contents - -- [Demo: Azure Provision VM](#demo-azure-provision-vm) - - [Table of Contents](#table-of-contents) - - [Objective](#objective) - - [What business problem is solved?](#what-business-problem-is-solved) - - [Features show cased](#features-show-cased) - - [Installing Demo](#installing-demo) - - [Guide](#guide) - -## Objective - -Demostrate how anisble can be used to provision a RHEL VM in the Azure Cloud - -## What business problem is solved? - -- **speed to market**: -reducing human time to provision VMs -- **reduce human error**: -standardize and automation a complex set of steps to reduce human errors -- **reduce complexity**: -does not require a System Administrator familiar with any cloud provider or its interface in order to provision any resources - -## Features show cased - -- Push button cloud provisioning -- Self Service IT - Surveys - -For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) - -## Installing Demo - -1. You will need to create a Service Principal following these [Azure Docs instructions](https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal) - -2. Then set the public_cloud variable to azure. As well as provide the folowing variable values before loading this demo as shown below. - -- public_cloud: azure -- my_subscription: -- my_tenant: -- my_client: -- my_secret: - - See sample file named choose_demo_example_azure.yml - -## Guide - -1. Login to Ansible Platform UX - -2. Navigate to **Templates** - - ![job templates](../images/templates.png) - -3. Click the rocket next to **INFRASTRUCTURE / Chocolatey App Install*- to launch the Job - - ![rocket launch](../images/rocket.png) - -4. The survey will prompt you to define the resource group, Azure region, name of the new VM. - - ![survey choice](../images/azure_provision_vm/azure_provision_vm_survey.jpeg) - -5. Enter values and press **NEXT** - - ![survey preview](../images/azure_provision_vm/azure_provision_vm_survey_preview.jpeg) - - Explain to audience what is happening here depending on audience persona - - **Persona A**: Technical audience that has written Ansible Playbooks before: - Ansible can be used for more than on prem infrustructure it can also be used to provision many resource on the public clouds. Surveys create variables that the Job can use within Ansible Playbooks. This gives you the ability to create one playbook that can be used for reoccuring RHEL provisioning in various Azure regions instead of a job template for each region or VM provisioned. Again saving you time and effort to write seperate playbooks for each use case. In the screenshot you will see the variables are named **resource_group**, **location**, and **vm_name*- with the values of testdemorg7, eastus, and test-server07. - - **Persona B**: Decision maker audience, IT manager or above: - reiterate business values above. This allows a non Azure Cloud expert the ability to automate routine tasks within a cloud environment. They can't provision servers that are not vetted and put within the job template or to locations that are not preapproved within the Survey. Freeing them from the mundance and repeative task of VM provisioning while maintaining the highest level of security and compliance across your organization. In the event that your IT process does not allow the Red Hat Ansible Automation Platform to be the front end, it has a rich and powerful API that can work with existing workflows such as ServiceNow. - -6. Execute the job by pressing the green **LAUNCH*- button - -7. Explain what is happening: - - - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. - - On the left is the **Job Details Pane*- labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. - - **who*- - who launched the job, in this example is the admin user - - **what*- - the project and Ansible Playbook used, and which credential to login to the infrastructure - - **when*- - time stamps for start, end and duration of the job run. - - **how*- - the job status (pass, fail), enviornment and execution node - - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeways to showcase are: - - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. - - this pane can be expanded to take up entire browser window - - Ansible Playbook can be downloaded for troubleshooting purposes - - **click on task output*- to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information - ![task breakdown](../images/azure_provision_vm/azure_provision_vm_task_output.jpeg) - -8. Circle back and summarize - - You need to circle back what has been showcased to the [business reasons listed above](#what-business-problem-is-solved). You are welcome to verify on the Azure Portal that the RHEL server was actually provisioned but unless you have a very technical audience you are going to start losing folks. The real business solution here is automating away the mundane and repetative. - ---- -You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/old-demo-repository/docs/infrastructure/chocolatey_app_install.md b/old-demo-repository/docs/infrastructure/chocolatey_app_install.md deleted file mode 100644 index eb98380..0000000 --- a/old-demo-repository/docs/infrastructure/chocolatey_app_install.md +++ /dev/null @@ -1,74 +0,0 @@ -# Demo: Chocolatey App Install - -[Click here to return to master demo list](../../README.md#demo-repository) - -## Table of Contents - -- [Demo: Chocolatey App Install](#demo-chocolatey-app-install) - - [Table of Contents](#table-of-contents) - - [Features show cased](#features-show-cased) - - [Video](#video) - - [Guide](#guide) - -## Features show cased - -- Push button deployment -- Self Service IT - Surveys - -For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) - -## Video - -[Chocolatey Install App Packages Video Demo](https://www.youtube.com/watch?v=6OIgqaMBnfU&list=PLdu06OJoEf2bnEaWYY0DXF90KkyqjVqOF) - -## Guide - -1. Login to Ansible Platform UX - -2. Navigate to **Templates** - - ![job templates](../images/templates.png) - -3. Click the rocket next to **INFRASTRUCTURE / Chocolatey App Install** to launch the Job - - ![rocket launch](../images/rocket.png) - -4. The survey will prompt you to install or remove a package. - - ![survey choice](../images/choco_app_install/choco_survey.jpeg) - -5. Choose a package or packages and press **NEXT** - - ![survey preview](../images/choco_app_install/choco_survey_preview.jpeg) - - Explain to audience what is happening here depending on audience persona - - **Persona A**: Technical audience that has written Ansible Playbooks before: - Surveys create variables that the Job can use within Ansible Playbooks. This gives you the ability to create one playbook that can be used for multiple installs instead of a job template for each app. In this case due to the multiple Select option you are not limited to 1 app but can select and install 2 or more apps at once. The survey also gives you the ability to select if the app will be installed, removed, or simply updated to the latest version. Again saving you time and effort to write seperate playbooks for each use case. In the screenshot you will see the variables are named **choco_package** and **app_state** with values of **git** and **present** - - **Persona B**: Decision maker audience, IT manager or above: - reiterate business values above. This allows a non subject matter expert the ability to automate routine tasks within a Windows environment. They can't install applications that are not vetted and put within the survey. Freeing them from the mundance and repeative task for application installation while maintaining the highest level of security and compliance across your organization. In the event that your IT process does not allow the Red Hat Ansible Automation Platform to be the front end, it has a rich and powerful API that can work with existing workflows such as ServiceNow. - -6. Execute the job by pressing the green **LAUNCH** button - -7. Explain what is happening: - - - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. - - On the left is the **Job Details Pane** labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. - - **who** - who launched the job, in this example is the admin user - - **what** - the project and Ansible Playbook used, and which credential to login to the infrastructure - - **when** - time stamps for start, end and duration of the job run. - - **how** - the job status (pass, fail), enviornment and execution node - - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeways to showcase are: - - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. - - this pane can be expanded to take up entire browser window - - Ansible Playbook can be downloaded for troubleshooting purposes - - **click on task output** to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information - ![task breakdown](../images/choco_app_install/choco_task_output.jpeg) - -8. Circle back and summarize - - You need to circle back what has been showcased to the [business reasons listed above](#what-business-problem-is-solved). You are welcome to verify on the Windows hosts that the package(s) was actually installed but unless you have a very technical audience you are going to start losing folks. The real business solution here is automating away the mundane and repetative. - ---- -You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/old-demo-repository/docs/infrastructure/chocolatey_config.md b/old-demo-repository/docs/infrastructure/chocolatey_config.md deleted file mode 100644 index 492d937..0000000 --- a/old-demo-repository/docs/infrastructure/chocolatey_config.md +++ /dev/null @@ -1,89 +0,0 @@ -# Demo: Chocolatey Config - -[Click here to return to master demo list](../../README.md#demo-repository) - -## Table of Contents - -- [Demo: Chocolatey Config](#demo-chocolatey-config) - - [Table of Contents](#table-of-contents) - - [Objective](#objective) - - [What business problem is solved?](#what-business-problem-is-solved) - - [Features show cased](#features-show-cased) - - [Guide](#guide) - -## Objective - -Demostrate how Anisble can be used not only to enable or disable Chocolatey configuration parameters but to set specifc values for those parameters - -## What business problem is solved? - -- **Operational Efficiency**: - Ansible provides the ability to save dozen to hundreds of hours of reconfiguration work by systems admins through the configuration automation -- **Increase Compliance**: - Ansible provides the means to get and stay in compliance throughout all your systems - -## Features show cased - -- Configuration as code -- Self Service IT - Surveys - -For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) - -## Guide - -1. Login to Ansible Platform UX - -2. Navigate to **Templates** - - ![job templates](../images/templates.png) - -3. Click the rocket next to **INFRASTRUCTURE / Chocolatey Features Config** to launch the Job - - ![rocket launch](../images/rocket.png) - -4. The survey will prompt you with 3 questions. What Parameter you want to change, whether you want to make it present or absent in the config, and the value for that paramater. - - ![survey choice](../images/choco_config/choco_config_survey.jpeg) - -5. Choose a parameter. Select if you want to make it present or absent in the config. Finally, add the value for that parameter and press **NEXT** - Note: These are just a few of the parameters they can add to the list. For these 3 see below for correct format for response. - - - **proxyUser** single text line such as drojas or student25 - - **commandExecutionTimeoutSeconds** integer value. 0 is infinite, 2700 is default, recomendation is 14400 - - **cacheLocation** text of a path to location on windows node such as c:\chocolatey_temp2 - - For more info on possible parameter see [Chocolatey Documentation](https://chocolatey.org/docs/chocolatey-configuration) - - ![survey preview](../images/choco_config/choco_config_survey_preview.jpeg) - - Explain to audience what is happening here depending on audience persona - - **Persona A**: Technical audience that has written Ansible Playbooks before: - Surveys create variables that the Job can use within Ansible Playbooks. This gives you the ability to create one playbook that can be used to enable or disable and set configuration values instead of having to create or maintain many job templates. Again saving you time and effort to write seperate playbooks for each use case. In the screenshot you will see the variables are named **config-item**, **state**, and **value** with values of **cacheLocation**, **present**, and **c:\chocolatey_temp2**. These will be treated as extra vars and as such overirde any variables from any other source such as the playbook itself - - **Persona B**: Decision maker audience, IT manager or above: - reiterate business values above. This allows a systems admin to automate the reconfiguration of Chocolatey in a low risk repeatable manner. This will free up IT staff for larger more mission critical projects all while reducing risk to your production operations. In the event that your IT process does not allow the Red Hat Ansible Automation Platform to be the front end, it has a rich and powerful API that can work with existing workflows such as ServiceNow. - -6. Execute the job by pressing the green **LAUNCH** button - -7. Explain what is happening: - - - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. - - On the left is the **Job Details Pane** labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. - - **who** - who launched the job, in this example is the admin user - - **what** - the project and Ansible Playbook used, and which credential to login to the infrastructure - - **when** - time stamps for start, end and duration of the job run. - - **how** - the job status (pass, fail), enviornment and execution node - - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeways to showcase are: - - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. - - this pane can be expanded to take up entire browser window - - Ansible Playbook can be downloaded for troubleshooting purposes - - **click on task output** to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information - ![task breakdown](../images/choco_config/choco_config_task_output.jpeg) - -8. Circle back and summarize - - You need to circle back what has been showcased to the [business reasons listed above](#what-business-problem-is-solved). You are welcome to verify on the Windows hosts that the configuration was actually changed but unless you have a very technical audience you are going to start losing folks. The real business solution here is automating away the mundane and repetative. - ---- -You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/old-demo-repository/docs/infrastructure/chocolatey_features.md b/old-demo-repository/docs/infrastructure/chocolatey_features.md deleted file mode 100644 index 94ee873..0000000 --- a/old-demo-repository/docs/infrastructure/chocolatey_features.md +++ /dev/null @@ -1,82 +0,0 @@ -# Demo: Chocolatey Features Config - -[Click here to return to master demo list](../../README.md#demo-repository) - -## Table of Contents - -- [Demo: Chocolatey Features Config](#demo-chocolatey-features-config) - - [Table of Contents](#table-of-contents) - - [Objective](#objective) - - [What business problem is solved?](#what-business-problem-is-solved) - - [Features show cased](#features-show-cased) - - [Guide](#guide) - -## Objective - -Demostrate how Anisble can be used to enable or disable features in Chocolatey - -## What business problem is solved? - -- **Operational Efficiency**: - Ansible provides the ability to save dozen to hundreds of hours of reconfiguration work by systems admins through the configuration automation -- **Increase Compliance**: - Ansible provides the means to get and stay in compliance throughout all your systems - -## Features show cased - -- Configuration as code -- Self Service IT - Surveys - -For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) - -## Guide - -1. Login to Ansible Platform UX - -2. Navigate to **Templates** - - ![job templates](../images/templates.png) - -3. Click the rocket next to **INFRASTRUCTURE / Chocolatey Features Config** to launch the Job - - ![rocket launch](../images/rocket.png) - -4. The survey will prompt you for what feature to enable or disable. - - ![survey choice](../images/choco_features/choco_features_survey.jpeg) - -5. Choose a feature and press **NEXT** - - ![survey preview](../images/choco_features/choco_features_survey_preview.jpeg) - - Explain to audience what is happening here depending on audience persona - - **Persona A**: Technical audience that has written Ansible Playbooks before: - Surveys create variables that the Job can use within Ansible Playbooks. This gives you the ability to create one playbook that can be used to enable or disable any feature instead of having to create or maintain many job templates. The survey also gives you the ability to select if the feature will be enabled or disabled. Again saving you time and effort to write seperate playbooks for each use case. In the screenshot you will see the variables are named **feature** and **state** with values of **virusCheck** and **enabled** - - **Persona B**: Decision maker audience, IT manager or above: - reiterate business values above. This allows a systems admin to automate the reconfiguration of Chocolatey in a low risk repeatable manner. This will free up IT staff for larger more mission critical projects all while reducing risk to your production operations. In the event that your IT process does not allow the Red Hat Ansible Automation Platform to be the front end, it has a rich and powerful API that can work with existing workflows such as ServiceNow. - -6. Execute the job by pressing the green **LAUNCH** button - -7. Explain what is happening: - - - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. - - On the left is the **Job Details Pane** labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. - - **who** - who launched the job, in this example is the admin user - - **what** - the project and Ansible Playbook used, and which credential to login to the infrastructure - - **when** - time stamps for start, end and duration of the job run. - - **how** - the job status (pass, fail), enviornment and execution node - - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeways to showcase are: - - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. - - this pane can be expanded to take up entire browser window - - Ansible Playbook can be downloaded for troubleshooting purposes - - **click on task output** to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information - ![task breakdown](../images/choco_features/choco_features_task_output.jpeg) - -8. Circle back and summarize - - You need to circle back what has been showcased to the [business reasons listed above](#what-business-problem-is-solved). You are welcome to verify on the Windows hosts that the feature was actually enabled or disabled but unless you have a very technical audience you are going to start losing folks. The real business solution here is automating away the mundane and repetative. - ---- -You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/old-demo-repository/docs/infrastructure/deploy_application.md b/old-demo-repository/docs/infrastructure/deploy_application.md deleted file mode 100644 index 1cc42f5..0000000 --- a/old-demo-repository/docs/infrastructure/deploy_application.md +++ /dev/null @@ -1,91 +0,0 @@ -# Demo: Deploy Application - -[Click here to return to master demo list](../../README.md#demo-repository) - -## Table of Contents - -- [Demo: Deploy Application](#demo-deploy-application) - - [Table of Contents](#table-of-contents) - - [Objective](#objective) - - [What business problem is solved?](#what-business-problem-is-solved) -- [Features show cased](#features-show-cased) - - [Video](#video) - - [Guide](#guide) - -## Objective - -Demonstrate application deployment for Linux systems. This demonstration will install applications on multiple RHEL servers. - -## What business problem is solved? - -- **speed to market**: -reducing human time to install applications -- **reduce human error**: -automation of routine manual processes -- **reduce complexity**: -does not require a System Administrator familiar with the specific operating system to install the Application. Automate and test once and allow all users access to deploy Ansible Jobs. -- **enforce policy**: -Ansible creates guard rails on which applications can be deployed and how they are installed on IT infrastructure. - -# Features show cased - -- Push button deployment -- Self Service IT - Surveys - -For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) - -## Video - -[Watch here](https://youtu.be/pU8ZgSBuEJw) - -## Guide - -1. Login to Ansible Platform UX - -2. Navigate to **Templates** - - ![job templates](../images/templates.png) - -3. Click the rocket next to **INFRASTRUCTURE / Deploy Application** to launch the Job - - ![rocket launch](../images/rocket.png) - -4. The survey will prompt you to install an application. - - ![survey choice](../images/deploy_application_survey.png) - -5. Choose an application and press **NEXT** - - ![survey preview](../images/survey_preview.png) - - Explain to audience what is happening here depending on audience persona - - **Persona A**: Technical audience that has written Ansible Playbooks before: - Surveys create variables that the Job can use within Ansible Playbooks. In this example a pre-defined list of applications that are tested and allowed on IT infrastructure. The variable is named **application** and the value is **httpd** in this screenshot. - - **Persona B**: Decision maker audience, IT manager or above: - reiterate business values above. This allows a non subject matter expert the ability to automate routine tasks. They can't install applications that are not vetted and put within the survey. In the event that your IT process does not allow the Red Hat Ansible Automation Platform to be the front end, it has a rich and powerful API that can work with existing workflows such as ServiceNow. - -6. Execute the job by pressing the green **LAUNCH** button - -7. Explain what is happening: - - - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. - - On the left is the **Job Details Pane** labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. - - **who** - who launched the job, in this example is the admin user - - **what** - the project and Ansible Playbook used, and which credential to login to the infrastructure - - **when** - time stamps for start, end and duration of the job run. - - **how** - the job status (pass, fail), enviornment and execution node - - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeways to showcase are: - - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. - - this pane can be expanded to take up entire browser window - - Ansible Playbook can be downloaded for troubleshooting purposes - - **click on task output** to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information - ![task breakdown](../images/platform_task_breakdown.png) - -8. Circle back and summarize - - You need to circle back what has been showcased to the [business reasons listed above](#what-business-problem-is-solved). You are welcome to verify on the RHEL web nodes that the application was actually installed but unless you have a very technical audience you are going to start losing folks. The real business solution here is automating away the boring and routine. - ---- -You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/old-demo-repository/docs/infrastructure/windows_regedit_legal_notice.md b/old-demo-repository/docs/infrastructure/windows_regedit_legal_notice.md deleted file mode 100644 index d49990b..0000000 --- a/old-demo-repository/docs/infrastructure/windows_regedit_legal_notice.md +++ /dev/null @@ -1,97 +0,0 @@ -# Demo: Windows Use Regedit to update legal notice - -[Click here to return to master demo list](../../README.md#demo-repository) - -## Table of Contents - -- [Demo: Windows Use Regedit to update legal notice](#demo-windows-use-regedit-to-update-legal-notice) - - [Table of Contents](#table-of-contents) - - [Objective](#objective) - - [What business problem is solved?](#what-business-problem-is-solved) - - [Features show cased](#features-show-cased) - - [Video](#video) - - [Guide](#guide) - -## Objective - -Demostrate how anisble can be used to automate the updating of Windows registry items such as the legal notice enterprise wide witth one simple playbook. - -## What business problem is solved? - -- **speed to production**: -reducing human time to make large scale changes across an enterprise -- **reduce human error**: -automation of routine manual processes -- **reduce complexity**: -does not require a System Administrator to be familar with Ansible or even regedit. Provides a self services option to make technical changes to 1000's of devices - -## Features show cased - -- Push button deployment -- Self Service IT - Surveys - -For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) - -## Video - -[Windows Regedit Legal Notice Video Demo](https://www.youtube.com/watch?v=L_S74rdLat8&list=PLdu06OJoEf2bnEaWYY0DXF90KkyqjVqOF&index=2) - -## Guide - -1. Login to Ansible Platform UX - -2. Navigate to **Templates** - - ![job templates](../images/templates.png) - -3. Click the rocket next to **INFRASTRUCTURE / Windows regedit legal notice** to launch the Job - - ![rocket launch](../images/rocket.png) - -4. The survey will prompt you for the title and text of the legal notice. - - ![survey choice](../images/windows_regedit_legal_notice/windows_regedit_legal_survey.jpeg) - -5. Type in the Tile and Text and press **NEXT** - - ![survey preview](../images/windows_regedit_legal_notice/windows_regedit_legal_survey_preview.jpeg) - - Explain to audience what is happening here depending on audience persona - - **Persona A**: Technical audience that has written Ansible Playbooks before: - Surveys create variables that the Job can use within Ansible Playbooks. This gives you the ability to create one playbook that can be used for any future updates. In this case you can update the title and test of the legal notice. Again saving you time and effort to modify the playbook directly each time you need to make an update. In the screenshot you will see the variables are named **text_legal_notice** and **title_legal_notice** with some default values but the admin can modify them as they need. - - **Persona B**: Decision maker audience, IT manager or above: - reiterate business values above. This allows a non subject matter expert the ability to automate routine tasks within a Windows environment. They can make these changes on all windows devices with one run. Freeing them from the mundance and repeative task for application installation while maintaining the highest level of security and compliance across your organization. They can do all this with little to no risk as no chance of a fat-finger mistake which in regedit can be disasterous. In the event that your IT process does not allow the Red Hat Ansible Automation Platform to be the front end, it has a rich and powerful API that can work with existing workflows such as ServiceNow. - -6. Execute the job by pressing the green **LAUNCH** button - -7. Explain what is happening: - - - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. - - On the left is the **Job Details Pane** labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. - - **who** - who launched the job, in this example is the admin user - - **what** - the project and Ansible Playbook used, and which credential to login to the infrastructure - - **when** - time stamps for start, end and duration of the job run. - - **how** - the job status (pass, fail), enviornment and execution node - - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeways to showcase are: - - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. - - this pane can be expanded to take up entire browser window - - Ansible Playbook can be downloaded for troubleshooting purposes - - **click on task output** to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information - ![task breakdown](../images/windows_regedit_legal_notice/windows_regedit_legal_task_output.jpeg) - -8. Circle back and summarize - - You need to circle back what has been showcased to the [business reasons listed above](#what-business-problem-is-solved). You are welcome to verify on the Windows hosts that legal notice was actually changed but unless you have a very technical audience you are going to start losing folks. The real business solution here is automating away the mundane and repetative. - -9. Show new legal notice (optional) - - Using some version of RDP you will need to connect to the windows host. The info needed to connect can be found within "inventories" You will need to navigate to Inventories first. Then click on "workshop inventory". Then click on "hosts". You should see your list of hosts. Click on your windows host which will give you the host IP, the username and the password required to connect via RDP. - - ![Inventory Hosts](../images/windows_regedit_legal_notice/windows_regedit_legal_host_info.jpg) - - Once you connect you will see both the title and text first thing. It should match what you updated it to. - ---- -You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/old-demo-repository/docs/network/configlet_vtyacl.md b/old-demo-repository/docs/network/configlet_vtyacl.md deleted file mode 100644 index 37765a6..0000000 --- a/old-demo-repository/docs/network/configlet_vtyacl.md +++ /dev/null @@ -1,70 +0,0 @@ -# Demo: Deploy Application - -[Click here to return to master demo list](../../README.md#demo-repository) - -## Table of Contents - -- [Demo: Deploy Application](#demo-deploy-application) - - [Table of Contents](#table-of-contents) - - [Objective](#objective) - - [What business problem is solved?](#what-business-problem-is-solved) - - [Features show cased](#features-show-cased) - - [Guide](#guide) - -## Objective - -Demonstrate managing the VTY ACL on a Cisco router. - -## What business problem is solved? - -- **speed to market**: -Reduce the time needed to make changes to Cisco configs. -- **reduce human error**: -Automation of routine manual processes -- **reduce complexity**: -Allows one Network Engineer to update multiple devices at once. Automate and test once and allow all users access to deploy Ansible Jobs. -- **enforce policy**: -Ansible ensures every device has the same config. - -## Features show cased - -- Push button deployment - -For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) - -## Guide - -1. Verify rtr1 config - - ssh to rtr1 from the workshop bastion and perform a ***show run*** on the router. Verify that there is no VTY ACL on the router. - -2. Login to Ansible Platform UX - -3. Navigate to **Templates** - - ![job templates](../../images/templates.png) - -4. Click the rocket next to **Cisco IOS VTY ACL config audit/remediation** to launch the Job - - ![rocket launch](../../images/rocket.png) - -5. The job will launch and update the VTY ACL on rtr1. - -6. What is happening: - - - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. - - On the left is the **Job Details Pane** labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. - - **who** - who launched the job, in this example is the admin user - - **what** - the project and Ansible Playbook used, and which credential to login to the infrastructure - - **when** - time stamps for start, end and duration of the job run. - - **how** - the job status (pass, fail), environment and execution node - - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeaways to showcase are: - - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. - - this pane can be expanded to take up entire browser window - - Ansible Playbook can be downloaded for troubleshooting purposes - - **click on task output** to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information - -7. ssh to rtr1 and verify the VTY ACL has been changed. - ---- -You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/old-demo-repository/galaxy.yml b/old-demo-repository/galaxy.yml deleted file mode 100644 index 06249d5..0000000 --- a/old-demo-repository/galaxy.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- -namespace: ansible -name: product_demos -version: 1.2.9 -readme: README.md - -authors: - - Sean Cavanaugh @IPvSean - - David Rojas - - Colin McNaughton - -description: repository of demos to showcase Ansible features. - -license: - - GPL-3.0-or-later - -tags: - - apache - - centos - - rhel - - el - - amazon - - linux - - fedora - - network - - f5 - - developer - - infrastructure - - security - - windows - - opencap - - insights - - patching - - tower - - awx - -build_ignore: - - images - - '*.tar.gz' - -dependencies: - "awx.awx": "*" - - -repository: http://github.com/ansible/product-demos -documentation: http://github.com/ansible/product-demos -homepage: http://github.com/ansible/product-demos -issues: https://github.com/ansible/product-demos/issues diff --git a/old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey.jpeg b/old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey.jpeg deleted file mode 100644 index 80e392e..0000000 Binary files a/old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey.jpeg and /dev/null differ diff --git a/old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg b/old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg deleted file mode 100644 index a69df37..0000000 Binary files a/old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg and /dev/null differ diff --git a/old-demo-repository/images/aws_provision_vm/aws_provision_vm_task_output.jpeg b/old-demo-repository/images/aws_provision_vm/aws_provision_vm_task_output.jpeg deleted file mode 100644 index 70d5497..0000000 Binary files a/old-demo-repository/images/aws_provision_vm/aws_provision_vm_task_output.jpeg and /dev/null differ diff --git a/old-demo-repository/images/aws_provision_vm/aws_provision_vm_verify_ec2.jpeg b/old-demo-repository/images/aws_provision_vm/aws_provision_vm_verify_ec2.jpeg deleted file mode 100644 index 0a898b9..0000000 Binary files a/old-demo-repository/images/aws_provision_vm/aws_provision_vm_verify_ec2.jpeg and /dev/null differ diff --git a/old-demo-repository/images/azure_mysql_server/azure_mysql_survey.jpeg b/old-demo-repository/images/azure_mysql_server/azure_mysql_survey.jpeg deleted file mode 100644 index a761720..0000000 Binary files a/old-demo-repository/images/azure_mysql_server/azure_mysql_survey.jpeg and /dev/null differ diff --git a/old-demo-repository/images/azure_mysql_server/azure_mysql_survey_preview.jpeg b/old-demo-repository/images/azure_mysql_server/azure_mysql_survey_preview.jpeg deleted file mode 100644 index 9f1b05c..0000000 Binary files a/old-demo-repository/images/azure_mysql_server/azure_mysql_survey_preview.jpeg and /dev/null differ diff --git a/old-demo-repository/images/azure_mysql_server/azure_mysql_task_output.jpeg b/old-demo-repository/images/azure_mysql_server/azure_mysql_task_output.jpeg deleted file mode 100644 index dde7ff9..0000000 Binary files a/old-demo-repository/images/azure_mysql_server/azure_mysql_task_output.jpeg and /dev/null differ diff --git a/old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey.jpeg b/old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey.jpeg deleted file mode 100644 index 099583c..0000000 Binary files a/old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey.jpeg and /dev/null differ diff --git a/old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey_preview.jpeg b/old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey_preview.jpeg deleted file mode 100644 index e97d006..0000000 Binary files a/old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey_preview.jpeg and /dev/null differ diff --git a/old-demo-repository/images/azure_provision_vm/azure_provision_vm_task_output.jpeg b/old-demo-repository/images/azure_provision_vm/azure_provision_vm_task_output.jpeg deleted file mode 100644 index bfc9fb9..0000000 Binary files a/old-demo-repository/images/azure_provision_vm/azure_provision_vm_task_output.jpeg and /dev/null differ diff --git a/old-demo-repository/images/choco_app_install/choco_survey.jpeg b/old-demo-repository/images/choco_app_install/choco_survey.jpeg deleted file mode 100644 index db37c2e..0000000 Binary files a/old-demo-repository/images/choco_app_install/choco_survey.jpeg and /dev/null differ diff --git a/old-demo-repository/images/choco_app_install/choco_survey_preview.jpeg b/old-demo-repository/images/choco_app_install/choco_survey_preview.jpeg deleted file mode 100644 index cfbc95c..0000000 Binary files a/old-demo-repository/images/choco_app_install/choco_survey_preview.jpeg and /dev/null differ diff --git a/old-demo-repository/images/choco_app_install/choco_task_output.jpeg b/old-demo-repository/images/choco_app_install/choco_task_output.jpeg deleted file mode 100644 index f1f247a..0000000 Binary files a/old-demo-repository/images/choco_app_install/choco_task_output.jpeg and /dev/null differ diff --git a/old-demo-repository/images/choco_config/choco_config_survey.jpeg b/old-demo-repository/images/choco_config/choco_config_survey.jpeg deleted file mode 100644 index 196276b..0000000 Binary files a/old-demo-repository/images/choco_config/choco_config_survey.jpeg and /dev/null differ diff --git a/old-demo-repository/images/choco_config/choco_config_survey_preview.jpeg b/old-demo-repository/images/choco_config/choco_config_survey_preview.jpeg deleted file mode 100644 index 8ff1349..0000000 Binary files a/old-demo-repository/images/choco_config/choco_config_survey_preview.jpeg and /dev/null differ diff --git a/old-demo-repository/images/choco_config/choco_config_task_output.jpeg b/old-demo-repository/images/choco_config/choco_config_task_output.jpeg deleted file mode 100644 index 5bee636..0000000 Binary files a/old-demo-repository/images/choco_config/choco_config_task_output.jpeg and /dev/null differ diff --git a/old-demo-repository/images/choco_features/choco_features_survey.jpeg b/old-demo-repository/images/choco_features/choco_features_survey.jpeg deleted file mode 100644 index 913779e..0000000 Binary files a/old-demo-repository/images/choco_features/choco_features_survey.jpeg and /dev/null differ diff --git a/old-demo-repository/images/choco_features/choco_features_survey_preview.jpeg b/old-demo-repository/images/choco_features/choco_features_survey_preview.jpeg deleted file mode 100644 index 2c52644..0000000 Binary files a/old-demo-repository/images/choco_features/choco_features_survey_preview.jpeg and /dev/null differ diff --git a/old-demo-repository/images/choco_features/choco_features_task_output.jpeg b/old-demo-repository/images/choco_features/choco_features_task_output.jpeg deleted file mode 100644 index abcbf5e..0000000 Binary files a/old-demo-repository/images/choco_features/choco_features_task_output.jpeg and /dev/null differ diff --git a/old-demo-repository/images/deploy_application_survey.png b/old-demo-repository/images/deploy_application_survey.png deleted file mode 100644 index 552cbb9..0000000 Binary files a/old-demo-repository/images/deploy_application_survey.png and /dev/null differ diff --git a/old-demo-repository/images/platform_task_breakdown.png b/old-demo-repository/images/platform_task_breakdown.png deleted file mode 100644 index 134a6a7..0000000 Binary files a/old-demo-repository/images/platform_task_breakdown.png and /dev/null differ diff --git a/old-demo-repository/images/rocket.png b/old-demo-repository/images/rocket.png deleted file mode 100644 index 8ebabad..0000000 Binary files a/old-demo-repository/images/rocket.png and /dev/null differ diff --git a/old-demo-repository/images/survey_preview.png b/old-demo-repository/images/survey_preview.png deleted file mode 100644 index 4be9995..0000000 Binary files a/old-demo-repository/images/survey_preview.png and /dev/null differ diff --git a/old-demo-repository/images/templates.png b/old-demo-repository/images/templates.png deleted file mode 100644 index 46f6902..0000000 Binary files a/old-demo-repository/images/templates.png and /dev/null differ diff --git a/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_host_info.jpg b/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_host_info.jpg deleted file mode 100644 index 4253342..0000000 Binary files a/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_host_info.jpg and /dev/null differ diff --git a/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_survey.jpeg b/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_survey.jpeg deleted file mode 100644 index e9e49d4..0000000 Binary files a/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_survey.jpeg and /dev/null differ diff --git a/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_survey_preview.jpeg b/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_survey_preview.jpeg deleted file mode 100644 index 767bd8a..0000000 Binary files a/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_survey_preview.jpeg and /dev/null differ diff --git a/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_task_output.jpeg b/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_task_output.jpeg deleted file mode 100644 index dc4c3bf..0000000 Binary files a/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_task_output.jpeg and /dev/null differ diff --git a/old-demo-repository/meta/runtime.yml b/old-demo-repository/meta/runtime.yml deleted file mode 100644 index 86eb2de..0000000 --- a/old-demo-repository/meta/runtime.yml +++ /dev/null @@ -1 +0,0 @@ -requires_ansible: ">=2.11" diff --git a/old-demo-repository/roles/developer_report/README.md b/old-demo-repository/roles/developer_report/README.md deleted file mode 100644 index fb2b325..0000000 --- a/old-demo-repository/roles/developer_report/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Developer Report - -This Ansible Role has a README.md coming soon. diff --git a/old-demo-repository/roles/developer_report/meta/main.yml b/old-demo-repository/roles/developer_report/meta/main.yml deleted file mode 100644 index 4a66d38..0000000 --- a/old-demo-repository/roles/developer_report/meta/main.yml +++ /dev/null @@ -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: [] diff --git a/old-demo-repository/roles/developer_report/tasks/main.yml b/old-demo-repository/roles/developer_report/tasks/main.yml deleted file mode 100644 index 10903f4..0000000 --- a/old-demo-repository/roles/developer_report/tasks/main.yml +++ /dev/null @@ -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" diff --git a/old-demo-repository/roles/developer_report/templates/report.j2 b/old-demo-repository/roles/developer_report/templates/report.j2 deleted file mode 100644 index 6056a35..0000000 --- a/old-demo-repository/roles/developer_report/templates/report.j2 +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -

Developer Report

- - - - - - - - - - - - - -{% for linux_node in groups['all'] %} - - - - - - - - - - -{% endfor %} - -
HostnameOperating SystemPATHKernelPython VersionPackage ManagerSystem Date Time -
{{ hostvars[linux_node]['ansible_hostname'] }}{{ hostvars[linux_node]['ansible_distribution'] }} {{hostvars[linux_node]['ansible_distribution_version']}}{{ hostvars[linux_node]['ansible_env']['PATH'] }}{{ hostvars[linux_node]['ansible_kernel'] }}{{ hostvars[linux_node]['ansible_python_version'] }}{{ hostvars[linux_node]['ansible_pkg_mgr'] }}{{ hostvars[linux_node]['ansible_date_time']['date'] }}
- - - diff --git a/old-demo-repository/roles/generate_readme/README.md b/old-demo-repository/roles/generate_readme/README.md deleted file mode 100644 index 74d2b07..0000000 --- a/old-demo-repository/roles/generate_readme/README.md +++ /dev/null @@ -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) diff --git a/old-demo-repository/roles/generate_readme/meta/main.yml b/old-demo-repository/roles/generate_readme/meta/main.yml deleted file mode 100644 index 68ae807..0000000 --- a/old-demo-repository/roles/generate_readme/meta/main.yml +++ /dev/null @@ -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: [] diff --git a/old-demo-repository/roles/generate_readme/tasks/main.yml b/old-demo-repository/roles/generate_readme/tasks/main.yml deleted file mode 100644 index 0927119..0000000 --- a/old-demo-repository/roles/generate_readme/tasks/main.yml +++ /dev/null @@ -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" diff --git a/old-demo-repository/roles/generate_readme/templates/readme.j2 b/old-demo-repository/roles/generate_readme/templates/readme.j2 deleted file mode 100644 index 5cbbce2..0000000 --- a/old-demo-repository/roles/generate_readme/templates/readme.j2 +++ /dev/null @@ -1,75 +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 - -```shell -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 - -| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough | -| --------- | ------ | ---------------------- | ----------- | ----------------- | -{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'infrastructure$')|sort(attribute='1.name') %}| {% if value.readme is defined%}[{{value.name}}]({{ value.readme}}"){% else %}{{value.name}}{% endif %} | {{value.author}} | `demo: {{key}}` | {{value.description}} | {% if value.video is defined%}[Video Link]({{ value.video}}){% else %}Not available {% endif %} | -{% endfor %} - -## Network Demos - -| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough | -| --------- | ------ | ---------------------- | ----------- | ----------------- | -{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'network$')|sort(attribute='1.name') %}| {% if value.readme is defined%}[{{value.name}}]({{ value.readme}}"){% else %}{{value.name}}{% endif %} | {{value.author}} | `demo: {{key}}` | {{value.description}} | {% if value.video is defined%}[Video Link]({{ value.video}}){% else %}Not available {% endif %} | -{% endfor %} - -## Security Demos - -| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough | -| --------- | ------ | ---------------------- | ----------- | ----------------- | -{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'security$')|sort(attribute='1.name') %}| {% if value.readme is defined%}[{{value.name}}]({{ value.readme}}"){% else %}{{value.name}}{% endif %} | {{value.author}} | `demo: {{key}}` | {{value.description}} | {% if value.video is defined%}[Video Link]({{ value.video}}){% else %}Not available {% endif %} | -{% endfor %} - -## Developer Demos - -| Demo Name | Author | install_demo.yml value | Description | Video Walkthrough | -| --------- | ------ | ---------------------- | ----------- | ----------------- | -{% for key, value in job_template_definitions.items()|selectattr('1.category', 'match', 'developer$')|sort(attribute='1.name') %}| {% if value.readme is defined%}[{{value.name}}]({{ value.readme}}"){% else %}{{value.name}}{% endif %} | {{value.author}} | `demo: {{key}}` | {{value.description}} | {% if value.video is defined%}[Video Link]({{ value.video}}){% else %}Not available {% endif %} | -{% endfor %} - -## 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 - -```shell -ansible-playbook playbooks/generate_readme.yml -``` diff --git a/old-demo-repository/roles/install_demo/README.md b/old-demo-repository/roles/install_demo/README.md deleted file mode 100644 index 3645b8b..0000000 --- a/old-demo-repository/roles/install_demo/README.md +++ /dev/null @@ -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. diff --git a/old-demo-repository/roles/install_demo/meta/main.yml b/old-demo-repository/roles/install_demo/meta/main.yml deleted file mode 100644 index c5bc419..0000000 --- a/old-demo-repository/roles/install_demo/meta/main.yml +++ /dev/null @@ -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: [] diff --git a/old-demo-repository/roles/install_demo/tasks/aws.yml b/old-demo-repository/roles/install_demo/tasks/aws.yml deleted file mode 100644 index 72077c6..0000000 --- a/old-demo-repository/roles/install_demo/tasks/aws.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/old-demo-repository/roles/install_demo/tasks/azure.yml b/old-demo-repository/roles/install_demo/tasks/azure.yml deleted file mode 100644 index 45880b9..0000000 --- a/old-demo-repository/roles/install_demo/tasks/azure.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/tasks/job_template.yml b/old-demo-repository/roles/install_demo/tasks/job_template.yml deleted file mode 100644 index ebb3da1..0000000 --- a/old-demo-repository/roles/install_demo/tasks/job_template.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/tasks/job_template_loop.yml b/old-demo-repository/roles/install_demo/tasks/job_template_loop.yml deleted file mode 100644 index 903081e..0000000 --- a/old-demo-repository/roles/install_demo/tasks/job_template_loop.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/tasks/load_vars.yml b/old-demo-repository/roles/install_demo/tasks/load_vars.yml deleted file mode 100644 index 0c9d557..0000000 --- a/old-demo-repository/roles/install_demo/tasks/load_vars.yml +++ /dev/null @@ -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" diff --git a/old-demo-repository/roles/install_demo/tasks/main.yml b/old-demo-repository/roles/install_demo/tasks/main.yml deleted file mode 100644 index 1fc5aa1..0000000 --- a/old-demo-repository/roles/install_demo/tasks/main.yml +++ /dev/null @@ -1,42 +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: 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 diff --git a/old-demo-repository/roles/install_demo/tasks/unsupported_cloud.yml b/old-demo-repository/roles/install_demo/tasks/unsupported_cloud.yml deleted file mode 100644 index dccba7d..0000000 --- a/old-demo-repository/roles/install_demo/tasks/unsupported_cloud.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/tasks/workflow.yml b/old-demo-repository/roles/install_demo/tasks/workflow.yml deleted file mode 100644 index 8ad3056..0000000 --- a/old-demo-repository/roles/install_demo/tasks/workflow.yml +++ /dev/null @@ -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 }}" diff --git a/old-demo-repository/roles/install_demo/tasks/workflow_loop.yml b/old-demo-repository/roles/install_demo/tasks/workflow_loop.yml deleted file mode 100644 index 54b9bae..0000000 --- a/old-demo-repository/roles/install_demo/tasks/workflow_loop.yml +++ /dev/null @@ -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 }}" diff --git a/old-demo-repository/roles/install_demo/vars/main/developer/developer_report.yml b/old-demo-repository/roles/install_demo/vars/main/developer/developer_report.yml deleted file mode 100644 index 8b887c1..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/developer/developer_report.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -developer_report: - author: "Sean Cavanaugh" - category: developer - name: "DEVELOPER / Create Developer Report" - description: Create HTML report using [Ansible facts](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variables-discovered-from-systems-facts) - 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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/aws_provision_vm.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/aws_provision_vm.yml deleted file mode 100644 index 93fd4c7..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/aws_provision_vm.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_mysql_server.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_mysql_server.yml deleted file mode 100644 index 42e37d2..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_mysql_server.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_provision_vm.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_provision_vm.yml deleted file mode 100644 index e1cb950..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_provision_vm.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_app_install.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_app_install.yml deleted file mode 100644 index 5e0d359..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_app_install.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_config.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_config.yml deleted file mode 100644 index 62c6199..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_config.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_features.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_features.yml deleted file mode 100644 index 98bccbb..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_features.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/debug_info.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/debug_info.yml deleted file mode 100644 index ed143ec..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/debug_info.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/deploy_application.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/deploy_application.yml deleted file mode 100644 index 5c69423..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/deploy_application.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/grant_sudo.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/grant_sudo.yml deleted file mode 100644 index 209d1e0..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/grant_sudo.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/insights.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/insights.yml deleted file mode 100644 index 8a84ed6..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/insights.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/patching.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/patching.yml deleted file mode 100644 index fa83da7..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/patching.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/scan_facts.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/scan_facts.yml deleted file mode 100644 index 70b0c66..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/scan_facts.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/security_patching.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/security_patching.yml deleted file mode 100644 index c4fdd2a..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/security_patching.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/turn_off_community_grid.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/turn_off_community_grid.yml deleted file mode 100644 index ddf9e7d..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/turn_off_community_grid.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/windows_iss.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/windows_iss.yml deleted file mode 100644 index b63bb17..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/windows_iss.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/infrastructure/windows_regedit_legal_notice.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/windows_regedit_legal_notice.yml deleted file mode 100644 index 59cced7..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/infrastructure/windows_regedit_legal_notice.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/network/configlet_logging.yml b/old-demo-repository/roles/install_demo/vars/main/network/configlet_logging.yml deleted file mode 100644 index e30782b..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/network/configlet_logging.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/network/configlet_ntp.yml b/old-demo-repository/roles/install_demo/vars/main/network/configlet_ntp.yml deleted file mode 100644 index 194efc8..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/network/configlet_ntp.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/network/configlet_vtyacl.yml b/old-demo-repository/roles/install_demo/vars/main/network/configlet_vtyacl.yml deleted file mode 100644 index 7d63a4e..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/network/configlet_vtyacl.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/network/f5_bigip_workflow.yml b/old-demo-repository/roles/install_demo/vars/main/network/f5_bigip_workflow.yml deleted file mode 100644 index e3d9932..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/network/f5_bigip_workflow.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/security/hardening.yml b/old-demo-repository/roles/install_demo/vars/main/security/hardening.yml deleted file mode 100644 index d44562f..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/security/hardening.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/install_demo/vars/main/security/openscap.yml b/old-demo-repository/roles/install_demo/vars/main/security/openscap.yml deleted file mode 100644 index 8435e64..0000000 --- a/old-demo-repository/roles/install_demo/vars/main/security/openscap.yml +++ /dev/null @@ -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 diff --git a/old-demo-repository/roles/requirements.yml b/old-demo-repository/roles/requirements.yml deleted file mode 100644 index d252ddd..0000000 --- a/old-demo-repository/roles/requirements.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- src: dev-sec.ssh-hardening -- src: redhatofficial.rhel8_pci_dss -- src: linux-system-roles.firewall -- src: RedHatInsights.insights-client diff --git a/playbooks/developer/developer_report.yml b/playbooks/developer/developer_report.yml deleted file mode 100644 index 53f354d..0000000 --- a/playbooks/developer/developer_report.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: grab linux facts - hosts: web - gather_facts: true - -- name: build developer report - hosts: node1 - gather_facts: false - - vars: - file_path: /var/www/html/report/index.html - - tasks: - - name: use developer report - include_role: - name: "../../roles/developer_report" diff --git a/playbooks/generate_readme.yml b/playbooks/generate_readme.yml deleted file mode 100644 index 5df6f79..0000000 --- a/playbooks/generate_readme.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: setup deploy application demo - hosts: localhost - connection: local - - tasks: - - name: install demo - include_role: - name: "../roles/generate_readme" diff --git a/playbooks/infrastructure/aws_provision_vm.yml b/playbooks/infrastructure/aws_provision_vm.yml deleted file mode 100644 index c70739e..0000000 --- a/playbooks/infrastructure/aws_provision_vm.yml +++ /dev/null @@ -1,58 +0,0 @@ -- name: Create AWS resources - hosts: localhost - connection: local - gather_facts: False - - collections: - - amazon.aws - - tasks: - - - name: Setting the correct AMI per us-east-1 - set_fact: - ami_id: ami-096fda3c22c1c990a - when: aws_region == "us-east-1" - - - name: Setting the correct AMI per us-west-1 - set_fact: - ami_id: ami-09d9c5cdcfb8fc655 - when: aws_region == "us-west-1" - - - name: create a new ec2 key pair - ec2_key: - name: "{{ keypair }}" - region: "{{ aws_region }}" - - - name: Create VPC - ec2_vpc_net: - name: "{{ vpc_name }}" - cidr_block: 10.10.0.0/16 - region: "{{ aws_region }}" - register: my_vpc - - - name: Create a security group - ec2_group: - name: ansible - description: "Ansible Security Group" - region: "{{ aws_region }}" - vpc_id: "{{ my_vpc.vpc.id }}" - rules: - - proto: all - cidr_ip: 10.10.0.0/16 - - proto: all - group_name: ansible - rules_egress: - - proto: all - cidr_ip: 0.0.0.0/0 - register: firewall - - - name: Create an EC2 instance - ec2_instance: - key_name: "{{ keypair }}" - region: "{{ aws_region }}" - security_group: "{{ firewall.group_id }}" - instance_type: "{{ instance_type }}" - image_id: "{{ ami_id }}" - wait: yes - name: "{{ instance_name }}" - register: ec2 diff --git a/playbooks/infrastructure/azure_mysql_server.yml b/playbooks/infrastructure/azure_mysql_server.yml deleted file mode 100644 index 9b0c0e2..0000000 --- a/playbooks/infrastructure/azure_mysql_server.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -- hosts: localhost - tasks: - - name: Prepare random postfix - set_fact: - rpfx: "{{ 1000 | random }}" - run_once: yes - -- hosts: localhost - - vars: - resource_group: "{{ resource_group_name }}" - location: "{{ azure_region }}" - mysqlserver_name: mysql{{ rpfx }} - mysqldb_name: "{{ sqlserver_name }}" - admin_username: "{{ admin_user }}" - admin_password: "{{ admin_pw }}" - - collections: - - azure.azcollection - - tasks: - - - name: Create a resource group - azure_rm_resourcegroup: - name: "{{ resource_group }}" - location: "{{ location }}" - - - name: Create MySQL Server - azure_rm_mysqlserver: - resource_group: "{{ resource_group }}" - name: "{{ mysqlserver_name }}" - location: "{{ location }}" - version: 5.6 - enforce_ssl: True - admin_username: "{{ admin_username }}" - admin_password: "{{ admin_password }}" - storage_mb: 51200 - - - name: Create instance of MySQL Database - azure_rm_mysqldatabase: - resource_group: "{{ resource_group }}" - server_name: "{{ mysqlserver_name }}" - name: "{{ mysqldb_name }}" \ No newline at end of file diff --git a/playbooks/infrastructure/azure_provision_vm.yml b/playbooks/infrastructure/azure_provision_vm.yml deleted file mode 100644 index 0acfaed..0000000 --- a/playbooks/infrastructure/azure_provision_vm.yml +++ /dev/null @@ -1,68 +0,0 @@ -# Description -# =========== -# This playbook create an Azure VM with public IP, and open 22 port for SSH ---- -- name: Create Azure VM - hosts: localhost - connection: local - - vars: - resource_group: vmdemo - vm_name: testvm - location: eastus - collections: - - azure.azcollection - tasks: - - name: Create a resource group - azure_rm_resourcegroup: - - name: "{{ resource_group }}" - location: "{{ location }}" - - name: Create virtual network - azure_rm_virtualnetwork: - resource_group: "{{ resource_group }}" - name: "{{ vm_name }}" - address_prefixes: "10.0.0.0/16" - - name: Add subnet - azure_rm_subnet: - resource_group: "{{ resource_group }}" - name: "{{ vm_name }}" - address_prefix: "10.0.1.0/24" - virtual_network: "{{ vm_name }}" - - name: Create public IP address - azure_rm_publicipaddress: - resource_group: "{{ resource_group }}" - allocation_method: Static - name: "{{ vm_name }}" - - name: Create Network Security Group that allows SSH - azure_rm_securitygroup: - resource_group: "{{ resource_group }}" - name: "{{ vm_name }}" - rules: - - name: SSH - protocol: Tcp - destination_port_range: 22 - access: Allow - priority: 1001 - direction: Inbound - - name: Create virtual network inteface card - azure_rm_networkinterface: - resource_group: "{{ resource_group }}" - name: "{{ vm_name }}" - virtual_network: "{{ vm_name }}" - subnet: "{{ vm_name }}" - public_ip_name: "{{ vm_name }}" - security_group: "{{ vm_name }}" - - name: Create VM - azure_rm_virtualmachine: - resource_group: "{{ resource_group }}" - name: "{{ vm_name }}" - vm_size: Standard_DS1_v2 - admin_username: azureuser - admin_password: Password@123 - network_interfaces: "{{ vm_name }}" - image: - offer: RHEL - publisher: RedHat - sku: 7-LVM - version: latest diff --git a/playbooks/infrastructure/chocolatey_app_install.yml b/playbooks/infrastructure/chocolatey_app_install.yml deleted file mode 100644 index d8373e8..0000000 --- a/playbooks/infrastructure/chocolatey_app_install.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- name: install chocolatey package on Windows host - hosts: windows - - vars: - choco_packages: git - app_state: present - - collections: - - chocolatey.chocolatey - - tasks: - - - name: Install multiple packages - win_chocolatey: - name: "{{ choco_packages }}" - state: "{{ app_state }}" \ No newline at end of file diff --git a/playbooks/infrastructure/chocolatey_config.yml b/playbooks/infrastructure/chocolatey_config.yml deleted file mode 100644 index 6503c8f..0000000 --- a/playbooks/infrastructure/chocolatey_config.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- name: configuring Chocolatey - hosts: windows - - vars: - config_item: cacheLocation - state: present - value: C:\chocolatey_temp2 - - collections: - - chocolatey.chocolatey - tasks: - - - name: set configuration parameter - win_chocolatey_config: - name: "{{ config_item }}" - state: "{{ state }}" - value: "{{ value }}" \ No newline at end of file diff --git a/playbooks/infrastructure/chocolatey_features.yml b/playbooks/infrastructure/chocolatey_features.yml deleted file mode 100644 index 439f614..0000000 --- a/playbooks/infrastructure/chocolatey_features.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- name: enabling or disabling chocolatey features - hosts: windows - - vars: - feature: stopOnFirstPackageFailure - state: enabled - - collections: - - chocolatey.chocolatey - - tasks: - - - name: enable or disable Chocolatey features - win_chocolatey_feature: - name: "{{ feature }}" - state: "{{ state }}" \ No newline at end of file diff --git a/playbooks/infrastructure/debug_info.yml b/playbooks/infrastructure/debug_info.yml deleted file mode 100644 index c76ee31..0000000 --- a/playbooks/infrastructure/debug_info.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -- name: gather debug info - hosts: "{{ HOSTS | default('web') }}" - become: true - gather_facts: false - - tasks: - - name: Gather recent vmstat info - command: /bin/vmstat 1 5 - register: vmstat - - - name: Gather top CPU hogs - command: ps -eo user,pid,size,pcpu,cmd --sort=-pcpu - register: pscpu - - - name: Gather top memory hogs - command: ps -eo user,pid,size,pcpu,cmd --sort=-size - register: pssize - - - name: Swap + wait states - debug: - var: vmstat.stdout_lines - - - name: Top 3 CPU hogs - debug: - var: pscpu.stdout_lines[:4] - - - name: Top 3 memory hogs - debug: - var: pssize.stdout_lines[:4] diff --git a/playbooks/infrastructure/grant_sudo.yml b/playbooks/infrastructure/grant_sudo.yml deleted file mode 100644 index 24ebb02..0000000 --- a/playbooks/infrastructure/grant_sudo.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -- name: grant sudo - hosts: "{{ HOSTS | default('web') }}" - become: true - gather_facts: false - vars: - sudo_cleanup: true - - tasks: - - name: Check if sudo user exists on system - getent: - database: passwd - key: "{{ sudo_user }}" - - - name: create sudo rule - copy: - dest: "/etc/sudoers.d/{{ sudo_user }}" - owner: root - group: root - mode: 0640 - content: "{{ sudo_user }} ALL=(ALL) NOPASSWD:ALL" - - - name: install package - yum: - name: at - state: latest - - - name: start service - service: - name: atd - state: started - - - name: time based cleanup - at: - command: "rm /etc/sudoers.d/{{ sudo_user }}" - count: "{{ sudo_count | default('10') }}" - units: "{{ sudo_units | default('minutes') }}" - when: sudo_cleanup|bool diff --git a/playbooks/infrastructure/insights.yml b/playbooks/infrastructure/insights.yml deleted file mode 100644 index c53be9c..0000000 --- a/playbooks/infrastructure/insights.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -- name: install and configure insights agent on all specified nodes - hosts: "{{ HOSTS | default('web') }}" - tasks: - - include_role: - name: RedHatInsights.insights-client - vars: - redhat_portal_username: "{{ insights_user }}" - redhat_portal_password: "{{ insights_password }}" - insights_display_name: "{{ inventory_hostname }}" - when: ansible_os_family == 'RedHat' - - - name: print info to terminal window - debug: - msg: "Red Hat Insights is installed and configured for {{ inventory_hostname }}" diff --git a/playbooks/infrastructure/patching.yml b/playbooks/infrastructure/patching.yml deleted file mode 100644 index 556cfec..0000000 --- a/playbooks/infrastructure/patching.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -- name: apply non-kernel updates - hosts: "{{ HOSTS | default('web') }}" - become: true - gather_facts: false - - tasks: - - name: upgrade all packages except kernel - yum: - name: '*' - state: latest - exclude: kernel* - tags: all - - - name: upgrade all packages security related except kernel - yum: - name: '*' - state: latest - security: true - exclude: kernel* - tags: security diff --git a/playbooks/infrastructure/turn_off_community_grid.yml b/playbooks/infrastructure/turn_off_community_grid.yml deleted file mode 100644 index 41d636f..0000000 --- a/playbooks/infrastructure/turn_off_community_grid.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- name: turn off community-grid - hosts: "{{ HOSTS | default('web') }}" - gather_facts: false - become: yes - tasks: - - name: enable and start boinc-client - systemd: - name: boinc-client - state: stopped - enabled: false diff --git a/playbooks/infrastructure/windows_iis.yml b/playbooks/infrastructure/windows_iis.yml deleted file mode 100644 index 70034b8..0000000 --- a/playbooks/infrastructure/windows_iis.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -- name: install the iis web service - hosts: windows - - tasks: - - name: install iis - win_feature: - name: Web-Server - state: present - - - name: start iis service - win_service: - name: W3Svc - state: started - - - name: Create website index.html - win_copy: - content: "{{ iis_test_message }}" - dest: C:\Inetpub\wwwroot\index.html - - - name: Show website address - debug: - msg: http://{{ ansible_host }} diff --git a/playbooks/infrastructure/windows_regedit_legal_notice.yml b/playbooks/infrastructure/windows_regedit_legal_notice.yml deleted file mode 100644 index 2fa52fe..0000000 --- a/playbooks/infrastructure/windows_regedit_legal_notice.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- name: Edit legal notice on start up message - hosts: windows - gather_facts: False - - tasks: - - name: Updating Legal Notice Title - win_regedit: - path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System - name: legalnoticecaption - data: "{{ title_legal_notice }}" - - - name: Updating Legal Notice Text - win_regedit: - path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System - name: legalnoticetext - data: "{{ text_legal_notice }}" \ No newline at end of file diff --git a/playbooks/install_demo.yml b/playbooks/install_demo.yml deleted file mode 100644 index 6a77307..0000000 --- a/playbooks/install_demo.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- name: setup deploy application demo - hosts: localhost - gather_facts: false - connection: local - - tasks: - - - name: install demo - include_role: - name: "../roles/install_demo" diff --git a/playbooks/network/configlet_logging.yml b/playbooks/network/configlet_logging.yml deleted file mode 100644 index 2b05f24..0000000 --- a/playbooks/network/configlet_logging.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -- hosts: ios - gather_facts: no - - vars: - - log_servers: - - logging 10.10.10.10 - - logging 10.10.10.11 - - - tasks: - - - name: "GET CONFIG" - ios_command: - commands: - - show running-config full | include logging [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+ - register: log - - - name: RUN 'Set Logging' - ios_config: - commands: "{{ item }}" - loop: "{{ log_servers }}" - register: set_logging - - - debug: var=log.stdout_lines - - - name: RUN 'Remove Logging' - ios_config: - commands: "no {{ item }}" - when: "(log.stdout_lines[0][0] != '') and (item not in log_servers)" - loop: "{{ log.stdout_lines[0] }}" - register: remove_logging diff --git a/playbooks/network/configlet_ntp.yml b/playbooks/network/configlet_ntp.yml deleted file mode 100644 index 63f7f99..0000000 --- a/playbooks/network/configlet_ntp.yml +++ /dev/null @@ -1,37 +0,0 @@ ---- -- hosts: ios - gather_facts: no - - - vars: - - ntp_servers: - - ntp server 10.10.10.13 - - ntp server 10.10.10.14 - - - - tasks: - - - name: "GET CONFIG" - ios_command: - commands: - - "show running-config full | include ntp server" - register: get_config - - - debug: var=get_config.stdout_lines - - - name: RUN 'Set NTP' - with_items: "{{ ntp_servers }}" - ios_config: - lines: - - "{{ item }}" - register: set_ntp - - - name: RUN 'Remove NTP' - when: "(get_config.stdout_lines[0][0] != '') and (item not in ntp_servers)" - with_items: "{{ get_config.stdout_lines[0] }}" - register: remove_ntp - ios_config: - lines: - - "no {{ item }}" diff --git a/playbooks/network/configlet_vtyacl.yml b/playbooks/network/configlet_vtyacl.yml deleted file mode 100644 index d2db144..0000000 --- a/playbooks/network/configlet_vtyacl.yml +++ /dev/null @@ -1,60 +0,0 @@ ---- -- name: CORRECT VTY-ACL ON CISCO DEVICES - hosts: cisco - connection: network_cli - gather_facts: no - - tasks: - - - name: SAVE RUNNING-CONFIG TO NVRAM FOR RECOVERY IF NEEDED - ios_config: - save_when: always - - - name: Set the task_status var - set_fact: - task_status: "OK" - - - block: - - name: UPDATE VTY-ACL ACCESS LIST - ios_config: - parents: ip access-list extended VTY-ACL - lines: - - permit tcp host {{ hostvars['ansible-1'].ansible_host }} any eq 22 - - permit tcp 172.16.0.0 0.15.255.255 any eq 22 - - permit tcp 192.168.0.0 0.0.255.255 any eq 22 - - permit tcp 10.0.0.0 0.255.255.255 any eq 22 log-input - - deny ip any any log-input - match: exact - replace: block - before: - - line vty 0 15 - - NO access-class VTY-ACL in - - NO ip access-list extended VTY-ACL - after: - - line vty 0 15 - - access-class VTY-ACL in - - - name: CHECK IF SSH IS STILL ACCESSIABLE FROM NETWORK - wait_for: - host: "{{ inventory_hostname }}" - port: 22 - state: started - delay: 2 - timeout: 6 - ignore_errors: no - - - - name: SSH TEST SUCCESSFUL. SAVING RUNNING-CONFIG - ios_config: - save_when: always - - rescue: - - name: UPDATE FAILED. ROLLING BACK CONFIG - ios_command: - commands: - - configure replace nvram:startup-config force - - set_fact: - task_status: "ERROR" - - when: task_status == 'OK' - diff --git a/playbooks/security/hardening.yml b/playbooks/security/hardening.yml deleted file mode 100644 index 67f1392..0000000 --- a/playbooks/security/hardening.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -- name: harden linux systems - hosts: "{{ HOSTS | default('web') }}" - become: true - vars: - - harden_firewall: false - - harden_time: false - - harden_ssh: false - - harden_pci: false - - tasks: - - name: Configure Firewall - when: harden_firewall | bool - include_role: - name: linux-system-roles.firewall - - - name: Configure Timesync - when: harden_time | bool - include_role: - name: redhat.rhel_system_roles.timesync - - - name: SSH Hardening - when: harden_ssh | bool - include_role: - name: dev-sec.ssh-hardening - - # run with --skip-tags accounts_passwords_pam_faillock_deny - - name: Apply PCI Baseline - when: harden_pci | bool - include_role: - name: redhatofficial.rhel8_pci_dss diff --git a/playbooks/security/openscap.yml b/playbooks/security/openscap.yml deleted file mode 100644 index f061f39..0000000 --- a/playbooks/security/openscap.yml +++ /dev/null @@ -1,45 +0,0 @@ ---- -- name: build openscap report for rhel7 - hosts: web - gather_facts: false - - vars: - file_path: "/var/www/html/openscap/" - ssg_schema: "/usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml" - - tasks: - - name: make sure openscap-scanner and scap-security guide are installed - yum: - name: - - openscap-scanner - - scap-security-guide - state: present - - - name: Check if SCAP Security Guide (SSG) profile is available - stat: - path: "{{ssg_schema}}" - - - name: create HTML report - command: "oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard --results report.xml --report index.html {{ssg_schema}}" - register: command_result - failed_when: "'Error' in command_result.stderr" - - - name: Create directory if it does falset exist - become: true - file: - path: "{{file_path}}" - state: directory - - - name: move files into httpd - become: true - copy: - src: ./{{item}} - dest: "{{file_path}}/{{item}}" - remote_src: true - loop: - - report.xml - - index.html - - - name: DISPLAY LINK TO INVENTORY REPORT - debug: - msg: "Please go to http://{{ansible_host}}/openscap"