diff --git a/choose_demo_dr.yml b/choose_demo_dr.yml new file mode 100644 index 0000000..10e5810 --- /dev/null +++ b/choose_demo_dr.yml @@ -0,0 +1,24 @@ +--- +## 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: windows_regedit_legal_notice + +# ALL - example that installs all demos +# demo: all + +## Ansible Tower login infomation +my_tower_username: student1 +my_tower_password: L1ml2QFr8ul8zp +my_tower_host: student1.94ed.open.redhat.com +workshop_type: windows + +# leave as false unless you are deploying an Azure Demo +azure_demo: False +#only uncomment these and supply values for setting up an Azure Cloud Demo which means azure_demo: True above +#my_subscription: +#my_tenant: +#my_client: +#my_secret: + diff --git a/docs/infrastructure/windows_regedit_legal_notice.md b/docs/infrastructure/windows_regedit_legal_notice.md new file mode 100644 index 0000000..9dec3d4 --- /dev/null +++ b/docs/infrastructure/windows_regedit_legal_notice.md @@ -0,0 +1,90 @@ +# Demo: Chocolatey App Install + +[Click here to return to master demo list](../../README.md#demo-repository) + +## Table of Contents + +* [Objective](#objective) +* [What business problem is solved?](#what-business-problem-is-solved) +* [Features show cased](#features-show-cased) +* [Video](#video) +* [Guide](#guide) + +# Objective + +Demostrate how anisble 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 + +- 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 + +Coming Soon + +# Guide + +1. Login to Ansible Platform UX + +2. Navigate to **Templates** + + ![job templates](../../images/templates.png) + +3. Click the rocket next to **INFRASTRUCTURE / Chocolatey App Install** to launch the Job + + ![rocket launch](../../images/rocket.png) + +4. The survey will prompt you to install or remove a package. + + ![survey choice](../../images/choco_app_install/choco_survey.jpeg) + +5. Choose a package or packages and press **NEXT** + + ![survey preview](../../images/choco_app_install/choco_survey_preview.jpeg) + + Explain to audience what is happening here depending on audience persona + + **Persona A**: Technical audience that has written Ansible Playbooks before: + Surveys create variables that the Job can use within Ansible Playbooks. This gives you the ability to create one playbook that can be used for multiple installs instead of a job template for each app. In this case due to the multiple Select option you are not limited to 1 app but can select and install 2 or more apps at once. The survey also gives you the ability to select if the app will be installed, removed, or simply updated to the latest version. Again saving you time and effort to write seperate playbooks for each use case. In the screenshot you will see the variables are named **choco_package** and **app_state** with values of **git** and **present** + + **Persona B**: Decision maker audience, IT manager or above: + reiterate business values above. This allows a non subject matter expert the ability to automate routine tasks within a Windows environment. They can't install applications that are not vetted and put within the survey. Freeing them from the mundance and repeative task for application installation while maintaining the highest level of security and compliance across your organization. In the event that your IT process does not allow the Red Hat Ansible Automation Platform to be the front end, it has a rich and powerful API that can work with existing workflows such as ServiceNow. + +6. Execute the job by pressing the green **LAUNCH** button + +7. Explain what is happening: + + - Job has started executed in the background. The user can navigate off this page and the job will continue to execute. + - On the left is the **Job Details Pane** labeled simply with **DETAILS**. This information is logged and tells you who, what, when and how. + - **who** - who launched the job, in this example is the admin user + - **what** - the project and Ansible Playbook used, and which credential to login to the infrastructure + - **when** - time stamps for start, end and duration of the job run. + - **how** - the job status (pass, fail), enviornment and execution node + - The larger window on the right is the **Standard Out Pane**. This provides the same console output the user would be used to on the command-line for troubleshooting purposes. Some important takeways to showcase are: + - aggregate info is at the top including the amount of Plays, tasks, hosts and time duration. + - this pane can be expanded to take up entire browser window + - Ansible Playbook can be downloaded for troubleshooting purposes + - **click on task output** to show them task-by-task JSON output that can be used for troubleshooting or just getting additional information + ![task breakdown](../../images/choco_app_install/choco_task_output.jpeg) + +8. Circle back and summarize + + You need to circle back what has been showcased to the [business reasons listed above](#what-business-problem-is-solved). You are welcome to verify on the Windows hosts that the package(s) was actually installed but unless you have a very technical audience you are going to start losing folks. The real business solution here is automating away the mundane and repetative. + + + +--- +You have finished this demo. [Click here to return to master demo list](../../README.md#demo-repository) diff --git a/playbooks/infrastructure/windows_regedit_legal_notice.yml b/playbooks/infrastructure/windows_regedit_legal_notice.yml new file mode 100644 index 0000000..c3eca39 --- /dev/null +++ b/playbooks/infrastructure/windows_regedit_legal_notice.yml @@ -0,0 +1,16 @@ +--- +- name: Edit legal notice on start up message + hosts: windows + gather_facts: False + +- name: Updating Legal Notice Title + win_regedit: + path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System + name: legalnoticecaption + data: "{{ title_legal_notice }}" + +- name: Updating Legal Notice Text + win_regedit: + path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System + name: legalnoticetext + data: "{{ text_legal_notice }}" \ No newline at end of file diff --git a/roles/install_demo/vars/main/infrastructure/windows_regedit_legal_notice.yml b/roles/install_demo/vars/main/infrastructure/windows_regedit_legal_notice.yml new file mode 100644 index 0000000..f223782 --- /dev/null +++ b/roles/install_demo/vars/main/infrastructure/windows_regedit_legal_notice.yml @@ -0,0 +1,40 @@ +--- +windows_regedit_legal_notice: + author: "David Rojas" + readme: "https://github.com/ansible/product-demos/blob/master/docs/infrastructure/chocolatey_app_install.md" + category: infrastructure + name: "INFRASTRUCTURE / Windows regedit legal notice" + description: "using regedit modify the legal notice" + job_type: "run" + inventory: "Workshop Inventory" + playbook: "playbooks/infrastructure/windows_regedit_legal_notice.yml" + credential: "Workshop Credential" + survey_enabled: true + survey_spec: + name: Legal Notice Survey + description: Collecting info to use during playbook runs for legal notice + spec: + - type: text + question_name: Enter the text of the legal notice title + question_description: Title should be short but descriptive + variable: title_legal_notice + required: true + default: Red Hat Sample Legal Notice + + - type: textarea + question_name: Enter the text of the legal notice body + question_description: Body should contain all legally required info + variable: text_legal_notice + required: true + default: This is a sample body of a legal notice + + #video: "https://www.youtube.com/watch?v=pU8ZgSBuEJw&list=PLdu06OJoEf2bp-PNtxPP_2n7Avkax8TED" + project: + name: "Ansible official demo project" + description: "prescriptive demos from Red Hat Management Business Unit" + organization: "Default" + scm_type: git + scm_url: "https://github.com/davidrojas25/product-demos" + workshop_type: + - windows + - demo