syncing source to git
This commit is contained in:
@@ -2,14 +2,14 @@
|
|||||||
## example file for how to choose a demo
|
## example file for how to choose a demo
|
||||||
## chose specific demo or choose all
|
## chose specific demo or choose all
|
||||||
|
|
||||||
#SPECIFIC - example that installs just the deploy_application job template
|
# SPECIFIC - example that installs just the deploy_application job template
|
||||||
demo: developer_report
|
demo: developer_report
|
||||||
|
|
||||||
#ALL - example that installs all demos
|
# ALL - example that installs all demos
|
||||||
# demo: all
|
# demo: all
|
||||||
|
|
||||||
## Ansible Tower login infomation
|
## Ansible Tower login infomation
|
||||||
my_tower_username: colin
|
my_tower_username: colin
|
||||||
my_tower_password: mahalo
|
my_tower_password: mahalo
|
||||||
my_tower_host: test.rhdemo.io
|
my_tower_host: test.rhdemo.io
|
||||||
workshop_type: f5
|
workshop_type: rhel
|
||||||
|
|||||||
23
galaxy.yml
Normal file
23
galaxy.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
namespace: ipvsean
|
||||||
|
name: product_demos
|
||||||
|
version: 1.0.2
|
||||||
|
readme: README.md
|
||||||
|
|
||||||
|
authors:
|
||||||
|
- Sean Cavanaugh <seanc@redhat.com> @IPvSean
|
||||||
|
|
||||||
|
description: repository of demos to showcase Ansible features.
|
||||||
|
|
||||||
|
license:
|
||||||
|
- GPL-2.0-or-later
|
||||||
|
|
||||||
|
license_file: ''
|
||||||
|
|
||||||
|
tags: []
|
||||||
|
dependencies: {}
|
||||||
|
|
||||||
|
repository: http://github.com/ansible/product-demos
|
||||||
|
documentation: http://github.com/ansible/product-demos
|
||||||
|
homepage: http://github.com/ansible/product-demos
|
||||||
|
issues: https://github.com/ansible/product-demos/issues
|
||||||
BIN
ipvsean-product_demos-1.0.1.tar.gz
Normal file
BIN
ipvsean-product_demos-1.0.1.tar.gz
Normal file
Binary file not shown.
BIN
ipvsean-product_demos-1.0.2.tar.gz
Normal file
BIN
ipvsean-product_demos-1.0.2.tar.gz
Normal file
Binary file not shown.
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: application deployment
|
- name: application deployment
|
||||||
hosts: webservers
|
hosts: web
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
become: yes
|
become: true
|
||||||
tasks:
|
tasks:
|
||||||
- name: make sure application is not empty
|
- name: make sure application is not empty
|
||||||
assert:
|
assert:
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: apply non-kernel updates
|
- name: apply non-kernel updates
|
||||||
hosts: "{{ HOSTS | default('all') }}"
|
hosts: "{{ HOSTS | default('web') }}"
|
||||||
become: yes
|
become: true
|
||||||
gather_facts: no
|
gather_facts: false
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: upgrade all packages except kernel
|
- name: upgrade all packages except kernel
|
||||||
@@ -16,6 +16,6 @@
|
|||||||
yum:
|
yum:
|
||||||
name: '*'
|
name: '*'
|
||||||
state: latest
|
state: latest
|
||||||
security: yes
|
security: true
|
||||||
exclude: kernel*
|
exclude: kernel*
|
||||||
tags: security
|
tags: security
|
||||||
|
|||||||
@@ -1,31 +1,31 @@
|
|||||||
---
|
---
|
||||||
- name: harden linux systems
|
- name: harden linux systems
|
||||||
hosts: "{{ HOSTS | default('all') }}"
|
hosts: "{{ HOSTS | default('web') }}"
|
||||||
become: yes
|
become: true
|
||||||
vars:
|
vars:
|
||||||
- harden_firewall: False
|
- harden_firewall: false
|
||||||
- harden_time: False
|
- harden_time: false
|
||||||
- harden_ssh: False
|
- harden_ssh: false
|
||||||
- harden_pci: False
|
- harden_pci: false
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Configure Firewall
|
- name: Configure Firewall
|
||||||
when: harden_firewall | bool
|
when: harden_firewall | bool
|
||||||
include_role:
|
include_role:
|
||||||
name: linux-system-roles.firewall
|
name: linux-system-roles.firewall
|
||||||
|
|
||||||
- name: Configure Timesync
|
- name: Configure Timesync
|
||||||
when: harden_time | bool
|
when: harden_time | bool
|
||||||
include_role:
|
include_role:
|
||||||
name: linux-system-roles.timesync
|
name: linux-system-roles.timesync
|
||||||
|
|
||||||
- name: SSH Hardening
|
- name: SSH Hardening
|
||||||
when: harden_ssh | bool
|
when: harden_ssh | bool
|
||||||
include_role:
|
include_role:
|
||||||
name: dev-sec.ssh-hardening
|
name: dev-sec.ssh-hardening
|
||||||
|
|
||||||
# run with --skip-tags accounts_passwords_pam_faillock_deny
|
# run with --skip-tags accounts_passwords_pam_faillock_deny
|
||||||
- name: Apply PCI Baseline
|
- name: Apply PCI Baseline
|
||||||
when: harden_pci | bool
|
when: harden_pci | bool
|
||||||
include_role:
|
include_role:
|
||||||
name: redhatofficial.rhel7_pci_dss
|
name: redhatofficial.rhel7_pci_dss
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: grant sudo
|
- name: grant sudo
|
||||||
hosts: "{{ HOSTS | default('all') }}"
|
hosts: "{{ HOSTS | default('web') }}"
|
||||||
become: yes
|
become: true
|
||||||
gather_facts: no
|
gather_facts: false
|
||||||
vars:
|
vars:
|
||||||
sudo_cleanup: true
|
sudo_cleanup: true
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
- name: gather debug info
|
- name: gather debug info
|
||||||
hosts: "{{ HOSTS | default('all') }}"
|
hosts: "{{ HOSTS | default('web') }}"
|
||||||
become: yes
|
become: true
|
||||||
gather_facts: no
|
gather_facts: false
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Gather recent vmstat info
|
- name: Gather recent vmstat info
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
- name: build openscap report for rhel7
|
- name: build openscap report for rhel7
|
||||||
hosts: all
|
hosts: web
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
|
|
||||||
vars:
|
vars:
|
||||||
@@ -19,28 +19,23 @@
|
|||||||
stat:
|
stat:
|
||||||
path: "{{ssg_schema}}"
|
path: "{{ssg_schema}}"
|
||||||
|
|
||||||
# - name: create HTML report
|
|
||||||
# command: "oscap xccdf eval --fetch-remote-resources --profile xccdf_org.ssgproject.content_profile_standard --results report.xml --report index.html {{ssg_schema}}"
|
|
||||||
# register: command_result
|
|
||||||
# failed_when: "'Error' in command_result.stderr"
|
|
||||||
|
|
||||||
- name: create HTML report
|
- name: create HTML report
|
||||||
command: "oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard --results report.xml --report index.html {{ssg_schema}}"
|
command: "oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard --results report.xml --report index.html {{ssg_schema}}"
|
||||||
register: command_result
|
register: command_result
|
||||||
failed_when: "'Error' in command_result.stderr"
|
failed_when: "'Error' in command_result.stderr"
|
||||||
|
|
||||||
- name: Create directory if it does not exist
|
- name: Create directory if it does falset exist
|
||||||
become: yes
|
become: true
|
||||||
file:
|
file:
|
||||||
path: "{{file_path}}"
|
path: "{{file_path}}"
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
- name: move files into httpd
|
- name: move files into httpd
|
||||||
become: yes
|
become: true
|
||||||
copy:
|
copy:
|
||||||
src: ./{{item}}
|
src: ./{{item}}
|
||||||
dest: "{{file_path}}/{{item}}"
|
dest: "{{file_path}}/{{item}}"
|
||||||
remote_src: yes
|
remote_src: true
|
||||||
loop:
|
loop:
|
||||||
- report.xml
|
- report.xml
|
||||||
- index.html
|
- index.html
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
- name: grab linux facts
|
- name: grab linux facts
|
||||||
hosts: all
|
hosts: web
|
||||||
gather_facts: true
|
gather_facts: true
|
||||||
|
|
||||||
- name: build developer report
|
- name: build developer report
|
||||||
|
|||||||
@@ -4,11 +4,6 @@
|
|||||||
connection: local
|
connection: local
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
# - name: install demo
|
|
||||||
# debug:
|
|
||||||
# msg: "{{item}}"
|
|
||||||
# loop: "{{dict(hostvars[inventory_hostname]|dictsort|rejectattr('0', 'match', 'ansible_')|selectattr('1.name', 'defined'))|dict2items}}"
|
|
||||||
|
|
||||||
- name: install demo
|
- name: install demo
|
||||||
include_role:
|
include_role:
|
||||||
name: "../roles/generate_readme"
|
name: "../roles/generate_readme"
|
||||||
|
|||||||
@@ -1,56 +0,0 @@
|
|||||||
---
|
|
||||||
hardening:
|
|
||||||
author: "Will Tome"
|
|
||||||
category: security
|
|
||||||
name: "SERVER / Hardening"
|
|
||||||
description: "hardening for Linux servers"
|
|
||||||
job_type: "run"
|
|
||||||
inventory: "Workshop Inventory"
|
|
||||||
playbook: "playbooks/03_hardening.yml"
|
|
||||||
credential: "Workshop Credential"
|
|
||||||
survey_enabled: yes
|
|
||||||
survey_spec:
|
|
||||||
name: ''
|
|
||||||
description: ''
|
|
||||||
spec:
|
|
||||||
- question_name: 'Enter host to configure'
|
|
||||||
type: text
|
|
||||||
variable: HOSTS
|
|
||||||
required: false
|
|
||||||
- question_name: Configure Firewall?
|
|
||||||
type: multiplechoice
|
|
||||||
variable: harden_firewall
|
|
||||||
required: false
|
|
||||||
choices:
|
|
||||||
- 'Yes'
|
|
||||||
- 'No'
|
|
||||||
- question_name: Configure Time?
|
|
||||||
type: multiplechoice
|
|
||||||
variable: harden_time
|
|
||||||
required: false
|
|
||||||
choices:
|
|
||||||
- 'Yes'
|
|
||||||
- 'No'
|
|
||||||
- question_name: Harden SSH?
|
|
||||||
type: multiplechoice
|
|
||||||
variable: harden_ssh
|
|
||||||
required: false
|
|
||||||
choices:
|
|
||||||
- 'Yes'
|
|
||||||
- 'No'
|
|
||||||
- question_name: PCI Baseline?
|
|
||||||
type: multiplechoice
|
|
||||||
variable: harden_pci
|
|
||||||
required: false
|
|
||||||
choices:
|
|
||||||
- 'Yes'
|
|
||||||
- 'No'
|
|
||||||
project:
|
|
||||||
name: "Ansible official demo project"
|
|
||||||
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
|
||||||
organization: "Default"
|
|
||||||
scm_type: git
|
|
||||||
scm_url: "https://github.com/ansible/product-demos"
|
|
||||||
workshop_type:
|
|
||||||
- f5
|
|
||||||
- rhel
|
|
||||||
15
roles/developer_report/meta/main.yml
Normal file
15
roles/developer_report/meta/main.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
role_name: developer_report
|
||||||
|
author: Sean Cavanaugh
|
||||||
|
description: This role create an HTML report using Ansible Facts
|
||||||
|
company: Red Hat
|
||||||
|
|
||||||
|
|
||||||
|
license: license (GPLv2, CC-BY, etc)
|
||||||
|
|
||||||
|
min_ansible_version: 2.9
|
||||||
|
|
||||||
|
galaxy_tags: []
|
||||||
|
|
||||||
|
dependencies: []
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
|
---
|
||||||
- name: create HTML report
|
- name: create HTML report
|
||||||
become: yes
|
become: true
|
||||||
template:
|
template:
|
||||||
src: report.j2
|
src: report.j2
|
||||||
dest: "{{ file_path }}"
|
dest: "{{ file_path }}"
|
||||||
|
|
||||||
- name: DISPLAY LINK TO INVENTORY REPORT
|
- name: DISPLAY LINK TO INVENTORY REPORT
|
||||||
debug:
|
debug:
|
||||||
msg: "Please go to http://{{ansible_host}}/report"
|
msg: "Please go to http://{{ ansible_host }}/report"
|
||||||
|
|||||||
15
roles/generate_readme/meta/main.yml
Normal file
15
roles/generate_readme/meta/main.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
role_name: generate_readme
|
||||||
|
author: Sean Cavanaugh
|
||||||
|
description: This role generates a readme for the github/ansible/product-demos
|
||||||
|
company: Red Hat
|
||||||
|
|
||||||
|
|
||||||
|
license: license (GPLv2, CC-BY, etc)
|
||||||
|
|
||||||
|
min_ansible_version: 2.9
|
||||||
|
|
||||||
|
galaxy_tags: []
|
||||||
|
|
||||||
|
dependencies: []
|
||||||
23
roles/install_demo/README.md
Normal file
23
roles/install_demo/README.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# install_demo role
|
||||||
|
|
||||||
|
This role will install demos into your specified Ansible Tower environment. Here is an example of using this role:
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
- name: setup deploy application demo
|
||||||
|
hosts: localhost
|
||||||
|
gather_facts: false
|
||||||
|
connection: local
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
- name: install demo
|
||||||
|
include_role:
|
||||||
|
name: "install_demo"
|
||||||
|
```
|
||||||
|
|
||||||
|
Please refer to the master list in the main [README.md]()../../README.md).
|
||||||
|
|
||||||
|
# required variables
|
||||||
|
|
||||||
|
You must specify all the variables in the [choose_demo.yml](../../choose_demo.yml) example.
|
||||||
15
roles/install_demo/meta/main.yml
Normal file
15
roles/install_demo/meta/main.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
role_name: install_demo
|
||||||
|
author: Sean Cavanaugh
|
||||||
|
description: |
|
||||||
|
This role will install demos into your specified Ansible Tower environment.
|
||||||
|
company: Red Hat
|
||||||
|
|
||||||
|
|
||||||
|
license: license (GPLv2, CC-BY, etc)
|
||||||
|
|
||||||
|
min_ansible_version: 2.9
|
||||||
|
|
||||||
|
galaxy_tags: []
|
||||||
|
dependencies: []
|
||||||
@@ -1,51 +1,54 @@
|
|||||||
---
|
---
|
||||||
- name: add tower project
|
- name: add tower project
|
||||||
tower_project:
|
tower_project:
|
||||||
name: "{{hostvars.localhost[demo].project.name}}"
|
name: "{{ vars[demo].project.name }}"
|
||||||
description: "{{hostvars.localhost[demo].project.description}}"
|
description: "{{ vars[demo].project.description }}"
|
||||||
organization: "{{hostvars.localhost[demo].project.organization}}"
|
organization: "{{ vars[demo].project.organization }}"
|
||||||
scm_type: "{{hostvars.localhost[demo].project.scm_type}}"
|
scm_type: "{{ vars[demo].project.scm_type }}"
|
||||||
scm_url: "{{hostvars.localhost[demo].project.scm_url}}"
|
scm_url: "{{ vars[demo].project.scm_url }}"
|
||||||
tower_username: "{{my_tower_username}}"
|
tower_username: "{{ my_tower_username }}"
|
||||||
tower_password: "{{my_tower_password}}"
|
tower_password: "{{ my_tower_password }}"
|
||||||
tower_host: "{{my_tower_host}}"
|
tower_host: "{{ my_tower_host }}"
|
||||||
validate_certs: no
|
validate_certs: false
|
||||||
|
|
||||||
- name: add single job template without survey
|
- name: add single job template without survey
|
||||||
tower_job_template:
|
tower_job_template:
|
||||||
name: "{{hostvars.localhost[demo].name}}"
|
name: "{{ vars[demo].name }}"
|
||||||
description: "{{hostvars.localhost[demo].description}}"
|
description: "{{ vars[demo].description }}"
|
||||||
job_type: "{{hostvars.localhost[demo].job_type}}"
|
job_type: "{{ vars[demo].job_type }}"
|
||||||
inventory: "{{hostvars.localhost[demo].inventory}}"
|
inventory: "{{ vars[demo].inventory}}"
|
||||||
project: "{{hostvars.localhost[demo].project.name}}"
|
project: "{{ vars[demo].project.name }}"
|
||||||
playbook: "{{hostvars.localhost[demo].playbook}}"
|
playbook: "{{ vars[demo].playbook }}"
|
||||||
fact_caching_enabled: "{{hostvars.localhost[demo].fact_caching_enabled | default('no')}}"
|
fact_caching_enabled: "{{ vars[demo].fact_caching_enabled | default('false') }}"
|
||||||
credential: "{{hostvars.localhost[demo].credential}}"
|
credential: "{{ vars[demo].credential }}"
|
||||||
survey_enabled: "{{hostvars.localhost[demo].survey_enabled}}"
|
survey_enabled: "{{ vars[demo].survey_enabled }}"
|
||||||
tower_username: "{{my_tower_username}}"
|
tower_username: "{{ my_tower_username }}"
|
||||||
tower_password: "{{my_tower_password}}"
|
tower_password: "{{ my_tower_password }}"
|
||||||
tower_host: "{{my_tower_host}}"
|
tower_host: "{{ my_tower_host }}"
|
||||||
validate_certs: no
|
validate_certs: false
|
||||||
when:
|
when:
|
||||||
- workshop_type in hostvars.localhost[demo].workshop_type
|
- workshop_type in vars[demo].workshop_type
|
||||||
- not hostvars.localhost[demo].survey_enabled
|
- not vars[demo].survey_enabled
|
||||||
|
register: add_project
|
||||||
|
until: add_project is not failed
|
||||||
|
retries: 5
|
||||||
|
|
||||||
- name: add single job template with survey
|
- name: add single job template with survey
|
||||||
tower_job_template:
|
tower_job_template:
|
||||||
name: "{{hostvars.localhost[demo].name}}"
|
name: "{{ vars[demo].name }}"
|
||||||
description: "{{hostvars.localhost[demo].description}}"
|
description: "{{ vars[demo].description }}"
|
||||||
job_type: "{{hostvars.localhost[demo].job_type}}"
|
job_type: "{{ vars[demo].job_type }}"
|
||||||
inventory: "{{hostvars.localhost[demo].inventory}}"
|
inventory: "{{ vars[demo].inventory}}"
|
||||||
project: "{{hostvars.localhost[demo].project.name}}"
|
project: "{{ vars[demo].project.name }}"
|
||||||
playbook: "{{hostvars.localhost[demo].playbook}}"
|
playbook: "{{ vars[demo].playbook }}"
|
||||||
fact_caching_enabled: "{{hostvars.localhost[demo].fact_caching_enabled | default('no')}}"
|
fact_caching_enabled: "{{ vars[demo].fact_caching_enabled | default('false') }}"
|
||||||
credential: "{{hostvars.localhost[demo].credential}}"
|
credential: "{{ vars[demo].credential }}"
|
||||||
survey_enabled: "{{hostvars.localhost[demo].survey_enabled}}"
|
survey_enabled: "{{ vars[demo].survey_enabled }}"
|
||||||
survey_spec: "{{hostvars.localhost[demo].survey_spec}}"
|
survey_spec: "{{ vars[demo].survey_spec}}"
|
||||||
tower_username: "{{my_tower_username}}"
|
tower_username: "{{ my_tower_username }}"
|
||||||
tower_password: "{{my_tower_password}}"
|
tower_password: "{{ my_tower_password }}"
|
||||||
tower_host: "{{my_tower_host}}"
|
tower_host: "{{ my_tower_host }}"
|
||||||
validate_certs: no
|
validate_certs: false
|
||||||
when:
|
when:
|
||||||
- workshop_type in hostvars.localhost[demo].workshop_type
|
- workshop_type in vars[demo].workshop_type
|
||||||
- hostvars.localhost[demo].survey_enabled
|
- vars[demo].survey_enabled
|
||||||
|
|||||||
@@ -1,56 +1,64 @@
|
|||||||
---
|
---
|
||||||
- name: block for job template (non-workflow)
|
- name: block for job template loop
|
||||||
block:
|
block:
|
||||||
- name: add tower project
|
- name: "add tower project job_template_loop.yml"
|
||||||
tower_project:
|
tower_project:
|
||||||
name: "{{item.value.project.name}}"
|
name: "{{ item.value.project.name }}"
|
||||||
description: "{{item.value.project.description}}"
|
description: "{{ item.value.project.description }}"
|
||||||
organization: "{{item.value.project.organization}}"
|
organization: "{{ item.value.project.organization }}"
|
||||||
scm_type: "{{item.value.project.scm_type}}"
|
scm_type: "{{ item.value.project.scm_type }}"
|
||||||
scm_url: "{{item.value.project.scm_url}}"
|
scm_url: "{{ item.value.project.scm_url }}"
|
||||||
tower_username: "{{my_tower_username}}"
|
tower_username: "{{ my_tower_username }}"
|
||||||
tower_password: "{{my_tower_password}}"
|
tower_password: "{{ my_tower_password }}"
|
||||||
tower_host: "{{my_tower_host}}"
|
tower_host: "{{ my_tower_host }}"
|
||||||
validate_certs: no
|
validate_certs: false
|
||||||
|
when:
|
||||||
|
- workshop_type in item.value.workshop_type
|
||||||
|
|
||||||
- name: "add job template {{item.value.name}} without survey"
|
- name: "add job template {{ item.value.name }} without survey job_template_loop.yml"
|
||||||
tower_job_template:
|
tower_job_template:
|
||||||
name: "{{item.value.name}}"
|
name: "{{ item.value.name }}"
|
||||||
description: "{{item.value.description}}"
|
description: "{{ item.value.description }}"
|
||||||
job_type: "{{item.value.job_type}}"
|
job_type: "{{ item.value.job_type }}"
|
||||||
inventory: "{{item.value.inventory}}"
|
inventory: "{{ item.value.inventory}}"
|
||||||
project: "{{item.value.project.name}}"
|
project: "{{ item.value.project.name }}"
|
||||||
playbook: "{{item.value.playbook}}"
|
playbook: "{{ item.value.playbook}}"
|
||||||
fact_caching_enabled: "{{item.value.fact_caching_enabled | default('no')}}"
|
fact_caching_enabled: "{{ item.value.fact_caching_enabled | default('false')}}"
|
||||||
credential: "{{item.value.credential}}"
|
credential: "{{ item.value.credential }}"
|
||||||
survey_enabled: "{{item.value.survey_enabled}}"
|
survey_enabled: "{{ item.value.survey_enabled }}"
|
||||||
tower_username: "{{my_tower_username}}"
|
tower_username: "{{ my_tower_username }}"
|
||||||
tower_password: "{{my_tower_password}}"
|
tower_password: "{{ my_tower_password }}"
|
||||||
tower_host: "{{my_tower_host}}"
|
tower_host: "{{ my_tower_host }}"
|
||||||
validate_certs: no
|
validate_certs: false
|
||||||
when:
|
when:
|
||||||
- workshop_type in item.value.workshop_type
|
- workshop_type in item.value.workshop_type
|
||||||
- not item.value.survey_enabled
|
- not item.value.survey_enabled
|
||||||
|
register: add_project
|
||||||
|
until: add_project is not failed
|
||||||
|
retries: 5
|
||||||
|
|
||||||
- name: "add job template {{item.value.name}} with survey"
|
- name: "add job template {{ item.value.name }} with survey"
|
||||||
tower_job_template:
|
tower_job_template:
|
||||||
name: "{{item.value.name}}"
|
name: "{{ item.value.name }}"
|
||||||
description: "{{item.value.description}}"
|
description: "{{ item.value.description }}"
|
||||||
job_type: "{{item.value.job_type}}"
|
job_type: "{{ item.value.job_type }}"
|
||||||
inventory: "{{item.value.inventory}}"
|
inventory: "{{ item.value.inventory}}"
|
||||||
project: "{{item.value.project.name}}"
|
project: "{{ item.value.project.name }}"
|
||||||
playbook: "{{item.value.playbook}}"
|
playbook: "{{ item.value.playbook}}"
|
||||||
fact_caching_enabled: "{{item.value.fact_caching_enabled | default('no')}}"
|
fact_caching_enabled: "{{ item.value.fact_caching_enabled | default('false') }}"
|
||||||
credential: "{{item.value.credential}}"
|
credential: "{{ item.value.credential }}"
|
||||||
survey_enabled: "{{item.value.survey_enabled}}"
|
survey_enabled: "{{ item.value.survey_enabled }}"
|
||||||
survey_spec: "{{item.value.survey_spec}}"
|
survey_spec: "{{ item.value.survey_spec}}"
|
||||||
tower_username: "{{my_tower_username}}"
|
tower_username: "{{ my_tower_username }}"
|
||||||
tower_password: "{{my_tower_password}}"
|
tower_password: "{{ my_tower_password }}"
|
||||||
tower_host: "{{my_tower_host}}"
|
tower_host: "{{ my_tower_host }}"
|
||||||
validate_certs: no
|
validate_certs: false
|
||||||
when:
|
when:
|
||||||
- workshop_type in item.value.workshop_type
|
- workshop_type in item.value.workshop_type
|
||||||
- item.value.survey_enabled
|
- item.value.survey_enabled
|
||||||
|
register: add_project
|
||||||
|
until: add_project is not failed
|
||||||
|
retries: 5
|
||||||
when:
|
when:
|
||||||
- item.value.workflow is not defined or not item.value.workflow
|
- item.value.workflow is not defined or not item.value.workflow
|
||||||
|
|
||||||
@@ -59,3 +67,4 @@
|
|||||||
when:
|
when:
|
||||||
- item.value.workflow is defined
|
- item.value.workflow is defined
|
||||||
- item.value.workflow
|
- item.value.workflow
|
||||||
|
- workshop_type in item.value.workshop_type
|
||||||
|
|||||||
@@ -1,22 +1,37 @@
|
|||||||
---
|
---
|
||||||
|
- name: set facts from role vars
|
||||||
|
set_fact:
|
||||||
|
demo_list: "{{(dict(vars|dictsort|rejectattr('0', 'match', 'ansible_')|selectattr('1.name', 'defined'))|dict2items)|map(attribute='key')|list}}"
|
||||||
|
|
||||||
- name: provide info to terminal window
|
- name: provide info to terminal window
|
||||||
debug:
|
debug:
|
||||||
msg: "install {{demo}} on {{my_tower_host}}"
|
msg:
|
||||||
|
- "install {{ vars.demo }} on {{ my_tower_host }}"
|
||||||
|
- "available demos are: {{demo_list}}"
|
||||||
|
|
||||||
|
- name: make sure demo is a valid demo
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- vars.demo is defined
|
||||||
|
- vars.demo in demo_list or vars.demo == "all"
|
||||||
|
msg:
|
||||||
|
- "demo must be defined and be one of: {{demo_list}}"
|
||||||
|
- "full list can be found on https://github.com/ansible/product-demos"
|
||||||
|
|
||||||
- name: install all job templates
|
- name: install all job templates
|
||||||
include_tasks: job_template_loop.yml
|
include_tasks: job_template_loop.yml
|
||||||
loop: "{{dict(hostvars[inventory_hostname]|dictsort|rejectattr('0', 'match', 'ansible_')|selectattr('1.name', 'defined'))|dict2items}}"
|
loop: "{{ dict(vars|dictsort|rejectattr('0', 'match', 'ansible_')|selectattr('1.name', 'defined'))|dict2items }}"
|
||||||
when: demo == "all"
|
when: demo == "all"
|
||||||
|
|
||||||
- name: install single job template
|
- name: install single job template
|
||||||
include_tasks: job_template.yml
|
include_tasks: job_template.yml
|
||||||
when:
|
when:
|
||||||
- demo != "all"
|
- demo != "all"
|
||||||
- hostvars[inventory_hostname][demo].workflow is not defined or not hostvars[inventory_hostname][demo].workflow
|
- vars[demo].workflow is not defined or not vars[demo].workflow
|
||||||
|
|
||||||
- name: install single workflow
|
- name: install single workflow
|
||||||
include_tasks: workflow.yml
|
include_tasks: workflow.yml
|
||||||
when:
|
when:
|
||||||
- demo != "all"
|
- demo != "all"
|
||||||
- hostvars[inventory_hostname][demo].workflow is defined
|
- vars[demo].workflow is defined
|
||||||
- hostvars[inventory_hostname][demo].workflow
|
- vars[demo].workflow
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
---
|
---
|
||||||
#these tasks will install a workflow
|
# these tasks will install a workflow
|
||||||
|
|
||||||
- name: "install all job templates in relation to workflow {{hostvars[inventory_hostname][demo].name}}"
|
- name: "install all job templates in relation to workflow {{ hostvars[inventory_hostname][demo].name }}"
|
||||||
include_tasks: add_job_template.yml
|
include_tasks: add_job_template.yml
|
||||||
loop: "{{hostvars[inventory_hostname][demo].job_templates|dict2items}}"
|
loop: "{{ hostvars[inventory_hostname][demo].job_templates|dict2items }}"
|
||||||
|
|
||||||
- name: "install workflow template {{hostvars[inventory_hostname][demo].name}}"
|
- name: "install workflow template {{ hostvars[inventory_hostname][demo].name }}"
|
||||||
tower_workflow_template:
|
tower_workflow_template:
|
||||||
name: "{{hostvars[inventory_hostname][demo].name}}"
|
name: "{{ hostvars[inventory_hostname][demo].name }}"
|
||||||
description: "{{hostvars[inventory_hostname][demo].description}}"
|
description: "{{ hostvars[inventory_hostname][demo].description }}"
|
||||||
organization: "{{hostvars[inventory_hostname][demo].organization}}"
|
organization: "{{ hostvars[inventory_hostname][demo].organization }}"
|
||||||
schema: "{{ hostvars[inventory_hostname][demo].schema}}"
|
schema: "{{ hostvars[inventory_hostname][demo].schema }}"
|
||||||
tower_username: "{{my_tower_username}}"
|
tower_username: "{{ my_tower_username }}"
|
||||||
tower_password: "{{my_tower_password}}"
|
tower_password: "{{ my_tower_password }}"
|
||||||
tower_host: "{{my_tower_host}}"
|
tower_host: "{{ my_tower_host }}"
|
||||||
validate_certs: no
|
validate_certs: false
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
---
|
---
|
||||||
- name: "INSIDE LOOP - install all job templates in relation to workflow {{item.value.name}}"
|
- name: "INSIDE LOOP - install all job templates in relation to workflow {{ item.value.name }}"
|
||||||
include_tasks: job_template_loop.yml
|
include_tasks: job_template_loop.yml
|
||||||
loop: "{{item.value.job_templates|dict2items}}"
|
loop: "{{ item.value.job_templates|dict2items}}"
|
||||||
|
|
||||||
- name: "INSIDE LOOP - install workflow template {{item.value.name}}"
|
- name: "INSIDE LOOP - install workflow template {{ item.value.name }}"
|
||||||
tower_workflow_template:
|
tower_workflow_template:
|
||||||
name: "{{item.value.name}}"
|
name: "{{ item.value.name }}"
|
||||||
description: "{{item.value.description}}"
|
description: "{{ item.value.description }}"
|
||||||
organization: "{{item.value.organization}}"
|
organization: "{{ item.value.organization }}"
|
||||||
schema: "{{item.value.schema}}"
|
schema: "{{ item.value.schema}}"
|
||||||
tower_username: "{{my_tower_username}}"
|
tower_username: "{{my_tower_username }}"
|
||||||
tower_password: "{{my_tower_password}}"
|
tower_password: "{{my_tower_password }}"
|
||||||
tower_host: "{{my_tower_host}}"
|
tower_host: "{{my_tower_host }}"
|
||||||
validate_certs: no
|
validate_certs: false
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ deploy_application:
|
|||||||
inventory: "Workshop Inventory"
|
inventory: "Workshop Inventory"
|
||||||
playbook: "playbooks/01_deploy_application.yml"
|
playbook: "playbooks/01_deploy_application.yml"
|
||||||
credential: "Workshop Credential"
|
credential: "Workshop Credential"
|
||||||
survey_enabled: yes
|
survey_enabled: false
|
||||||
survey_spec:
|
survey_spec:
|
||||||
name: Deploy application survey
|
name: Deploy application survey
|
||||||
description: Which application do you want to install?
|
description: Which application do you want to install?
|
||||||
@@ -34,3 +34,4 @@ deploy_application:
|
|||||||
workshop_type:
|
workshop_type:
|
||||||
- f5
|
- f5
|
||||||
- rhel
|
- rhel
|
||||||
|
- rhel_90
|
||||||
@@ -8,15 +8,15 @@ patching:
|
|||||||
inventory: "Workshop Inventory"
|
inventory: "Workshop Inventory"
|
||||||
playbook: "playbooks/02_patching.yml"
|
playbook: "playbooks/02_patching.yml"
|
||||||
credential: "Workshop Credential"
|
credential: "Workshop Credential"
|
||||||
survey_enabled: yes
|
survey_enabled: true
|
||||||
survey_spec:
|
survey_spec:
|
||||||
name: ''
|
name: ''
|
||||||
description: ''
|
description: ''
|
||||||
spec:
|
spec:
|
||||||
- question_name: 'Enter host to configure'
|
- question_name: 'Enter host to configure'
|
||||||
type: text
|
type: text
|
||||||
variable: HOSTS
|
variable: HOSTS
|
||||||
required: false
|
required: false
|
||||||
project:
|
project:
|
||||||
name: "Ansible official demo project"
|
name: "Ansible official demo project"
|
||||||
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
||||||
@@ -26,3 +26,4 @@ patching:
|
|||||||
workshop_type:
|
workshop_type:
|
||||||
- f5
|
- f5
|
||||||
- rhel
|
- rhel
|
||||||
|
- rhel_90
|
||||||
57
roles/install_demo/vars/main/03_hardening.yml
Normal file
57
roles/install_demo/vars/main/03_hardening.yml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
hardening:
|
||||||
|
author: "Will Tome"
|
||||||
|
category: security
|
||||||
|
name: "SERVER / Hardening"
|
||||||
|
description: "hardening for Linux servers"
|
||||||
|
job_type: "run"
|
||||||
|
inventory: "Workshop Inventory"
|
||||||
|
playbook: "playbooks/03_hardening.yml"
|
||||||
|
credential: "Workshop Credential"
|
||||||
|
survey_enabled: true
|
||||||
|
survey_spec:
|
||||||
|
name: ''
|
||||||
|
description: ''
|
||||||
|
spec:
|
||||||
|
- question_name: 'Enter host to configure'
|
||||||
|
type: text
|
||||||
|
variable: HOSTS
|
||||||
|
required: false
|
||||||
|
- question_name: Configure Firewall?
|
||||||
|
type: multiplechoice
|
||||||
|
variable: harden_firewall
|
||||||
|
required: false
|
||||||
|
choices:
|
||||||
|
- 'Yes'
|
||||||
|
- 'No'
|
||||||
|
- question_name: Configure Time?
|
||||||
|
type: multiplechoice
|
||||||
|
variable: harden_time
|
||||||
|
required: false
|
||||||
|
choices:
|
||||||
|
- 'Yes'
|
||||||
|
- 'No'
|
||||||
|
- question_name: Harden SSH?
|
||||||
|
type: multiplechoice
|
||||||
|
variable: harden_ssh
|
||||||
|
required: false
|
||||||
|
choices:
|
||||||
|
- 'Yes'
|
||||||
|
- 'No'
|
||||||
|
- question_name: PCI Baseline?
|
||||||
|
type: multiplechoice
|
||||||
|
variable: harden_pci
|
||||||
|
required: false
|
||||||
|
choices:
|
||||||
|
- 'Yes'
|
||||||
|
- 'No'
|
||||||
|
project:
|
||||||
|
name: "Ansible official demo project"
|
||||||
|
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
||||||
|
organization: "Default"
|
||||||
|
scm_type: git
|
||||||
|
scm_url: "https://github.com/ansible/product-demos"
|
||||||
|
workshop_type:
|
||||||
|
- f5
|
||||||
|
- rhel
|
||||||
|
- rhel_90
|
||||||
@@ -8,11 +8,11 @@ fact_scan:
|
|||||||
inventory: "Workshop Inventory"
|
inventory: "Workshop Inventory"
|
||||||
playbook: scan_facts.yml
|
playbook: scan_facts.yml
|
||||||
credential: "Workshop Credential"
|
credential: "Workshop Credential"
|
||||||
survey_enabled: no
|
survey_enabled: false
|
||||||
fact_caching_enabled: yes
|
fact_caching_enabled: true
|
||||||
project:
|
project:
|
||||||
name: "Ansible official awx-facts-playbooks project"
|
name: "Ansible official awx-facts-playbooks project"
|
||||||
description: "Repository containing playbooks to support fact scanning in Ansible Tower and AWX"
|
description: "playbooks to support fact scanning in Ansible Tower"
|
||||||
organization: "Default"
|
organization: "Default"
|
||||||
scm_type: git
|
scm_type: git
|
||||||
scm_url: "https://github.com/ansible/awx-facts-playbooks.git"
|
scm_url: "https://github.com/ansible/awx-facts-playbooks.git"
|
||||||
@@ -20,3 +20,4 @@ fact_scan:
|
|||||||
- f5
|
- f5
|
||||||
- rhel
|
- rhel
|
||||||
- windows
|
- windows
|
||||||
|
- rhel_90
|
||||||
@@ -8,33 +8,33 @@ grant_sudo:
|
|||||||
inventory: "Workshop Inventory"
|
inventory: "Workshop Inventory"
|
||||||
playbook: playbooks/05_grant_sudo.yml
|
playbook: playbooks/05_grant_sudo.yml
|
||||||
credential: "Workshop Credential"
|
credential: "Workshop Credential"
|
||||||
survey_enabled: yes
|
survey_enabled: true
|
||||||
survey_spec:
|
survey_spec:
|
||||||
name: ''
|
name: ''
|
||||||
description: ''
|
description: ''
|
||||||
spec:
|
spec:
|
||||||
- question_name: 'Enter host to configure'
|
- question_name: 'Enter host to configure'
|
||||||
type: text
|
type: text
|
||||||
variable: HOSTS
|
variable: HOSTS
|
||||||
required: false
|
required: false
|
||||||
- question_name: Username
|
- question_name: Username
|
||||||
type: text
|
type: text
|
||||||
variable: sudo_user
|
variable: sudo_user
|
||||||
required: true
|
required: true
|
||||||
- question_name: Time
|
- question_name: Time
|
||||||
type: integer
|
type: integer
|
||||||
variable: sudo_count
|
variable: sudo_count
|
||||||
required: true
|
required: true
|
||||||
default: 10
|
default: 10
|
||||||
- question_name: Units
|
- question_name: Units
|
||||||
type: multiplechoice
|
type: multiplechoice
|
||||||
variable: harden_ssh
|
variable: harden_ssh
|
||||||
required: true
|
required: true
|
||||||
choices:
|
choices:
|
||||||
- 'minutes'
|
- 'minutes'
|
||||||
- 'hours'
|
- 'hours'
|
||||||
- 'days'
|
- 'days'
|
||||||
default: minutes
|
default: minutes
|
||||||
project:
|
project:
|
||||||
name: "Ansible official demo project"
|
name: "Ansible official demo project"
|
||||||
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
||||||
@@ -44,3 +44,4 @@ grant_sudo:
|
|||||||
workshop_type:
|
workshop_type:
|
||||||
- f5
|
- f5
|
||||||
- rhel
|
- rhel
|
||||||
|
- rhel_90
|
||||||
@@ -8,15 +8,15 @@ debug_info:
|
|||||||
inventory: "Workshop Inventory"
|
inventory: "Workshop Inventory"
|
||||||
playbook: playbooks/06_debug_info.yml
|
playbook: playbooks/06_debug_info.yml
|
||||||
credential: "Workshop Credential"
|
credential: "Workshop Credential"
|
||||||
survey_enabled: yes
|
survey_enabled: false
|
||||||
survey_spec:
|
survey_spec:
|
||||||
name: ''
|
name: ''
|
||||||
description: ''
|
description: ''
|
||||||
spec:
|
spec:
|
||||||
- question_name: 'Enter host to configure'
|
- question_name: 'Enter host to configure'
|
||||||
type: text
|
type: text
|
||||||
variable: HOSTS
|
variable: HOSTS
|
||||||
required: false
|
required: false
|
||||||
project:
|
project:
|
||||||
name: "Ansible official demo project"
|
name: "Ansible official demo project"
|
||||||
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
||||||
@@ -26,3 +26,4 @@ debug_info:
|
|||||||
workshop_type:
|
workshop_type:
|
||||||
- f5
|
- f5
|
||||||
- rhel
|
- rhel
|
||||||
|
- rhel_90
|
||||||
@@ -8,15 +8,15 @@ security_patching:
|
|||||||
inventory: "Workshop Inventory"
|
inventory: "Workshop Inventory"
|
||||||
playbook: playbooks/02_patching.yml
|
playbook: playbooks/02_patching.yml
|
||||||
credential: "Workshop Credential"
|
credential: "Workshop Credential"
|
||||||
survey_enabled: yes
|
survey_enabled: true
|
||||||
survey_spec:
|
survey_spec:
|
||||||
name: ''
|
name: ''
|
||||||
description: ''
|
description: ''
|
||||||
spec:
|
spec:
|
||||||
- question_name: 'Enter host to configure'
|
- question_name: 'Enter host to configure'
|
||||||
type: text
|
type: text
|
||||||
variable: HOSTS
|
variable: HOSTS
|
||||||
required: false
|
required: false
|
||||||
project:
|
project:
|
||||||
name: "Ansible official demo project"
|
name: "Ansible official demo project"
|
||||||
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
||||||
@@ -26,3 +26,4 @@ security_patching:
|
|||||||
workshop_type:
|
workshop_type:
|
||||||
- f5
|
- f5
|
||||||
- rhel
|
- rhel
|
||||||
|
- rhel_90
|
||||||
@@ -8,7 +8,7 @@ openscap:
|
|||||||
inventory: "Workshop Inventory"
|
inventory: "Workshop Inventory"
|
||||||
playbook: "playbooks/10_openscap.yml"
|
playbook: "playbooks/10_openscap.yml"
|
||||||
credential: "Workshop Credential"
|
credential: "Workshop Credential"
|
||||||
survey_enabled: no
|
survey_enabled: false
|
||||||
project:
|
project:
|
||||||
name: "Ansible official demo project"
|
name: "Ansible official demo project"
|
||||||
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
||||||
@@ -18,3 +18,4 @@ openscap:
|
|||||||
workshop_type:
|
workshop_type:
|
||||||
- f5
|
- f5
|
||||||
- rhel
|
- rhel
|
||||||
|
- rhel_90
|
||||||
@@ -3,12 +3,14 @@ developer_report:
|
|||||||
author: "Sean Cavanaugh"
|
author: "Sean Cavanaugh"
|
||||||
category: developer
|
category: developer
|
||||||
name: "Create Developer Report"
|
name: "Create Developer Report"
|
||||||
description: 'Create HTML report using <a href="https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variables-discovered-from-systems-facts">Ansible facts</a>'
|
description: >
|
||||||
|
'Create HTML report using
|
||||||
|
<a href="https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variables-discovered-from-systems-facts">Ansible facts</a>'
|
||||||
job_type: "run"
|
job_type: "run"
|
||||||
inventory: "Workshop Inventory"
|
inventory: "Workshop Inventory"
|
||||||
playbook: "playbooks/11_developer_report.yml"
|
playbook: "playbooks/11_developer_report.yml"
|
||||||
credential: "Workshop Credential"
|
credential: "Workshop Credential"
|
||||||
survey_enabled: no
|
survey_enabled: false
|
||||||
project:
|
project:
|
||||||
name: "Ansible official demo project"
|
name: "Ansible official demo project"
|
||||||
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
||||||
@@ -18,3 +20,4 @@ developer_report:
|
|||||||
workshop_type:
|
workshop_type:
|
||||||
- f5
|
- f5
|
||||||
- rhel
|
- rhel
|
||||||
|
- rhel_90
|
||||||
@@ -11,11 +11,11 @@ f5_bigip_workflow:
|
|||||||
schema:
|
schema:
|
||||||
- job_template: 'F5 - add nodes'
|
- job_template: 'F5 - add nodes'
|
||||||
success:
|
success:
|
||||||
- job_template: 'F5 - add pool'
|
- job_template: 'F5 - add pool'
|
||||||
success:
|
|
||||||
- job_template: 'F5 - add pool members'
|
|
||||||
success:
|
success:
|
||||||
- job_template: 'F5 - add virtual server'
|
- job_template: 'F5 - add pool members'
|
||||||
|
success:
|
||||||
|
- job_template: 'F5 - add virtual server'
|
||||||
job_templates:
|
job_templates:
|
||||||
f5_add_nodes:
|
f5_add_nodes:
|
||||||
name: 'F5 - add nodes'
|
name: 'F5 - add nodes'
|
||||||
@@ -24,7 +24,7 @@ f5_bigip_workflow:
|
|||||||
inventory: 'Workshop Inventory'
|
inventory: 'Workshop Inventory'
|
||||||
playbook: 'exercises/ansible_f5/1.2-add-node/bigip-node.yml'
|
playbook: 'exercises/ansible_f5/1.2-add-node/bigip-node.yml'
|
||||||
credential: 'Workshop Credential'
|
credential: 'Workshop Credential'
|
||||||
survey_enabled: no
|
survey_enabled: false
|
||||||
project:
|
project:
|
||||||
name: 'Ansible Workshops Project'
|
name: 'Ansible Workshops Project'
|
||||||
description: 'official workshops from Ansible'
|
description: 'official workshops from Ansible'
|
||||||
@@ -40,7 +40,7 @@ f5_bigip_workflow:
|
|||||||
inventory: 'Workshop Inventory'
|
inventory: 'Workshop Inventory'
|
||||||
playbook: 'exercises/ansible_f5/1.3-add-pool/bigip-pool.yml'
|
playbook: 'exercises/ansible_f5/1.3-add-pool/bigip-pool.yml'
|
||||||
credential: 'Workshop Credential'
|
credential: 'Workshop Credential'
|
||||||
survey_enabled: no
|
survey_enabled: false
|
||||||
project:
|
project:
|
||||||
name: 'Ansible Workshops Project'
|
name: 'Ansible Workshops Project'
|
||||||
description: 'official workshops from Ansible'
|
description: 'official workshops from Ansible'
|
||||||
@@ -56,7 +56,7 @@ f5_bigip_workflow:
|
|||||||
inventory: 'Workshop Inventory'
|
inventory: 'Workshop Inventory'
|
||||||
playbook: 'exercises/ansible_f5/1.4-add-pool-members/bigip-pool-members.yml'
|
playbook: 'exercises/ansible_f5/1.4-add-pool-members/bigip-pool-members.yml'
|
||||||
credential: 'Workshop Credential'
|
credential: 'Workshop Credential'
|
||||||
survey_enabled: no
|
survey_enabled: false
|
||||||
project:
|
project:
|
||||||
name: 'Ansible Workshops Project'
|
name: 'Ansible Workshops Project'
|
||||||
description: 'official workshops from Ansible'
|
description: 'official workshops from Ansible'
|
||||||
@@ -72,7 +72,7 @@ f5_bigip_workflow:
|
|||||||
inventory: 'Workshop Inventory'
|
inventory: 'Workshop Inventory'
|
||||||
playbook: 'exercises/ansible_f5/1.5-add-virtual-server/bigip-virtual-server.yml'
|
playbook: 'exercises/ansible_f5/1.5-add-virtual-server/bigip-virtual-server.yml'
|
||||||
credential: 'Workshop Credential'
|
credential: 'Workshop Credential'
|
||||||
survey_enabled: no
|
survey_enabled: false
|
||||||
project:
|
project:
|
||||||
name: 'Ansible Workshops Project'
|
name: 'Ansible Workshops Project'
|
||||||
description: 'official workshops from Ansible'
|
description: 'official workshops from Ansible'
|
||||||
@@ -8,7 +8,7 @@ windows_iis:
|
|||||||
inventory: "Workshop Inventory"
|
inventory: "Workshop Inventory"
|
||||||
playbook: "playbooks/30_windows_iis.yml"
|
playbook: "playbooks/30_windows_iis.yml"
|
||||||
credential: "Demo Credential"
|
credential: "Demo Credential"
|
||||||
survey_enabled: no
|
survey_enabled: false
|
||||||
project:
|
project:
|
||||||
name: "Ansible official demo project"
|
name: "Ansible official demo project"
|
||||||
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
description: "prescriptive demos from Red Hat Management Buisness Unit"
|
||||||
Reference in New Issue
Block a user