@@ -3,32 +3,44 @@ This document aims to outline the requirements for the various forms of contribu
|
||||
|
||||
**ALL** contributions are subject to review via pull request
|
||||
|
||||
## Pull requests
|
||||
## Pull Requests
|
||||
1) Ensure the "base repository" is set to "RedHatGov/product-demos" since this is a fork it defaults to it's parent "ansible/product-demos".
|
||||
|
||||
## New playbooks
|
||||
1) Create a new branch based on main
|
||||
2) Add your playbook to the appropriate OS/System subdirectory
|
||||
3) Make any changes needed to match the existing standards in the direcotory.
|
||||
### Pull Request Guidelines
|
||||
- PRs should include the playbook/demo and required entry in corresponding `<demo>/setup.yml`.
|
||||
- PRs should include documentation in corresponding `<demo>/README.md`.
|
||||
- PRs should be rebased against the `main` branch to avoid conflicts.
|
||||
- PRs should not impact more than a single directory/demo section.
|
||||
- PRs should not rely on external infrastructure or configuration unless the dependency is automated or specified in the `user_message` of `setup.yml`.
|
||||
|
||||
## Adding a New Demo
|
||||
1) Create a new branch based on main. (eg. `git checkout -b <branch name>`)
|
||||
2) Add your playbook to the appropriate demo/section subdirectory.
|
||||
3) Make any changes needed to match the existing standards in the directory.
|
||||
1) Ex: Parameterized hosts
|
||||
```ansible
|
||||
hosts: "{{ HOSTS | default('windows') }}"
|
||||
```
|
||||
4) Create an entry for your playbook in your subdirectories setup.yml
|
||||
4) Create an entry for your playbook in your subdirectories `setup.yml`
|
||||
1) You can copy paste an existing one and edit it.
|
||||
2) Ensure you edit the name, playbook path, survey etc.
|
||||
5) Add any needed roles/collections to the [requirements.yml](/collections/requirements.yml)
|
||||
6) Test via RHPDS, specify your branch name within the project configuration.
|
||||
|
||||
## New OS/Systems
|
||||
## New Demo Section/Category
|
||||
1) Create a new subdirectory with no spaces
|
||||
2) Create a new setup.yml copying appropriate elements from another
|
||||
1) These should all be mostly the same at the top
|
||||
- Below is a sample skeleton for a new setup.yml
|
||||
```ansible
|
||||
---
|
||||
user_message: ''
|
||||
|
||||
controller_components:
|
||||
- job_templates
|
||||
|
||||
controller_templates:
|
||||
...
|
||||
```
|
||||
- `controller_components` can be any of the roles defined [here](https://github.com/redhat-cop/controller_configuration/tree/devel/roles)
|
||||
- Add variables for each component listed
|
||||
3) Include a README.md in the subdirectory
|
||||
|
||||
23
README.md
23
README.md
@@ -2,24 +2,19 @@
|
||||
|
||||
This is a centralized location for all Ansible Product Demos going forward.
|
||||
|
||||
| Demo Name | Description |
|
||||
|------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
|
||||
| [AAP on CodeReady](aap-on-crc/README.md) | Repository and video of how to install Ansible Automation Platform on Code Ready Containers |
|
||||
| [Infrastructure Demos](old-demo-repository#infrastructure-demos) | Azure, AWS, Chocolatey, Linux and Windows Demos |
|
||||
| [Network Demos](old-demo-repository#network-demos) | Cisco IOS and F5 Demos |
|
||||
| [Security Demos](old-demo-repository#security-demos) | OSCAP and hardening demos |
|
||||
| [Developer Demos](old-demo-repository#developer-demos) | Create Reports with Ansible |
|
||||
| Demo Name | Description |
|
||||
|-----------|-------------|
|
||||
| [Linux](linux/README.md) | Repository of demos for RHEL and Linux automation |
|
||||
| [Windows](windows/README.md) | Repository of demos for Windows Server automation |
|
||||
| [Cloud](cloud/README.md) | Demo for infrastructure and cloud provisioning automation |
|
||||
|
||||
## Contributions
|
||||
|
||||
Please push contributions via a pull request following the naming convention of name-of-demo.
|
||||
|
||||
[](https://github.com/marketplace/actions/super-linter)
|
||||
|
||||
If you would like to contribute to this project please refer to [contribution guide](CONTRIBUTING.md) for best practices.
|
||||
|
||||
## Using this project
|
||||
|
||||
> This project is tested for compatibility with AAP2 Linux Automation Workshop available to Red Hat Employees and Partners.
|
||||
> This project is tested for compatibility with AAP2 Linux Automation Workshop available to Red Hat Employees and Partners. To use with other Ansible Controller installations, review the [pre-requisite documentation](https://github.com/RedHatGov/ansible-tower-samples/tree/product-demos).
|
||||
|
||||
1. First you must create a credential for [Automation Hub](https://console.redhat.com/ansible/automation-hub/) to successfully sync collections used by this project.
|
||||
|
||||
@@ -40,6 +35,4 @@ Please push contributions via a pull request following the naming convention of
|
||||
- Name: Controller Credential
|
||||
- Extra vars:
|
||||
|
||||
demo: <linux or windows>
|
||||
|
||||
4. If you require a Windows Active Directory domain you will need to run the "ACTIVE DIRECTORY / Create Active Directory domain" template after the Windows setup completes. This will create the "ansible.local" domain as well as a few generic users and groups.
|
||||
demo: <linux or windows or cloud>
|
||||
|
||||
29
windows/README.md
Normal file
29
windows/README.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Windows Demos
|
||||
|
||||
## Table of Contents
|
||||
- [Windows Demos](#windows-demos)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [About These Demos](#about-these-demos)
|
||||
- [Jobs](#jobs)
|
||||
- [Suggested Usage](#suggested-usage)
|
||||
|
||||
## About These Demos
|
||||
This category of demos shows examples of Windows Server operations and management with Ansible Automation Platform. The list of demos can be found below. See the [Suggested Usage](#suggested-usage) section of this document for recommendations on how to best use these demos.
|
||||
|
||||
### Jobs
|
||||
|
||||
- [**WINDOWS / Install IIS**](install_iis.yml) - Install IIS feature with a configurable index.html
|
||||
- [**WINDOWS / Patching**](patching.yml) - Apply Windows updates by category and create report
|
||||
- [**WINDOWS / Chocolatey install multiple**](windows_choco_multiple.yml) - Install multiple packages using Chocolatey and check versions
|
||||
- [**WINDOWS / Chocolatey install specific**](windows_choco_specific.yml) - Install a single given package using Chocolatey
|
||||
- [**WINDOWS / Arbitrary Powershell**](arbitrary_powershell.yml) - Run given Powershell script (default: retrieve cat fact from API)
|
||||
- [**WINDOWS / Powershell Script**](powershell_script.yml) - Run a Powershell script stored in source control to query services
|
||||
- [**WINDOWS / Powershell DSC configuring password requirements**](powershell_dsc.yml) - Configure password complexity with Powershell desired state config
|
||||
- [**WINDOWS / Create Active Directory Domain**](active_directory/create_ad_domain.yml) - Create a new AD Domain
|
||||
- [**WINDOWS / Helpdesk new user portal**](active_directory/helpdesk_new_user_portal.yml) - Create user in AD Domain
|
||||
|
||||
## Suggested Usage
|
||||
|
||||
**WINDOWS / Create Active Directory Domain** - This job can take some to complete. It is recommended to run ahead of time if you would like to demo creating a helpdesk user.
|
||||
|
||||
**WINDOWS / Helpdesk new user portal** - This job is dependant on the Create Active Directory Domain completing before users can be created.
|
||||
Reference in New Issue
Block a user