diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml deleted file mode 100644 index 0688be3..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -name: Cat Lady Membership Application -description: Tell us what qualifies you to be a registered cat fancier. -body: -- type: textarea - attributes: - label: Your favorite cat - placeholder: "Examples: Garfield, Maru, Mr. Mistoffolees" - validations: - required: true -- type: dropdown - attributes: - label: How many rooms in your house are dedicated to cats? - options: - - 1 - - 2 - - All of them -issue_body: false diff --git a/aap-on-crc/.github/linters/.markdown-lint.yml b/aap-on-crc/.github/linters/.markdown-lint.yml new file mode 100644 index 0000000..a0bc47d --- /dev/null +++ b/aap-on-crc/.github/linters/.markdown-lint.yml @@ -0,0 +1,6 @@ +{ + "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 new file mode 100644 index 0000000..592937a --- /dev/null +++ b/aap-on-crc/.github/workflows/linter.yml @@ -0,0 +1,50 @@ +--- +########################### +########################### +## 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 new file mode 100644 index 0000000..abf84e3 --- /dev/null +++ b/aap-on-crc/LICENSE @@ -0,0 +1,21 @@ +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 new file mode 100644 index 0000000..169c89a --- /dev/null +++ b/aap-on-crc/README.md @@ -0,0 +1,162 @@ +# 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 new file mode 100644 index 0000000..447474c Binary files /dev/null and b/aap-on-crc/images/aap_dash.png differ diff --git a/aap-on-crc/images/all_defaults.png b/aap-on-crc/images/all_defaults.png new file mode 100644 index 0000000..84b6a92 Binary files /dev/null and b/aap-on-crc/images/all_defaults.png differ diff --git a/aap-on-crc/images/choose_aap.png b/aap-on-crc/images/choose_aap.png new file mode 100644 index 0000000..64718cb Binary files /dev/null and b/aap-on-crc/images/choose_aap.png differ diff --git a/aap-on-crc/images/choose_operators.png b/aap-on-crc/images/choose_operators.png new file mode 100644 index 0000000..6e13d05 Binary files /dev/null and b/aap-on-crc/images/choose_operators.png differ diff --git a/aap-on-crc/images/click_install.png b/aap-on-crc/images/click_install.png new file mode 100644 index 0000000..2eb04e2 Binary files /dev/null and b/aap-on-crc/images/click_install.png differ diff --git a/aap-on-crc/images/click_instance.png b/aap-on-crc/images/click_instance.png new file mode 100644 index 0000000..19fbf3d Binary files /dev/null and b/aap-on-crc/images/click_instance.png differ diff --git a/aap-on-crc/images/crc_login.png b/aap-on-crc/images/crc_login.png new file mode 100644 index 0000000..34b0efe Binary files /dev/null and b/aap-on-crc/images/crc_login.png differ diff --git a/aap-on-crc/images/create-example.png b/aap-on-crc/images/create-example.png new file mode 100644 index 0000000..7ee3d91 Binary files /dev/null and b/aap-on-crc/images/create-example.png differ diff --git a/aap-on-crc/images/create_controller.png b/aap-on-crc/images/create_controller.png new file mode 100644 index 0000000..d260639 Binary files /dev/null and b/aap-on-crc/images/create_controller.png differ diff --git a/aap-on-crc/images/instance.png b/aap-on-crc/images/instance.png new file mode 100644 index 0000000..bee400e Binary files /dev/null and b/aap-on-crc/images/instance.png differ diff --git a/aap-on-crc/images/login_aap.png b/aap-on-crc/images/login_aap.png new file mode 100644 index 0000000..67f1845 Binary files /dev/null and b/aap-on-crc/images/login_aap.png differ diff --git a/aap-on-crc/images/podfailure.png b/aap-on-crc/images/podfailure.png new file mode 100644 index 0000000..3b79d01 Binary files /dev/null and b/aap-on-crc/images/podfailure.png differ diff --git a/aap-on-crc/images/pull_secret.png b/aap-on-crc/images/pull_secret.png new file mode 100644 index 0000000..813aa20 Binary files /dev/null and b/aap-on-crc/images/pull_secret.png differ diff --git a/aap-on-crc/images/resources.png b/aap-on-crc/images/resources.png new file mode 100644 index 0000000..75e7d83 Binary files /dev/null and b/aap-on-crc/images/resources.png differ diff --git a/aap-on-crc/images/resources2.png b/aap-on-crc/images/resources2.png new file mode 100644 index 0000000..b688fd1 Binary files /dev/null and b/aap-on-crc/images/resources2.png differ diff --git a/aap-on-crc/images/select_sub.png b/aap-on-crc/images/select_sub.png new file mode 100644 index 0000000..ac3d886 Binary files /dev/null and b/aap-on-crc/images/select_sub.png differ diff --git a/aap-on-crc/images/spec_update.png b/aap-on-crc/images/spec_update.png new file mode 100644 index 0000000..b1bc2db Binary files /dev/null and b/aap-on-crc/images/spec_update.png differ diff --git a/aap-on-crc/images/subscription.png b/aap-on-crc/images/subscription.png new file mode 100644 index 0000000..8444c48 Binary files /dev/null and b/aap-on-crc/images/subscription.png differ diff --git a/aap-on-crc/images/view_oper.png b/aap-on-crc/images/view_oper.png new file mode 100644 index 0000000..60be825 Binary files /dev/null and b/aap-on-crc/images/view_oper.png differ diff --git a/choose_demo.yml b/choose_demo.yml deleted file mode 100644 index 2e8be82..0000000 --- a/choose_demo.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -## example file for how to choose a demo -## chose specific demo or choose all - -# SPECIFIC - example that installs just the deploy_application job template -demo: developer_report - -# ALL - example that installs all demos -# demo: all - -## Ansible Tower login infomation -my_tower_username: colin -my_tower_password: mahalo -my_tower_host: test.rhdemo.io -workshop_type: rhel - -# leave as comments unless you are deploying an public cloud Demo. Possible values are aws or azure -public_cloud: none -#only uncomment these and supply values for setting up an Azure Cloud Demo which means public_cloud: azure above -#these value below are fake sample values only -#my_subscription: bb66f723-9eb9-405b-7889-2e722a5a5a45 -#my_tenant: bbe51e50-8759-5cc6-93f7-71985d8dbddf -#my_client: 7e7d5fd3-c84b-b64c-ae96-cf474f4aa573 -#my_secret: K1S5~EqpmvG68i8ni9-b1hmn3~yROfHM_I -#only uncomment these and supply values for setting up an AWS Cloud Demo which means public_cloud: aws above -#these value below are fake sample values only -#my_access_key: kwjewk4h54jker -#my_secret_key: wnwrl4nwwrh6srwo4rwher4 - diff --git a/choose_demo_example_aws.yml b/choose_demo_example_aws.yml deleted file mode 100644 index 8d1e8c1..0000000 --- a/choose_demo_example_aws.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -## example file for how to choose a demo -## chose specific demo or choose all - -# SPECIFIC - example that installs just the deploy_application job template -demo: aws_provision_vm - -# ALL - example that installs all demos -# demo: all - -## Ansible Tower login infomation -my_tower_username: student1 -my_tower_password: TnSynS1Re31ZAF -my_tower_host: student1.cb8b.open.redhat.com -workshop_type: windows - -# leave as comments unless you are deploying an public cloud Demo -public_cloud: aws -#only uncomment these and supply values for setting up an Azure Cloud Demo which means public_cloud: azure above -#these value below are fake sample values only -#my_subscription: bb66f723-9eb9-405b-7889-2e722a5a5a45 -#my_tenant: bbe51e50-8759-5cc6-93f7-71985d8dbddf -#my_client: 7e7d5fd3-c84b-b64c-ae96-cf474f4aa573 -#my_secret: K1S5~EqpmvG68i8ni9-b1hmn3~yROfHM_I -#only uncomment these and supply values for setting up an AWS Cloud Demo which means public_cloud: aws above -#these value below are fake sample values only -my_access_key: 345IAJUNULTMIXFDSDFGF -my_secret_key: 567BqE+YAH7DFG4RGSSDFG5SGDFGSDGF4 - - - - - diff --git a/choose_demo_example_azure.yml b/choose_demo_example_azure.yml deleted file mode 100644 index d4b90ed..0000000 --- a/choose_demo_example_azure.yml +++ /dev/null @@ -1,32 +0,0 @@ ---- -## example file for how to choose a demo -## chose specific demo or choose all - -# SPECIFIC - example that installs just the deploy_application job template -demo: azure_provision_vm - -# ALL - example that installs all demos -# demo: all - -## Ansible Tower login infomation -my_tower_username: drojas -my_tower_password: zapata -my_tower_host: test.rhdemo.io -workshop_type: windows - -# leave as comments unless you are deploying an public cloud Demo. Possible values are aws or azure -public_cloud: azure -#only uncomment these and supply values for setting up an Azure Cloud Demo which means public_cloud: azure above -#these value below are fake sample values only -my_subscription: bb66f723-9eb9-405b-7889-2e722a5a5a45 -my_tenant: bbe51e50-8759-5cc6-93f7-71985d8dbddf -my_client: 7e7d5fd3-c84b-b64c-ae96-cf474f4aa573 -my_secret: K1S5~EqpmvG68i8ni9-b1hmn3~yROfHM_I -#only uncomment these and supply values for setting up an AWS Cloud Demo which means public_cloud: aws above -#these value below are fake sample values only -#my_access_key: kwjewk4h54jker -#my_secret_key: wnwrl4nwwrh6srwo4rwher4 - - - - diff --git a/docs/features.md b/docs/features.md deleted file mode 100644 index 1a9fc09..0000000 --- a/docs/features.md +++ /dev/null @@ -1,41 +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 indidivuals 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 -
- 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 -
diff --git a/old-demo-repository/README.md b/old-demo-repository/README.md new file mode 100644 index 0000000..cc1ff7e --- /dev/null +++ b/old-demo-repository/README.md @@ -0,0 +1,268 @@ +# Official Ansible Product Demos + +This repo currently under construction and working on a minimal viable demo for testing purposes + +# Table of contents + + * [How to use](#how-to-use) + * [1. Provide login information and choose demo](#1-provide-login-information-and-choose-demo) + * [2. Run Ansible Playbook](#2-run-ansible-playbook) + * [Demo Repository](#demo-repository) + * [Infrastructure Demos](#infrastructure-demos) + * [Network Demos](#network-demos) + * [Security Demos](#security-demos) + * [Developer Demos](#developer-demos) + * [Contribute](#contribute) + * [Notes](#notes) + +# How to use + +## 1. Provide login information and choose demo + + - Modify the `choose_demo.yml` file that is included in this repo with the username, password and IP address (or DNS name) of your Ansible Tower + - Choose the demo name you want from the table below (or choose `all`) + +## 2. Run Ansible Playbook + +``` +ansible-playbook playbooks/install_demo.yml -e @choose_demo.yml +``` + +# Demo Repository + +This repository currently holds 21 demos. + +## Infrastructure Demos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Demo NameAuthorinstall_demo.yml valueDescriptionVideo WalkthroughWorkshop Types
INFRASTRUCTURE / Azure create a MySQL ServerDavid Rojas
demo: azure_mysql_server
Provision MySQL server on Azure with Ansible Tower Survey and Environmental variablesNot available
  • windows
  • demo
INFRASTRUCTURE / Azure Provision VMDavid Rojas
demo: azure_provision_vm
Provision RHEL VM on Azure with Ansible Tower Survey and Environmental variablesNot available
  • windows
  • demo
INFRASTRUCTURE / Chocolatey App InstallDavid Rojas
demo: chocolatey_app_install
Install various application packages using Chocolatey from a surveyNot available
  • windows
  • demo
INFRASTRUCTURE / Chocolatey ConfigDavid Rojas
demo: chocolatey_config
Configure Chocolatey parameters that require not just enabling but adding valuesNot available
  • windows
  • demo
INFRASTRUCTURE / Chocolatey Features ConfigDavid Rojas
demo: chocolatey_features
Enable or disable various Chocolatey featuresNot available
  • windows
  • demo
INFRASTRUCTURE / Deploy ApplicationSean Cavanaugh
demo: deploy_application
install yum applications on Linux with a surveyVideo Link
  • f5
  • rhel
  • rhel_90
  • demo
INFRASTRUCTURE / Fact ScanWill Tome
demo: fact_scan
scan facts for Linux and Windows systemsNot available
  • f5
  • rhel
  • windows
  • rhel_90
  • demo
INFRASTRUCTURE / Gather Debug InfoWill Tome
demo: debug_info
provide info for memory and CPU usage for specified systemsNot available
  • f5
  • rhel
  • rhel_90
  • demo
INFRASTRUCTURE / Grant SudoWill Tome
demo: grant_sudo
grant sudo privledges for specified time via surveyNot available
  • f5
  • rhel
  • rhel_90
  • demo
INFRASTRUCTURE / PatchingWill Tome
demo: patching
patching for Linux serversNot available
  • f5
  • rhel
  • rhel_90
  • demo
INFRASTRUCTURE / Red Hat InsightsSean Cavanaugh
demo: insights
install and configure Red Hat InsightsNot available
  • f5
  • rhel
  • rhel_90
  • demo
INFRASTRUCTURE / Security PatchingWill Tome
demo: security_patching
upgrade all yum packages for security related except kernelNot available
  • f5
  • rhel
  • rhel_90
  • demo
INFRASTRUCTURE / Turn off IBM Community GridSean Cavanaugh
demo: turn_off_community_grid
this role turns off IBM Community Grid boinc-clientNot available
  • f5
  • rhel
  • rhel_90
  • demo
INFRASTRUCTURE / Windows regedit legal noticeDavid Rojas
demo: windows_regedit_legal_notice
using regedit modify the legal noticeNot available
  • windows
  • demo
SERVER / Windows IIS ServerColin McNaughton
demo: windows_iis
install webserver on Windows Server with a surveyNot available
  • windows
  • demo
+ +## Network Demos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Demo NameAuthorinstall_demo.yml valueDescriptionVideo WalkthroughWorkshop Types
Cisco IOS logging config audit/remediationColin McCarthy
demo: configlet_logging
Cisco IOS logging config audit/remediationNot available
  • network
  • demo
Cisco IOS ntp config audit/remediationColin McCarthy
demo: configlet_ntp
Cisco IOS ntp config audit/remediationNot available
  • network
  • demo
NETWORK / WORKFLOW - F5 BIG-IPSean Cavanaugh
demo: f5_bigip_workflow
Workflow for F5 BIG-IP to setup a VIP (Virtual IP) load balancer between two RHEL webserversNot available
  • f5
  • demo
+ +## Security Demos + + + + + + + + + + + + + + + + + + + + + + + + + + +
Demo NameAuthorinstall_demo.yml valueDescriptionVideo WalkthroughWorkshop Types
SECURITY / Create Openscap ReportSean Cavanaugh
demo: openscap
Create HTML report using SCAP Security Guide (SSG)Not available
  • f5
  • rhel
  • rhel_90
  • demo
SECURITY / HardeningWill Tome
demo: hardening
hardening for Linux serversNot available
  • f5
  • rhel
  • rhel_90
  • demo
+ +## Developer Demos + + + + + + + + + + + + + + + + + + +
Demo NameAuthorinstall_demo.yml valueDescriptionVideo WalkthroughWorkshop Types
DEVELOPER / Create Developer ReportSean Cavanaugh
demo: developer_report
'Create HTML report using Ansible facts' +Not available
  • f5
  • rhel
  • rhel_90
  • demo
+ + +# 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 **colin** on **2020-12-09** with Ansible version **2.9.13.post0** + +To generate a README.md, execute the following command + +``` +ansible-playbook playbooks/generate_readme.yml +``` diff --git a/docs/contribute.md b/old-demo-repository/docs/contribute.md similarity index 97% rename from docs/contribute.md rename to old-demo-repository/docs/contribute.md index 13e784b..37a020a 100644 --- a/docs/contribute.md +++ b/old-demo-repository/docs/contribute.md @@ -2,7 +2,7 @@ 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. +## 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. @@ -14,11 +14,12 @@ You need **three** major components to get a demo accepted 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. @@ -37,7 +38,7 @@ In the demo var file above you will notice a `playbook` line. For example in the 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" @@ -48,18 +49,17 @@ project: 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 +## 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). @@ -69,8 +69,9 @@ The Workflow schema can be automated by using the [tower_workflow_template](http 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 +## 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 new file mode 100644 index 0000000..3292389 --- /dev/null +++ b/old-demo-repository/docs/features.md @@ -0,0 +1,6 @@ +# 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/docs/infrastructure/aws_provision_vm.md b/old-demo-repository/docs/infrastructure/aws_provision_vm.md similarity index 80% rename from docs/infrastructure/aws_provision_vm.md rename to old-demo-repository/docs/infrastructure/aws_provision_vm.md index 4a58252..5c34213 100644 --- a/docs/infrastructure/aws_provision_vm.md +++ b/old-demo-repository/docs/infrastructure/aws_provision_vm.md @@ -4,17 +4,20 @@ ## 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) +- [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 +## Objective Demostrate how anisble can be used to provision a RHEL VM in AWS -# What business problem is solved? +## What business problem is solved? - **speed to market**: reducing human time to provision VMs @@ -23,48 +26,48 @@ 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 -# Features show cased - -- Push button cloud provisioning +- 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 +## Video Coming Soon -# Installing Demo +## 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: + +- public_cloud: aws +- my_access_key: +- my_secret_key: See sample file named choose_demo_example_aws.yml -# Guide +## Guide 1. Login to Ansible Platform UX 2. Navigate to **Templates** - ![job templates](../../images/templates.png) + ![job templates](../images/templates.png) 3. Click the rocket next to **INFRASTRUCTURE / AWS Provision VM** to launch the Job - ![rocket launch](../../images/rocket.png) + ![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. +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) + ![survey choice](../images/aws_provision_vm/aws_provision_vm_survey.jpeg) -5. Enter values and press **NEXT** +5. Enter values and press **NEXT** - ![survey preview](../../images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg) + ![survey preview](../images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg) Explain to audience what is happening here depending on audience persona @@ -89,18 +92,16 @@ Coming Soon - 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) + ![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. + 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) +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) - - + ![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/docs/infrastructure/azure_mysql_server.md b/old-demo-repository/docs/infrastructure/azure_mysql_server.md similarity index 81% rename from docs/infrastructure/azure_mysql_server.md rename to old-demo-repository/docs/infrastructure/azure_mysql_server.md index 81104b3..78424e1 100644 --- a/docs/infrastructure/azure_mysql_server.md +++ b/old-demo-repository/docs/infrastructure/azure_mysql_server.md @@ -4,17 +4,20 @@ ## 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) +- [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 +## Objective Demostrate how anisble can be used to provision a MySQL server and Database in the Azure Cloud -# What business problem is solved? +## What business problem is solved? - **speed to market**: reducing human time to provision a database @@ -23,50 +26,50 @@ 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 -# Features show cased - -- Push button cloud provisioning +- 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 +## Video Coming Soon -# Installing Demo +## 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: + +- public_cloud: azure +- my_subscription: +- my_tenant: +- my_client: +- my_secret: See sample file named choose_demo_example_azure.yml -# Guide +## Guide 1. Login to Ansible Platform UX 2. Navigate to **Templates** - ![job templates](../../images/templates.png) + ![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) + ![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. +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) + ![survey choice](../images/azure_mysql_server/azure_mysql_survey.jpeg) -5. Enter values and press **NEXT** +5. Enter values and press **NEXT** - ![survey preview](../../images/azure_mysql_server/azure_mysql_survey_preview.jpeg) + ![survey preview](../images/azure_mysql_server/azure_mysql_survey_preview.jpeg) Explain to audience what is happening here depending on audience persona @@ -91,13 +94,11 @@ Coming Soon - 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) + ![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 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/docs/infrastructure/azure_provision_vm.md b/old-demo-repository/docs/infrastructure/azure_provision_vm.md similarity index 71% rename from docs/infrastructure/azure_provision_vm.md rename to old-demo-repository/docs/infrastructure/azure_provision_vm.md index 3810964..9f0e6dc 100644 --- a/docs/infrastructure/azure_provision_vm.md +++ b/old-demo-repository/docs/infrastructure/azure_provision_vm.md @@ -4,17 +4,19 @@ ## 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) +- [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 +## Objective Demostrate how anisble can be used to provision a RHEL VM in the Azure Cloud -# What business problem is solved? +## What business problem is solved? - **speed to market**: reducing human time to provision VMs @@ -23,81 +25,75 @@ 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 -# Features show cased - -- Push button cloud provisioning +- 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 +## 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: + +- public_cloud: azure +- my_subscription: +- my_tenant: +- my_client: +- my_secret: See sample file named choose_demo_example_azure.yml -# Guide +## Guide 1. Login to Ansible Platform UX 2. Navigate to **Templates** - ![job templates](../../images/templates.png) + ![job templates](../images/templates.png) -3. Click the rocket next to **INFRASTRUCTURE / Chocolatey App Install** to launch the Job +3. Click the rocket next to **INFRASTRUCTURE / Chocolatey App Install*- to launch the Job - ![rocket launch](../../images/rocket.png) + ![rocket launch](../images/rocket.png) -4. The survey will prompt you to define the resource group, Azure region, name of the new VM. +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) + ![survey choice](../images/azure_provision_vm/azure_provision_vm_survey.jpeg) -5. Enter values and press **NEXT** +5. Enter values and press **NEXT** - ![survey preview](../../images/azure_provision_vm/azure_provision_vm_survey_preview.jpeg) + ![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. + 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 +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 + - 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) + - **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 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/docs/infrastructure/chocolatey_app_install.md b/old-demo-repository/docs/infrastructure/chocolatey_app_install.md similarity index 75% rename from docs/infrastructure/chocolatey_app_install.md rename to old-demo-repository/docs/infrastructure/chocolatey_app_install.md index 63f63a1..eb98380 100644 --- a/docs/infrastructure/chocolatey_app_install.md +++ b/old-demo-repository/docs/infrastructure/chocolatey_app_install.md @@ -4,61 +4,47 @@ ## 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) +- [Demo: Chocolatey App Install](#demo-chocolatey-app-install) + - [Table of Contents](#table-of-contents) + - [Features show cased](#features-show-cased) + - [Video](#video) + - [Guide](#guide) -# Objective - -Demostrate how anisble along with Chocolatey can install applciation packages to Windows nodes - -# What business problem is solved? - -- **speed to market**: -reducing human time to install Windows 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 create a self service option to deploy software. - - -# Features show cased +## 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 +## Video [Chocolatey Install App Packages Video Demo](https://www.youtube.com/watch?v=6OIgqaMBnfU&list=PLdu06OJoEf2bnEaWYY0DXF90KkyqjVqOF) -# Guide +## Guide 1. Login to Ansible Platform UX 2. Navigate to **Templates** - ![job templates](../../images/templates.png) + ![job templates](../images/templates.png) 3. Click the rocket next to **INFRASTRUCTURE / Chocolatey App Install** to launch the Job - ![rocket launch](../../images/rocket.png) + ![rocket launch](../images/rocket.png) -4. The survey will prompt you to install or remove a package. +4. The survey will prompt you to install or remove a package. - ![survey choice](../../images/choco_app_install/choco_survey.jpeg) + ![survey choice](../images/choco_app_install/choco_survey.jpeg) -5. Choose a package or packages and press **NEXT** +5. Choose a package or packages and press **NEXT** - ![survey preview](../../images/choco_app_install/choco_survey_preview.jpeg) + ![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** + 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. @@ -78,13 +64,11 @@ For description of these and other features of the Red Hat Ansible Automation Pl - 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) + ![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 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/docs/infrastructure/chocolatey_config.md b/old-demo-repository/docs/infrastructure/chocolatey_config.md similarity index 81% rename from docs/infrastructure/chocolatey_config.md rename to old-demo-repository/docs/infrastructure/chocolatey_config.md index 842b552..492d937 100644 --- a/docs/infrastructure/chocolatey_config.md +++ b/old-demo-repository/docs/infrastructure/chocolatey_config.md @@ -4,63 +4,57 @@ ## 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) +- [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 +## 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? +## 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 +## 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) -# Video - -Coming Soon - -# Guide +## Guide 1. Login to Ansible Platform UX 2. Navigate to **Templates** - ![job templates](../../images/templates.png) + ![job templates](../images/templates.png) 3. Click the rocket next to **INFRASTRUCTURE / Chocolatey Features Config** to launch the Job - ![rocket launch](../../images/rocket.png) + ![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. +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) + ![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** +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** interger value. 0 is infinite, 2700 is default, recomendation is 14400 + - **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) + ![survey preview](../images/choco_config/choco_config_survey_preview.jpeg) Explain to audience what is happening here depending on audience persona @@ -85,13 +79,11 @@ Coming Soon - 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) + ![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 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/docs/infrastructure/chocolatey_features.md b/old-demo-repository/docs/infrastructure/chocolatey_features.md similarity index 82% rename from docs/infrastructure/chocolatey_features.md rename to old-demo-repository/docs/infrastructure/chocolatey_features.md index 253b710..94ee873 100644 --- a/docs/infrastructure/chocolatey_features.md +++ b/old-demo-repository/docs/infrastructure/chocolatey_features.md @@ -4,61 +4,55 @@ ## 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) +- [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 +## Objective Demostrate how Anisble can be used to enable or disable features in Chocolatey -# What business problem is solved? +## 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 +## 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) -# Video - -Coming Soon - -# Guide +## Guide 1. Login to Ansible Platform UX 2. Navigate to **Templates** - ![job templates](../../images/templates.png) + ![job templates](../images/templates.png) 3. Click the rocket next to **INFRASTRUCTURE / Chocolatey Features Config** to launch the Job - ![rocket launch](../../images/rocket.png) + ![rocket launch](../images/rocket.png) -4. The survey will prompt you for what feature to enable or disable. +4. The survey will prompt you for what feature to enable or disable. - ![survey choice](../../images/choco_features/choco_features_survey.jpeg) + ![survey choice](../images/choco_features/choco_features_survey.jpeg) -5. Choose a feature and press **NEXT** +5. Choose a feature and press **NEXT** - ![survey preview](../../images/choco_features/choco_features_survey_preview.jpeg) + ![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** + 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. @@ -78,13 +72,11 @@ Coming Soon - 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) + ![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 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/docs/infrastructure/deploy_application.md b/old-demo-repository/docs/infrastructure/deploy_application.md similarity index 84% rename from docs/infrastructure/deploy_application.md rename to old-demo-repository/docs/infrastructure/deploy_application.md index eeaae4e..1cc42f5 100644 --- a/docs/infrastructure/deploy_application.md +++ b/old-demo-repository/docs/infrastructure/deploy_application.md @@ -4,17 +4,19 @@ ## 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) +- [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 +## Objective Demonstrate application deployment for Linux systems. This demonstration will install applications on multiple RHEL servers. -# What business problem is solved? +## What business problem is solved? - **speed to market**: reducing human time to install applications @@ -32,29 +34,29 @@ Ansible creates guard rails on which applications can be deployed and how they a For description of these and other features of the Red Hat Ansible Automation Platform please refer to the [features README](../features.md) -# Video +## Video [Watch here](https://youtu.be/pU8ZgSBuEJw) -# Guide +## Guide 1. Login to Ansible Platform UX 2. Navigate to **Templates** - ![job templates](../../images/templates.png) + ![job templates](../images/templates.png) 3. Click the rocket next to **INFRASTRUCTURE / Deploy Application** to launch the Job - ![rocket launch](../../images/rocket.png) + ![rocket launch](../images/rocket.png) -4. The survey will prompt you to install an application. +4. The survey will prompt you to install an application. - ![survey choice](../../images/deploy_application_survey.png) + ![survey choice](../images/deploy_application_survey.png) -5. Choose an application and press **NEXT** +5. Choose an application and press **NEXT** - ![survey preview](../../images/survey_preview.png) + ![survey preview](../images/survey_preview.png) Explain to audience what is happening here depending on audience persona @@ -79,13 +81,11 @@ For description of these and other features of the Red Hat Ansible Automation Pl - 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) + ![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/docs/infrastructure/windows_regedit_legal_notice.md b/old-demo-repository/docs/infrastructure/windows_regedit_legal_notice.md similarity index 81% rename from docs/infrastructure/windows_regedit_legal_notice.md rename to old-demo-repository/docs/infrastructure/windows_regedit_legal_notice.md index efc0401..d49990b 100644 --- a/docs/infrastructure/windows_regedit_legal_notice.md +++ b/old-demo-repository/docs/infrastructure/windows_regedit_legal_notice.md @@ -4,17 +4,19 @@ ## 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) +- [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 +## 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. +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? +## What business problem is solved? - **speed to production**: reducing human time to make large scale changes across an enterprise @@ -23,42 +25,41 @@ 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 +## 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 +## Video [Windows Regedit Legal Notice Video Demo](https://www.youtube.com/watch?v=L_S74rdLat8&list=PLdu06OJoEf2bnEaWYY0DXF90KkyqjVqOF&index=2) -# Guide +## Guide 1. Login to Ansible Platform UX 2. Navigate to **Templates** - ![job templates](../../images/templates.png) + ![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) + ![rocket launch](../images/rocket.png) -4. The survey will prompt you for the title and text of the legal notice. +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) + ![survey choice](../images/windows_regedit_legal_notice/windows_regedit_legal_survey.jpeg) -5. Type in the Tile and Text and press **NEXT** +5. Type in the Tile and Text and press **NEXT** - ![survey preview](../../images/windows_regedit_legal_notice/windows_regedit_legal_survey_preview.jpeg) + ![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. + 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. @@ -78,17 +79,17 @@ For description of these and other features of the Red Hat Ansible Automation Pl - 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) + ![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. + 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) + ![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. diff --git a/docs/network/configlet_vtyacl.md b/old-demo-repository/docs/network/configlet_vtyacl.md similarity index 83% rename from docs/network/configlet_vtyacl.md rename to old-demo-repository/docs/network/configlet_vtyacl.md index 0d510d2..37765a6 100644 --- a/docs/network/configlet_vtyacl.md +++ b/old-demo-repository/docs/network/configlet_vtyacl.md @@ -4,17 +4,18 @@ ## 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) +- [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 +## Objective Demonstrate managing the VTY ACL on a Cisco router. -# What business problem is solved? +## What business problem is solved? - **speed to market**: Reduce the time needed to make changes to Cisco configs. @@ -25,15 +26,13 @@ Allows one Network Engineer to update multiple devices at once. Automate and te - **enforce policy**: Ansible ensures every device has the same config. -# Features show cased +## 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 +## Guide 1. Verify rtr1 config @@ -49,9 +48,8 @@ For description of these and other features of the Red Hat Ansible Automation Pl ![rocket launch](../../images/rocket.png) -5. The job will launch and update the VTY ACL on rtr1. +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. @@ -59,19 +57,14 @@ For description of these and other features of the Red Hat Ansible Automation Pl - **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: + - **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/galaxy.yml b/old-demo-repository/galaxy.yml similarity index 100% rename from galaxy.yml rename to old-demo-repository/galaxy.yml diff --git a/images/aws_provision_vm/aws_provision_vm_survey.jpeg b/old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey.jpeg similarity index 100% rename from images/aws_provision_vm/aws_provision_vm_survey.jpeg rename to old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey.jpeg diff --git a/images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg b/old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg similarity index 100% rename from images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg rename to old-demo-repository/images/aws_provision_vm/aws_provision_vm_survey_preview.jpeg diff --git a/images/aws_provision_vm/aws_provision_vm_task_output.jpeg b/old-demo-repository/images/aws_provision_vm/aws_provision_vm_task_output.jpeg similarity index 100% rename from images/aws_provision_vm/aws_provision_vm_task_output.jpeg rename to old-demo-repository/images/aws_provision_vm/aws_provision_vm_task_output.jpeg diff --git a/images/aws_provision_vm/aws_provision_vm_verify_ec2.jpeg b/old-demo-repository/images/aws_provision_vm/aws_provision_vm_verify_ec2.jpeg similarity index 100% rename from images/aws_provision_vm/aws_provision_vm_verify_ec2.jpeg rename to old-demo-repository/images/aws_provision_vm/aws_provision_vm_verify_ec2.jpeg diff --git a/images/azure_mysql_server/azure_mysql_survey.jpeg b/old-demo-repository/images/azure_mysql_server/azure_mysql_survey.jpeg similarity index 100% rename from images/azure_mysql_server/azure_mysql_survey.jpeg rename to old-demo-repository/images/azure_mysql_server/azure_mysql_survey.jpeg diff --git a/images/azure_mysql_server/azure_mysql_survey_preview.jpeg b/old-demo-repository/images/azure_mysql_server/azure_mysql_survey_preview.jpeg similarity index 100% rename from images/azure_mysql_server/azure_mysql_survey_preview.jpeg rename to old-demo-repository/images/azure_mysql_server/azure_mysql_survey_preview.jpeg diff --git a/images/azure_mysql_server/azure_mysql_task_output.jpeg b/old-demo-repository/images/azure_mysql_server/azure_mysql_task_output.jpeg similarity index 100% rename from images/azure_mysql_server/azure_mysql_task_output.jpeg rename to old-demo-repository/images/azure_mysql_server/azure_mysql_task_output.jpeg diff --git a/images/azure_provision_vm/azure_provision_vm_survey.jpeg b/old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey.jpeg similarity index 100% rename from images/azure_provision_vm/azure_provision_vm_survey.jpeg rename to old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey.jpeg diff --git a/images/azure_provision_vm/azure_provision_vm_survey_preview.jpeg b/old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey_preview.jpeg similarity index 100% rename from images/azure_provision_vm/azure_provision_vm_survey_preview.jpeg rename to old-demo-repository/images/azure_provision_vm/azure_provision_vm_survey_preview.jpeg diff --git a/images/azure_provision_vm/azure_provision_vm_task_output.jpeg b/old-demo-repository/images/azure_provision_vm/azure_provision_vm_task_output.jpeg similarity index 100% rename from images/azure_provision_vm/azure_provision_vm_task_output.jpeg rename to old-demo-repository/images/azure_provision_vm/azure_provision_vm_task_output.jpeg diff --git a/images/choco_app_install/choco_survey.jpeg b/old-demo-repository/images/choco_app_install/choco_survey.jpeg similarity index 100% rename from images/choco_app_install/choco_survey.jpeg rename to old-demo-repository/images/choco_app_install/choco_survey.jpeg diff --git a/images/choco_app_install/choco_survey_preview.jpeg b/old-demo-repository/images/choco_app_install/choco_survey_preview.jpeg similarity index 100% rename from images/choco_app_install/choco_survey_preview.jpeg rename to old-demo-repository/images/choco_app_install/choco_survey_preview.jpeg diff --git a/images/choco_app_install/choco_task_output.jpeg b/old-demo-repository/images/choco_app_install/choco_task_output.jpeg similarity index 100% rename from images/choco_app_install/choco_task_output.jpeg rename to old-demo-repository/images/choco_app_install/choco_task_output.jpeg diff --git a/images/choco_config/choco_config_survey.jpeg b/old-demo-repository/images/choco_config/choco_config_survey.jpeg similarity index 100% rename from images/choco_config/choco_config_survey.jpeg rename to old-demo-repository/images/choco_config/choco_config_survey.jpeg diff --git a/images/choco_config/choco_config_survey_preview.jpeg b/old-demo-repository/images/choco_config/choco_config_survey_preview.jpeg similarity index 100% rename from images/choco_config/choco_config_survey_preview.jpeg rename to old-demo-repository/images/choco_config/choco_config_survey_preview.jpeg diff --git a/images/choco_config/choco_config_task_output.jpeg b/old-demo-repository/images/choco_config/choco_config_task_output.jpeg similarity index 100% rename from images/choco_config/choco_config_task_output.jpeg rename to old-demo-repository/images/choco_config/choco_config_task_output.jpeg diff --git a/images/choco_features/choco_features_survey.jpeg b/old-demo-repository/images/choco_features/choco_features_survey.jpeg similarity index 100% rename from images/choco_features/choco_features_survey.jpeg rename to old-demo-repository/images/choco_features/choco_features_survey.jpeg diff --git a/images/choco_features/choco_features_survey_preview.jpeg b/old-demo-repository/images/choco_features/choco_features_survey_preview.jpeg similarity index 100% rename from images/choco_features/choco_features_survey_preview.jpeg rename to old-demo-repository/images/choco_features/choco_features_survey_preview.jpeg diff --git a/images/choco_features/choco_features_task_output.jpeg b/old-demo-repository/images/choco_features/choco_features_task_output.jpeg similarity index 100% rename from images/choco_features/choco_features_task_output.jpeg rename to old-demo-repository/images/choco_features/choco_features_task_output.jpeg diff --git a/images/deploy_application_survey.png b/old-demo-repository/images/deploy_application_survey.png similarity index 100% rename from images/deploy_application_survey.png rename to old-demo-repository/images/deploy_application_survey.png diff --git a/images/platform_task_breakdown.png b/old-demo-repository/images/platform_task_breakdown.png similarity index 100% rename from images/platform_task_breakdown.png rename to old-demo-repository/images/platform_task_breakdown.png diff --git a/images/rocket.png b/old-demo-repository/images/rocket.png similarity index 100% rename from images/rocket.png rename to old-demo-repository/images/rocket.png diff --git a/images/survey_preview.png b/old-demo-repository/images/survey_preview.png similarity index 100% rename from images/survey_preview.png rename to old-demo-repository/images/survey_preview.png diff --git a/images/templates.png b/old-demo-repository/images/templates.png similarity index 100% rename from images/templates.png rename to old-demo-repository/images/templates.png diff --git a/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 similarity index 100% rename from images/windows_regedit_legal_notice/windows_regedit_legal_host_info.jpg rename to old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_host_info.jpg diff --git a/images/windows_regedit_legal_notice/windows_regedit_legal_survey.jpeg b/old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_survey.jpeg similarity index 100% rename from images/windows_regedit_legal_notice/windows_regedit_legal_survey.jpeg rename to old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_survey.jpeg diff --git a/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 similarity index 100% rename from images/windows_regedit_legal_notice/windows_regedit_legal_survey_preview.jpeg rename to old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_survey_preview.jpeg diff --git a/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 similarity index 100% rename from images/windows_regedit_legal_notice/windows_regedit_legal_task_output.jpeg rename to old-demo-repository/images/windows_regedit_legal_notice/windows_regedit_legal_task_output.jpeg diff --git a/meta/runtime.yml b/old-demo-repository/meta/runtime.yml similarity index 100% rename from meta/runtime.yml rename to old-demo-repository/meta/runtime.yml diff --git a/playbooks/developer/developer_report.yml b/old-demo-repository/playbooks/developer/developer_report.yml similarity index 100% rename from playbooks/developer/developer_report.yml rename to old-demo-repository/playbooks/developer/developer_report.yml diff --git a/playbooks/generate_readme.yml b/old-demo-repository/playbooks/generate_readme.yml similarity index 100% rename from playbooks/generate_readme.yml rename to old-demo-repository/playbooks/generate_readme.yml diff --git a/playbooks/infrastructure/aws_provision_vm.yml b/old-demo-repository/playbooks/infrastructure/aws_provision_vm.yml similarity index 100% rename from playbooks/infrastructure/aws_provision_vm.yml rename to old-demo-repository/playbooks/infrastructure/aws_provision_vm.yml diff --git a/playbooks/infrastructure/azure_mysql_server.yml b/old-demo-repository/playbooks/infrastructure/azure_mysql_server.yml similarity index 100% rename from playbooks/infrastructure/azure_mysql_server.yml rename to old-demo-repository/playbooks/infrastructure/azure_mysql_server.yml diff --git a/playbooks/infrastructure/azure_provision_vm.yml b/old-demo-repository/playbooks/infrastructure/azure_provision_vm.yml similarity index 100% rename from playbooks/infrastructure/azure_provision_vm.yml rename to old-demo-repository/playbooks/infrastructure/azure_provision_vm.yml diff --git a/playbooks/infrastructure/chocolatey_app_install.yml b/old-demo-repository/playbooks/infrastructure/chocolatey_app_install.yml similarity index 100% rename from playbooks/infrastructure/chocolatey_app_install.yml rename to old-demo-repository/playbooks/infrastructure/chocolatey_app_install.yml diff --git a/playbooks/infrastructure/chocolatey_config.yml b/old-demo-repository/playbooks/infrastructure/chocolatey_config.yml similarity index 100% rename from playbooks/infrastructure/chocolatey_config.yml rename to old-demo-repository/playbooks/infrastructure/chocolatey_config.yml diff --git a/playbooks/infrastructure/chocolatey_features.yml b/old-demo-repository/playbooks/infrastructure/chocolatey_features.yml similarity index 100% rename from playbooks/infrastructure/chocolatey_features.yml rename to old-demo-repository/playbooks/infrastructure/chocolatey_features.yml diff --git a/playbooks/infrastructure/debug_info.yml b/old-demo-repository/playbooks/infrastructure/debug_info.yml similarity index 100% rename from playbooks/infrastructure/debug_info.yml rename to old-demo-repository/playbooks/infrastructure/debug_info.yml diff --git a/playbooks/infrastructure/deploy_application.yml b/old-demo-repository/playbooks/infrastructure/deploy_application.yml similarity index 100% rename from playbooks/infrastructure/deploy_application.yml rename to old-demo-repository/playbooks/infrastructure/deploy_application.yml diff --git a/playbooks/infrastructure/grant_sudo.yml b/old-demo-repository/playbooks/infrastructure/grant_sudo.yml similarity index 100% rename from playbooks/infrastructure/grant_sudo.yml rename to old-demo-repository/playbooks/infrastructure/grant_sudo.yml diff --git a/playbooks/infrastructure/insights.yml b/old-demo-repository/playbooks/infrastructure/insights.yml similarity index 100% rename from playbooks/infrastructure/insights.yml rename to old-demo-repository/playbooks/infrastructure/insights.yml diff --git a/playbooks/infrastructure/patching.yml b/old-demo-repository/playbooks/infrastructure/patching.yml similarity index 100% rename from playbooks/infrastructure/patching.yml rename to old-demo-repository/playbooks/infrastructure/patching.yml diff --git a/playbooks/infrastructure/turn_off_community_grid.yml b/old-demo-repository/playbooks/infrastructure/turn_off_community_grid.yml similarity index 100% rename from playbooks/infrastructure/turn_off_community_grid.yml rename to old-demo-repository/playbooks/infrastructure/turn_off_community_grid.yml diff --git a/playbooks/infrastructure/windows_iis.yml b/old-demo-repository/playbooks/infrastructure/windows_iis.yml similarity index 100% rename from playbooks/infrastructure/windows_iis.yml rename to old-demo-repository/playbooks/infrastructure/windows_iis.yml diff --git a/playbooks/infrastructure/windows_regedit_legal_notice.yml b/old-demo-repository/playbooks/infrastructure/windows_regedit_legal_notice.yml similarity index 100% rename from playbooks/infrastructure/windows_regedit_legal_notice.yml rename to old-demo-repository/playbooks/infrastructure/windows_regedit_legal_notice.yml diff --git a/playbooks/install_demo.yml b/old-demo-repository/playbooks/install_demo.yml similarity index 100% rename from playbooks/install_demo.yml rename to old-demo-repository/playbooks/install_demo.yml diff --git a/playbooks/network/configlet_logging.yml b/old-demo-repository/playbooks/network/configlet_logging.yml similarity index 100% rename from playbooks/network/configlet_logging.yml rename to old-demo-repository/playbooks/network/configlet_logging.yml diff --git a/playbooks/network/configlet_ntp.yml b/old-demo-repository/playbooks/network/configlet_ntp.yml similarity index 100% rename from playbooks/network/configlet_ntp.yml rename to old-demo-repository/playbooks/network/configlet_ntp.yml diff --git a/playbooks/network/configlet_vtyacl.yml b/old-demo-repository/playbooks/network/configlet_vtyacl.yml similarity index 100% rename from playbooks/network/configlet_vtyacl.yml rename to old-demo-repository/playbooks/network/configlet_vtyacl.yml diff --git a/playbooks/security/hardening.yml b/old-demo-repository/playbooks/security/hardening.yml similarity index 100% rename from playbooks/security/hardening.yml rename to old-demo-repository/playbooks/security/hardening.yml diff --git a/playbooks/security/openscap.yml b/old-demo-repository/playbooks/security/openscap.yml similarity index 100% rename from playbooks/security/openscap.yml rename to old-demo-repository/playbooks/security/openscap.yml diff --git a/roles/developer_report/README.md b/old-demo-repository/roles/developer_report/README.md similarity index 100% rename from roles/developer_report/README.md rename to old-demo-repository/roles/developer_report/README.md diff --git a/roles/developer_report/meta/main.yml b/old-demo-repository/roles/developer_report/meta/main.yml similarity index 100% rename from roles/developer_report/meta/main.yml rename to old-demo-repository/roles/developer_report/meta/main.yml diff --git a/roles/developer_report/tasks/main.yml b/old-demo-repository/roles/developer_report/tasks/main.yml similarity index 100% rename from roles/developer_report/tasks/main.yml rename to old-demo-repository/roles/developer_report/tasks/main.yml diff --git a/roles/developer_report/templates/report.j2 b/old-demo-repository/roles/developer_report/templates/report.j2 similarity index 100% rename from roles/developer_report/templates/report.j2 rename to old-demo-repository/roles/developer_report/templates/report.j2 diff --git a/roles/generate_readme/README.md b/old-demo-repository/roles/generate_readme/README.md similarity index 100% rename from roles/generate_readme/README.md rename to old-demo-repository/roles/generate_readme/README.md diff --git a/roles/generate_readme/meta/main.yml b/old-demo-repository/roles/generate_readme/meta/main.yml similarity index 100% rename from roles/generate_readme/meta/main.yml rename to old-demo-repository/roles/generate_readme/meta/main.yml diff --git a/roles/generate_readme/tasks/main.yml b/old-demo-repository/roles/generate_readme/tasks/main.yml similarity index 100% rename from roles/generate_readme/tasks/main.yml rename to old-demo-repository/roles/generate_readme/tasks/main.yml diff --git a/roles/generate_readme/templates/readme.j2 b/old-demo-repository/roles/generate_readme/templates/readme.j2 similarity index 100% rename from roles/generate_readme/templates/readme.j2 rename to old-demo-repository/roles/generate_readme/templates/readme.j2 diff --git a/roles/install_demo/README.md b/old-demo-repository/roles/install_demo/README.md similarity index 100% rename from roles/install_demo/README.md rename to old-demo-repository/roles/install_demo/README.md diff --git a/roles/install_demo/meta/main.yml b/old-demo-repository/roles/install_demo/meta/main.yml similarity index 100% rename from roles/install_demo/meta/main.yml rename to old-demo-repository/roles/install_demo/meta/main.yml diff --git a/roles/install_demo/tasks/aws.yml b/old-demo-repository/roles/install_demo/tasks/aws.yml similarity index 100% rename from roles/install_demo/tasks/aws.yml rename to old-demo-repository/roles/install_demo/tasks/aws.yml diff --git a/roles/install_demo/tasks/azure.yml b/old-demo-repository/roles/install_demo/tasks/azure.yml similarity index 100% rename from roles/install_demo/tasks/azure.yml rename to old-demo-repository/roles/install_demo/tasks/azure.yml diff --git a/roles/install_demo/tasks/job_template.yml b/old-demo-repository/roles/install_demo/tasks/job_template.yml similarity index 100% rename from roles/install_demo/tasks/job_template.yml rename to old-demo-repository/roles/install_demo/tasks/job_template.yml diff --git a/roles/install_demo/tasks/job_template_loop.yml b/old-demo-repository/roles/install_demo/tasks/job_template_loop.yml similarity index 100% rename from roles/install_demo/tasks/job_template_loop.yml rename to old-demo-repository/roles/install_demo/tasks/job_template_loop.yml diff --git a/roles/install_demo/tasks/load_vars.yml b/old-demo-repository/roles/install_demo/tasks/load_vars.yml similarity index 100% rename from roles/install_demo/tasks/load_vars.yml rename to old-demo-repository/roles/install_demo/tasks/load_vars.yml diff --git a/roles/install_demo/tasks/main.yml b/old-demo-repository/roles/install_demo/tasks/main.yml similarity index 100% rename from roles/install_demo/tasks/main.yml rename to old-demo-repository/roles/install_demo/tasks/main.yml diff --git a/roles/install_demo/tasks/unsupported_cloud.yml b/old-demo-repository/roles/install_demo/tasks/unsupported_cloud.yml similarity index 100% rename from roles/install_demo/tasks/unsupported_cloud.yml rename to old-demo-repository/roles/install_demo/tasks/unsupported_cloud.yml diff --git a/roles/install_demo/tasks/workflow.yml b/old-demo-repository/roles/install_demo/tasks/workflow.yml similarity index 100% rename from roles/install_demo/tasks/workflow.yml rename to old-demo-repository/roles/install_demo/tasks/workflow.yml diff --git a/roles/install_demo/tasks/workflow_loop.yml b/old-demo-repository/roles/install_demo/tasks/workflow_loop.yml similarity index 100% rename from roles/install_demo/tasks/workflow_loop.yml rename to old-demo-repository/roles/install_demo/tasks/workflow_loop.yml diff --git a/roles/install_demo/vars/main/developer/developer_report.yml b/old-demo-repository/roles/install_demo/vars/main/developer/developer_report.yml similarity index 100% rename from roles/install_demo/vars/main/developer/developer_report.yml rename to old-demo-repository/roles/install_demo/vars/main/developer/developer_report.yml diff --git a/roles/install_demo/vars/main/infrastructure/aws_provision_vm.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/aws_provision_vm.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/aws_provision_vm.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/aws_provision_vm.yml diff --git a/roles/install_demo/vars/main/infrastructure/azure_mysql_server.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_mysql_server.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/azure_mysql_server.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_mysql_server.yml diff --git a/roles/install_demo/vars/main/infrastructure/azure_provision_vm.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_provision_vm.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/azure_provision_vm.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/azure_provision_vm.yml diff --git a/roles/install_demo/vars/main/infrastructure/chocolatey_app_install.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_app_install.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/chocolatey_app_install.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_app_install.yml diff --git a/roles/install_demo/vars/main/infrastructure/chocolatey_config.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_config.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/chocolatey_config.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_config.yml diff --git a/roles/install_demo/vars/main/infrastructure/chocolatey_features.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_features.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/chocolatey_features.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/chocolatey_features.yml diff --git a/roles/install_demo/vars/main/infrastructure/debug_info.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/debug_info.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/debug_info.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/debug_info.yml diff --git a/roles/install_demo/vars/main/infrastructure/deploy_application.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/deploy_application.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/deploy_application.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/deploy_application.yml diff --git a/roles/install_demo/vars/main/infrastructure/grant_sudo.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/grant_sudo.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/grant_sudo.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/grant_sudo.yml diff --git a/roles/install_demo/vars/main/infrastructure/insights.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/insights.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/insights.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/insights.yml diff --git a/roles/install_demo/vars/main/infrastructure/patching.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/patching.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/patching.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/patching.yml diff --git a/roles/install_demo/vars/main/infrastructure/scan_facts.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/scan_facts.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/scan_facts.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/scan_facts.yml diff --git a/roles/install_demo/vars/main/infrastructure/security_patching.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/security_patching.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/security_patching.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/security_patching.yml diff --git a/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 similarity index 100% rename from roles/install_demo/vars/main/infrastructure/turn_off_community_grid.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/turn_off_community_grid.yml diff --git a/roles/install_demo/vars/main/infrastructure/windows_iss.yml b/old-demo-repository/roles/install_demo/vars/main/infrastructure/windows_iss.yml similarity index 100% rename from roles/install_demo/vars/main/infrastructure/windows_iss.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/windows_iss.yml diff --git a/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 similarity index 100% rename from roles/install_demo/vars/main/infrastructure/windows_regedit_legal_notice.yml rename to old-demo-repository/roles/install_demo/vars/main/infrastructure/windows_regedit_legal_notice.yml diff --git a/roles/install_demo/vars/main/network/configlet_logging.yml b/old-demo-repository/roles/install_demo/vars/main/network/configlet_logging.yml similarity index 100% rename from roles/install_demo/vars/main/network/configlet_logging.yml rename to old-demo-repository/roles/install_demo/vars/main/network/configlet_logging.yml diff --git a/roles/install_demo/vars/main/network/configlet_ntp.yml b/old-demo-repository/roles/install_demo/vars/main/network/configlet_ntp.yml similarity index 100% rename from roles/install_demo/vars/main/network/configlet_ntp.yml rename to old-demo-repository/roles/install_demo/vars/main/network/configlet_ntp.yml diff --git a/roles/install_demo/vars/main/network/configlet_vtyacl.yml b/old-demo-repository/roles/install_demo/vars/main/network/configlet_vtyacl.yml similarity index 100% rename from roles/install_demo/vars/main/network/configlet_vtyacl.yml rename to old-demo-repository/roles/install_demo/vars/main/network/configlet_vtyacl.yml diff --git a/roles/install_demo/vars/main/network/f5_bigip_workflow.yml b/old-demo-repository/roles/install_demo/vars/main/network/f5_bigip_workflow.yml similarity index 100% rename from roles/install_demo/vars/main/network/f5_bigip_workflow.yml rename to old-demo-repository/roles/install_demo/vars/main/network/f5_bigip_workflow.yml diff --git a/roles/install_demo/vars/main/security/hardening.yml b/old-demo-repository/roles/install_demo/vars/main/security/hardening.yml similarity index 100% rename from roles/install_demo/vars/main/security/hardening.yml rename to old-demo-repository/roles/install_demo/vars/main/security/hardening.yml diff --git a/roles/install_demo/vars/main/security/openscap.yml b/old-demo-repository/roles/install_demo/vars/main/security/openscap.yml similarity index 100% rename from roles/install_demo/vars/main/security/openscap.yml rename to old-demo-repository/roles/install_demo/vars/main/security/openscap.yml diff --git a/roles/requirements.yml b/old-demo-repository/roles/requirements.yml similarity index 100% rename from roles/requirements.yml rename to old-demo-repository/roles/requirements.yml