linting
This commit is contained in:
145
cloud/setup.yml
145
cloud/setup.yml
@@ -14,19 +14,6 @@ controller_execution_environments:
|
||||
- name: Cloud Services Execution Environment
|
||||
image: quay.io/scottharwell/cloud-ee:latest
|
||||
|
||||
controller_projects:
|
||||
- name: Ansible Cloud Content Lab - AWS
|
||||
organization: Default
|
||||
scm_type: git
|
||||
wait: yes
|
||||
#scm_url: https://github.com/ansible-content-lab/aws.infrastructure_config_demos.git
|
||||
scm_url: https://github.com/willtome/aws.infrastructure_config_demos.git
|
||||
default_environment: Cloud Services Execution Environment
|
||||
|
||||
controller_execution_environments:
|
||||
- name: Cloud Services Execution Environment
|
||||
image: quay.io/scottharwell/cloud-ee:latest
|
||||
|
||||
controller_projects:
|
||||
- name: Ansible Cloud Content Lab - AWS
|
||||
organization: Default
|
||||
@@ -99,22 +86,12 @@ controller_groups:
|
||||
variables:
|
||||
ansible_user: ec2-user
|
||||
|
||||
controller_groups:
|
||||
- name: cloud_aws
|
||||
inventory: Workshop Inventory
|
||||
variables:
|
||||
ansible_user: ec2-user
|
||||
|
||||
controller_templates:
|
||||
- name: Cloud / AWS / Create Peer Infrastructure
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
<<<<<<< HEAD
|
||||
- AWS
|
||||
=======
|
||||
- AWS
|
||||
>>>>>>> main
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_create_peer_network.yml
|
||||
inventory: Workshop Inventory
|
||||
@@ -130,11 +107,7 @@ controller_templates:
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
<<<<<<< HEAD
|
||||
- AWS
|
||||
=======
|
||||
- AWS
|
||||
>>>>>>> main
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_delete_peer_network.yml
|
||||
inventory: Workshop Inventory
|
||||
@@ -148,11 +121,7 @@ controller_templates:
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
<<<<<<< HEAD
|
||||
- AWS
|
||||
=======
|
||||
- AWS
|
||||
>>>>>>> main
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_create_transit_network.yml
|
||||
inventory: Workshop Inventory
|
||||
@@ -168,11 +137,7 @@ controller_templates:
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
<<<<<<< HEAD
|
||||
- AWS
|
||||
=======
|
||||
- AWS
|
||||
>>>>>>> main
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_delete_transit_network.yml
|
||||
inventory: Workshop Inventory
|
||||
@@ -182,20 +147,11 @@ controller_templates:
|
||||
extra_vars:
|
||||
aws_region: us-east-1
|
||||
|
||||
<<<<<<< HEAD
|
||||
- name: Cloud / Create Infra
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
- AWS
|
||||
# - Azure
|
||||
=======
|
||||
- name: Cloud / AWS / Create VPC
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
- AWS
|
||||
>>>>>>> main
|
||||
- AWS
|
||||
project: Ansible official demo project
|
||||
playbook: cloud/create_vpc.yml
|
||||
inventory: Workshop Inventory
|
||||
@@ -213,29 +169,13 @@ controller_templates:
|
||||
type: text
|
||||
variable: aws_owner_tag
|
||||
required: true
|
||||
<<<<<<< HEAD
|
||||
choices:
|
||||
- aws
|
||||
# - azure
|
||||
- question_name: AWS Public Key (only required for aws provider)
|
||||
type: textarea
|
||||
required: false
|
||||
variable: aws_public_key
|
||||
=======
|
||||
>>>>>>> main
|
||||
|
||||
- name: Cloud / AWS / Create VM
|
||||
job_type: run
|
||||
organization: Default
|
||||
<<<<<<< HEAD
|
||||
credentials:
|
||||
- AWS
|
||||
- Workshop Credential
|
||||
=======
|
||||
credentials:
|
||||
- AWS
|
||||
- Workshop Credential
|
||||
>>>>>>> main
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_create_vm.yml
|
||||
inventory: Workshop Inventory
|
||||
@@ -285,33 +225,19 @@ controller_templates:
|
||||
type: text
|
||||
variable: aws_vpc_subnet_name
|
||||
required: true
|
||||
<<<<<<< HEAD
|
||||
default: dmz-subnet
|
||||
=======
|
||||
default: aws-test-subnet
|
||||
>>>>>>> main
|
||||
- question_name: Security Group
|
||||
type: text
|
||||
variable: aws_securitygroup_name
|
||||
required: true
|
||||
<<<<<<< HEAD
|
||||
default: dmz-sg
|
||||
=======
|
||||
default: aws-test-sg
|
||||
>>>>>>> main
|
||||
|
||||
- name: Cloud / AWS / Delete VM
|
||||
job_type: run
|
||||
organization: Default
|
||||
<<<<<<< HEAD
|
||||
credentials:
|
||||
- AWS
|
||||
- Workshop Credential
|
||||
=======
|
||||
credentials:
|
||||
- AWS
|
||||
- Workshop Credential
|
||||
>>>>>>> main
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_delete_inventory_vm.yml
|
||||
inventory: Workshop Inventory
|
||||
@@ -328,7 +254,6 @@ controller_templates:
|
||||
- question_name: Name or Pattern
|
||||
type: text
|
||||
variable: _hosts
|
||||
<<<<<<< HEAD
|
||||
required: true
|
||||
|
||||
- name: Cloud / AWS / VPC Report
|
||||
@@ -339,17 +264,6 @@ controller_templates:
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_create_reports.yml
|
||||
inventory: Workshop Inventory
|
||||
=======
|
||||
required: true
|
||||
|
||||
- name: Cloud / AWS / VPC Report
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
- AWS
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_create_reports.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
@@ -361,7 +275,7 @@ controller_templates:
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
- AWS
|
||||
- AWS
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_create_reports.yml
|
||||
inventory: Workshop Inventory
|
||||
@@ -375,8 +289,8 @@ controller_templates:
|
||||
- name: Cloud / AWS / Create Keypair
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
- AWS
|
||||
credentials:
|
||||
- AWS
|
||||
project: Ansible official demo project
|
||||
playbook: cloud/aws_key.yml
|
||||
inventory: Workshop Inventory
|
||||
@@ -408,59 +322,16 @@ controller_workflows:
|
||||
- name: Deploy Cloud Stack in AWS
|
||||
description: A workflow to deploy a cloud stack
|
||||
organization: Default
|
||||
>>>>>>> main
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
extra_vars:
|
||||
<<<<<<< HEAD
|
||||
aws_region: us-east-1
|
||||
aws_report: vpc
|
||||
|
||||
- name: Cloud / AWS / Tags Report
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
- AWS
|
||||
project: Ansible Cloud Content Lab - AWS
|
||||
playbook: playbook_create_reports.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
extra_vars:
|
||||
aws_region: us-east-1
|
||||
aws_report: tags
|
||||
|
||||
- name: Cloud / AWS / Create Keypair
|
||||
job_type: run
|
||||
organization: Default
|
||||
credentials:
|
||||
- AWS
|
||||
project: Ansible official demo project
|
||||
playbook: cloud/aws_key.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
survey_enabled: true
|
||||
extra_vars:
|
||||
aws_region: us-east-1
|
||||
=======
|
||||
vm_deployment: cloud_stack
|
||||
survey_enabled: true
|
||||
>>>>>>> main
|
||||
survey:
|
||||
name: ''
|
||||
description: ''
|
||||
spec:
|
||||
<<<<<<< HEAD
|
||||
- question_name: Keypair Name
|
||||
type: text
|
||||
variable: aws_key_name
|
||||
required: true
|
||||
default: aws-test-key
|
||||
=======
|
||||
- question_name: Owner
|
||||
type: text
|
||||
variable: aws_owner_tag
|
||||
@@ -473,17 +344,10 @@ controller_workflows:
|
||||
- Dev
|
||||
- QA
|
||||
- Prod
|
||||
>>>>>>> main
|
||||
- question_name: Keypair Public Key
|
||||
type: textarea
|
||||
variable: aws_public_key
|
||||
required: true
|
||||
<<<<<<< HEAD
|
||||
- question_name: Owner
|
||||
type: text
|
||||
variable: aws_keypair_owner
|
||||
required: true
|
||||
=======
|
||||
- question_name: Email
|
||||
type: text
|
||||
variable: email
|
||||
@@ -558,4 +422,3 @@ controller_workflows:
|
||||
feedback: Failed to create AWS instance
|
||||
- identifier: Tag Report
|
||||
unified_job_template: Cloud / AWS / Tags Report
|
||||
>>>>>>> main
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
galaxy_info:
|
||||
author: morenod
|
||||
description: Role created to configure a client to execute openscap policies based on the information obtained from a Red Hat Satellite/Foreman Host.
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
- name: Install openscap client packages
|
||||
<<<<<<< HEAD
|
||||
ansible.builtin.yum:
|
||||
name:
|
||||
- openscap-scanner
|
||||
@@ -38,51 +37,11 @@
|
||||
force_basic_auth: false
|
||||
body_format: json
|
||||
validate_certs: false
|
||||
=======
|
||||
yum:
|
||||
name:
|
||||
- openscap-scanner
|
||||
- rubygem-foreman_scap_client
|
||||
state: present
|
||||
|
||||
- name: Get Policy parameters
|
||||
uri:
|
||||
url: "{{ foreman_server_url }}/api/v2/compliance/policies"
|
||||
method: GET
|
||||
user: "{{ foreman_username }}"
|
||||
password: "{{ foreman_password }}"
|
||||
force_basic_auth: yes
|
||||
body_format: json
|
||||
validate_certs: False
|
||||
register: policies
|
||||
no_log: "{{ foreman_operations_scap_client_secure_logging }}"
|
||||
|
||||
- name: Build policy {{ policy_name }} parameters
|
||||
set_fact:
|
||||
policy: "{{ policy | default([]) }} + {{ [item] }}"
|
||||
loop: "{{policies.json.results}}"
|
||||
when: item.name in policy_name or policy_name == 'all'
|
||||
|
||||
- name: Fail if no policy found with required name
|
||||
fail:
|
||||
when: policy is not defined
|
||||
|
||||
- name: Get scap content information
|
||||
uri:
|
||||
url: "{{ foreman_server_url }}/api/v2/compliance/scap_contents/{{item.scap_content_id}}"
|
||||
method: GET
|
||||
user: "{{ foreman_username }}"
|
||||
password: "{{ foreman_password }}"
|
||||
force_basic_auth: yes
|
||||
body_format: json
|
||||
validate_certs: False
|
||||
>>>>>>> main
|
||||
register: scapcontents
|
||||
loop: "{{ policy }}"
|
||||
no_log: "{{ foreman_operations_scap_client_secure_logging }}"
|
||||
|
||||
- name: Get tailoring content information
|
||||
<<<<<<< HEAD
|
||||
ansible.builtin.uri:
|
||||
url: "{{ foreman_server_url }}/api/v2/compliance/tailoring_files/{{ item.tailoring_file_id }}"
|
||||
method: GET
|
||||
@@ -91,23 +50,12 @@
|
||||
force_basic_auth: false
|
||||
body_format: json
|
||||
validate_certs: false
|
||||
=======
|
||||
uri:
|
||||
url: "{{ foreman_server_url }}/api/v2/compliance/tailoring_files/{{item.tailoring_file_id}}"
|
||||
method: GET
|
||||
user: "{{ foreman_username }}"
|
||||
password: "{{ foreman_password }}"
|
||||
force_basic_auth: yes
|
||||
body_format: json
|
||||
validate_certs: False
|
||||
>>>>>>> main
|
||||
register: tailoringfiles
|
||||
when: item.tailoring_file_id | int > 0 | d(False)
|
||||
loop: "{{ policy }}"
|
||||
no_log: "{{ foreman_operations_scap_client_secure_logging }}"
|
||||
|
||||
- name: Build scap content parameters
|
||||
<<<<<<< HEAD
|
||||
ansible.builtin.set_fact:
|
||||
scap_content: "{{ scap_content | default({}) | combine({item.json.id: item.json}) }}"
|
||||
loop: "{{ scapcontents.results }}"
|
||||
@@ -115,20 +63,10 @@
|
||||
- name: Build tailoring content parameters
|
||||
ansible.builtin.set_fact:
|
||||
tailoring_files: "{{ tailoring_files | default({}) | combine({item.json.id: item.json}) }}"
|
||||
=======
|
||||
set_fact:
|
||||
scap_content: "{{ scap_content | default({}) | combine({item.json.id: item.json }) }}"
|
||||
loop: "{{ scapcontents.results }}"
|
||||
|
||||
- name: Build tailoring content parameters
|
||||
set_fact:
|
||||
tailoring_files: "{{ tailoring_files | default({}) | combine({item.json.id: item.json }) }}"
|
||||
>>>>>>> main
|
||||
when: item.json is defined
|
||||
loop: "{{ tailoringfiles.results }}"
|
||||
|
||||
- name: Apply openscap client configuration template
|
||||
<<<<<<< HEAD
|
||||
ansible.builtin.template:
|
||||
src: openscap_client_config.yaml.j2
|
||||
dest: /etc/foreman_scap_client/config.yaml
|
||||
@@ -145,21 +83,3 @@
|
||||
# hour: "{{crontab_hour}}"
|
||||
# minute: "{{crontab_minute}}"
|
||||
# user: root
|
||||
=======
|
||||
template:
|
||||
src: openscap_client_config.yaml.j2
|
||||
dest: /etc/foreman_scap_client/config.yaml
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
#- name: Configure execution crontab
|
||||
# cron:
|
||||
# name: "Openscap Execution"
|
||||
# cron_file: 'foreman_openscap_client'
|
||||
# job: '/usr/bin/foreman_scap_client {{policy.id}} > /dev/null'
|
||||
# weekday: "{{crontab_weekdays}}"
|
||||
# hour: "{{crontab_hour}}"
|
||||
# minute: "{{crontab_minute}}"
|
||||
# user: root
|
||||
>>>>>>> main
|
||||
|
||||
@@ -51,149 +51,148 @@ controller_credentials:
|
||||
password: ansible123!
|
||||
|
||||
controller_inventory_sources:
|
||||
- name: Satellite Inventory
|
||||
inventory: Workshop Inventory
|
||||
credential: Satellite Inventory
|
||||
source: satellite6
|
||||
update_on_launch: false
|
||||
execution_environment: Control Plane Execution Environment
|
||||
overwrite: true
|
||||
source_vars:
|
||||
hostnames:
|
||||
- name.split('.')[0]
|
||||
groups:
|
||||
patch_bugs: foreman_content_attributes.errata_counts.bugfix
|
||||
patch_enhancements: foreman_content_attributes.errata_counts.enhancement
|
||||
patch_security: foreman_content_attributes.errata_counts.security
|
||||
keyed_groups:
|
||||
- prefix: env
|
||||
key: foreman_content_attributes.lifecycle_environment_name
|
||||
- prefix: cv
|
||||
key: foreman_content_attributes.content_view_name
|
||||
- prefix: os
|
||||
key: foreman_operatingsystem_name
|
||||
- prefix: scap
|
||||
key: foreman_compliance_status_label
|
||||
validate_certs: false
|
||||
group_prefix: satellite_
|
||||
- name: Satellite Inventory
|
||||
inventory: Workshop Inventory
|
||||
credential: Satellite Inventory
|
||||
source: satellite6
|
||||
update_on_launch: false
|
||||
execution_environment: Control Plane Execution Environment
|
||||
overwrite: true
|
||||
source_vars:
|
||||
hostnames:
|
||||
- name.split('.')[0]
|
||||
groups:
|
||||
patch_bugs: foreman_content_attributes.errata_counts.bugfix
|
||||
patch_enhancements: foreman_content_attributes.errata_counts.enhancement
|
||||
patch_security: foreman_content_attributes.errata_counts.security
|
||||
keyed_groups:
|
||||
- prefix: env
|
||||
key: foreman_content_attributes.lifecycle_environment_name
|
||||
- prefix: cv
|
||||
key: foreman_content_attributes.content_view_name
|
||||
- prefix: os
|
||||
key: foreman_operatingsystem_name
|
||||
- prefix: scap
|
||||
key: foreman_compliance_status_label
|
||||
validate_certs: false
|
||||
group_prefix: satellite_
|
||||
|
||||
controller_templates:
|
||||
- name: LINUX / Register with Satellite
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/server_register.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Workshop Credential
|
||||
- Satellite Credential
|
||||
extra_vars:
|
||||
org_id: "Default_Organization"
|
||||
survey_enabled: true
|
||||
survey:
|
||||
name: ''
|
||||
description: ''
|
||||
spec:
|
||||
- question_name: Server Name or Pattern
|
||||
type: text
|
||||
variable: HOSTS
|
||||
required: false
|
||||
- question_name: Choose Environment
|
||||
type: multiplechoice
|
||||
variable: env
|
||||
choices:
|
||||
- Dev
|
||||
- QA
|
||||
- Prod
|
||||
required: true
|
||||
- name: LINUX / Register with Satellite
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/server_register.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Workshop Credential
|
||||
- Satellite Credential
|
||||
extra_vars:
|
||||
org_id: "Default_Organization"
|
||||
survey_enabled: true
|
||||
survey:
|
||||
name: ''
|
||||
description: ''
|
||||
spec:
|
||||
- question_name: Server Name or Pattern
|
||||
type: text
|
||||
variable: HOSTS
|
||||
required: false
|
||||
- question_name: Choose Environment
|
||||
type: multiplechoice
|
||||
variable: env
|
||||
choices:
|
||||
- Dev
|
||||
- QA
|
||||
- Prod
|
||||
required: true
|
||||
|
||||
- name: LINUX / Compliance Scan with Satellite
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/server_openscap.yml
|
||||
inventory: Workshop Inventory
|
||||
execution_environment: Ansible Engine 2.9 execution environment
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Satellite Credential
|
||||
- Workshop Credential
|
||||
extra_vars:
|
||||
policy_scan: all
|
||||
survey_enabled: true
|
||||
survey:
|
||||
name: ''
|
||||
description: ''
|
||||
spec:
|
||||
- question_name: Server Name or Pattern
|
||||
type: text
|
||||
variable: HOSTS
|
||||
required: false
|
||||
- name: LINUX / Compliance Scan with Satellite
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/server_openscap.yml
|
||||
inventory: Workshop Inventory
|
||||
execution_environment: Ansible Engine 2.9 execution environment
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Satellite Credential
|
||||
- Workshop Credential
|
||||
extra_vars:
|
||||
policy_scan: all
|
||||
survey_enabled: true
|
||||
survey:
|
||||
name: ''
|
||||
description: ''
|
||||
spec:
|
||||
- question_name: Server Name or Pattern
|
||||
type: text
|
||||
variable: HOSTS
|
||||
required: false
|
||||
|
||||
- name: SATELLITE / Publish Content View Version
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/satellite_publish.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Satellite Credential
|
||||
extra_vars:
|
||||
env: Dev
|
||||
survey_enabled: true
|
||||
survey:
|
||||
name: ''
|
||||
description: ''
|
||||
spec:
|
||||
- question_name: Select Content View
|
||||
variable: content_view
|
||||
type: multiplechoice
|
||||
choices: "{{ satellite_content_views | selectattr('name', 'match', '^RHEL.*$') | map(attribute='name') | list}}"
|
||||
required: true
|
||||
- name: SATELLITE / Publish Content View Version
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/satellite_publish.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Satellite Credential
|
||||
extra_vars:
|
||||
env: Dev
|
||||
survey_enabled: true
|
||||
survey:
|
||||
name: ''
|
||||
description: ''
|
||||
spec:
|
||||
- question_name: Select Content View
|
||||
variable: content_view
|
||||
type: multiplechoice
|
||||
choices: "{{ satellite_content_views | selectattr('name', 'match', '^RHEL.*$') | map(attribute='name') | list}}"
|
||||
required: true
|
||||
|
||||
- name: SATELLITE / Promote Content View Version
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/satellite_promote.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Satellite Credential
|
||||
survey_enabled: true
|
||||
survey:
|
||||
name: ''
|
||||
description: ''
|
||||
spec:
|
||||
- question_name: Select Content View
|
||||
variable: content_view
|
||||
type: multiplechoice
|
||||
choices: "{{ satellite_content_views | selectattr('name', 'match', '^RHEL.*$') | map(attribute='name') | list}}"
|
||||
required: true
|
||||
- question_name: Current Lifecycle Environment
|
||||
variable: current_lifecycle_environment
|
||||
type: multiplechoice
|
||||
choices: "{{ satellite_lifecycle_environments | selectattr('name', 'match', '^RHEL.*$') | map(attribute='name') | list}}"
|
||||
required: true
|
||||
- question_name: Next Lifecycle Environment
|
||||
variable: lifecycle_environment
|
||||
type: multiplechoice
|
||||
choices: "{{ satellite_lifecycle_environments | selectattr('name', 'match', '^RHEL.*$') | map(attribute='name') | list}}"
|
||||
required: true
|
||||
- name: SATELLITE / Promote Content View Version
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/satellite_promote.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Satellite Credential
|
||||
survey_enabled: true
|
||||
survey:
|
||||
name: ''
|
||||
description: ''
|
||||
spec:
|
||||
- question_name: Select Content View
|
||||
variable: content_view
|
||||
type: multiplechoice
|
||||
choices: "{{ satellite_content_views | selectattr('name', 'match', '^RHEL.*$') | map(attribute='name') | list}}"
|
||||
required: true
|
||||
- question_name: Current Lifecycle Environment
|
||||
variable: current_lifecycle_environment
|
||||
type: multiplechoice
|
||||
choices: "{{ satellite_lifecycle_environments | selectattr('name', 'match', '^RHEL.*$') | map(attribute='name') | list}}"
|
||||
required: true
|
||||
- question_name: Next Lifecycle Environment
|
||||
variable: lifecycle_environment
|
||||
type: multiplechoice
|
||||
choices: "{{ satellite_lifecycle_environments | selectattr('name', 'match', '^RHEL.*$') | map(attribute='name') | list}}"
|
||||
required: true
|
||||
|
||||
- name: SETUP / Satellite
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/setup_satellite.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Satellite Credential
|
||||
- name: SETUP / Satellite
|
||||
project: Ansible official demo project
|
||||
playbook: satellite/setup_satellite.yml
|
||||
inventory: Workshop Inventory
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- Satellite Credential
|
||||
|
||||
|
||||
controller_launch_jobs:
|
||||
- name: SETUP
|
||||
wait: false
|
||||
@@ -262,8 +261,6 @@ controller_workflows:
|
||||
extra_data:
|
||||
feedback: Failed to apply updates to RHEL8_Dev
|
||||
|
||||
|
||||
|
||||
#######################
|
||||
### Satellite Vars ###
|
||||
######################
|
||||
|
||||
@@ -4,47 +4,47 @@
|
||||
gather_facts: false
|
||||
|
||||
tasks:
|
||||
- name: Set Local Admin Password
|
||||
ansible.windows.win_user:
|
||||
name: Administrator
|
||||
password: "{{ ansible_password }}"
|
||||
- name: Set Local Admin Password
|
||||
ansible.windows.win_user:
|
||||
name: Administrator
|
||||
password: "{{ ansible_password }}"
|
||||
|
||||
- name: Create new domain in a new forest on the target host
|
||||
ansible.windows.win_domain:
|
||||
dns_domain_name: ansible.local
|
||||
safe_mode_password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}"
|
||||
register: new_forest
|
||||
- name: Create new domain in a new forest on the target host
|
||||
ansible.windows.win_domain:
|
||||
dns_domain_name: ansible.local
|
||||
safe_mode_password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}"
|
||||
register: new_forest
|
||||
|
||||
- name: Reboot the target host
|
||||
ansible.windows.win_reboot:
|
||||
reboot_timeout: 3600
|
||||
when: new_forest.reboot_required
|
||||
- name: Reboot the target host
|
||||
ansible.windows.win_reboot:
|
||||
reboot_timeout: 3600
|
||||
when: new_forest.reboot_required
|
||||
|
||||
- name: Wait up to 10min for AD web services to start
|
||||
community.windows.win_wait_for_process:
|
||||
process_name_exact: Microsoft.ActiveDirectory.WebServices
|
||||
pre_wait_delay: 60
|
||||
state: present
|
||||
timeout: 600
|
||||
sleep: 10
|
||||
remote_user: Administrator
|
||||
- name: Wait up to 10min for AD web services to start
|
||||
community.windows.win_wait_for_process:
|
||||
process_name_exact: Microsoft.ActiveDirectory.WebServices
|
||||
pre_wait_delay: 60
|
||||
state: present
|
||||
timeout: 600
|
||||
sleep: 10
|
||||
remote_user: Administrator
|
||||
|
||||
- name: Create some groups
|
||||
community.windows.win_domain_group:
|
||||
name: "{{ item.name }}"
|
||||
scope: global
|
||||
loop:
|
||||
- { name: "GroupA" }
|
||||
- { name: "GroupB" }
|
||||
- { name: "GroupC" }
|
||||
- name: Create some groups
|
||||
community.windows.win_domain_group:
|
||||
name: "{{ item.name }}"
|
||||
scope: global
|
||||
loop:
|
||||
- { name: "GroupA" }
|
||||
- { name: "GroupB" }
|
||||
- { name: "GroupC" }
|
||||
|
||||
- name: Create some users
|
||||
community.windows.win_domain_user:
|
||||
name: "{{ item.name }}"
|
||||
groups: "{{ item.groups }}"
|
||||
password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}"
|
||||
update_password: on_create
|
||||
loop:
|
||||
- { name: "UserA", groups: "GroupA" }
|
||||
- { name: "UserB", groups: "GroupB" }
|
||||
- { name: "UserC", groups: "GroupC" }
|
||||
- name: Create some users
|
||||
community.windows.win_domain_user:
|
||||
name: "{{ item.name }}"
|
||||
groups: "{{ item.groups }}"
|
||||
password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}"
|
||||
update_password: on_create
|
||||
loop:
|
||||
- { name: "UserA", groups: "GroupA" }
|
||||
- { name: "UserB", groups: "GroupB" }
|
||||
- { name: "UserC", groups: "GroupC" }
|
||||
|
||||
@@ -4,36 +4,36 @@
|
||||
gather_facts: false
|
||||
|
||||
tasks:
|
||||
- name: Setting host facts using complex arguments
|
||||
set_fact:
|
||||
temp_password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}"
|
||||
# Example result: ['&Qw2|E[-']
|
||||
- name: Setting host facts using complex arguments
|
||||
ansible.builtin.set_fact:
|
||||
temp_password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}"
|
||||
# Example result: ['&Qw2|E[-']
|
||||
|
||||
- name: Create new user
|
||||
community.windows.win_domain_user:
|
||||
name: "{{ firstname }} {{ surname }}"
|
||||
firstname: "{{ firstname }}"
|
||||
surname: "{{ surname }}"
|
||||
sam_account_name: "{{ firstname[0] }}{{ surname }}"
|
||||
company: BobCo
|
||||
password: "{{ temp_password }}"
|
||||
state: present
|
||||
groups:
|
||||
- "GroupA"
|
||||
- "GroupB"
|
||||
street: "{{ street }}"
|
||||
city: "{{ city }}"
|
||||
state_province: IN
|
||||
postal_code: "{{ postal_code }}"
|
||||
country: US
|
||||
attributes:
|
||||
telephoneNumber: "{{ telephone_number }}"
|
||||
register: new_user
|
||||
- name: Create new user
|
||||
community.windows.win_domain_user:
|
||||
name: "{{ firstname }} {{ surname }}"
|
||||
firstname: "{{ firstname }}"
|
||||
surname: "{{ surname }}"
|
||||
sam_account_name: "{{ firstname[0] }}{{ surname }}"
|
||||
company: BobCo
|
||||
password: "{{ temp_password }}"
|
||||
state: present
|
||||
groups:
|
||||
- "GroupA"
|
||||
- "GroupB"
|
||||
street: "{{ street }}"
|
||||
city: "{{ city }}"
|
||||
state_province: IN
|
||||
postal_code: "{{ postal_code }}"
|
||||
country: US
|
||||
attributes:
|
||||
telephoneNumber: "{{ telephone_number }}"
|
||||
register: new_user
|
||||
|
||||
- name: Display User
|
||||
ansible.builtin.debug:
|
||||
var: new_user
|
||||
- name: Display User
|
||||
ansible.builtin.debug:
|
||||
var: new_user
|
||||
|
||||
- name: Show temp password
|
||||
ansible.builtin.debug:
|
||||
var: temp_password
|
||||
- name: Show temp password
|
||||
ansible.builtin.debug:
|
||||
var: temp_password
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
ps_script: undef
|
||||
|
||||
tasks:
|
||||
- name: Run PowerShell
|
||||
ansible.windows.win_powershell:
|
||||
script: |
|
||||
{{ ps_script }}
|
||||
register: ps_output
|
||||
- name: Run PowerShell
|
||||
ansible.windows.win_powershell:
|
||||
script: |
|
||||
{{ ps_script }}
|
||||
register: ps_output
|
||||
|
||||
- name: Print output
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ ps_output.output }}"
|
||||
- name: Print output
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ ps_output.output }}"
|
||||
|
||||
Reference in New Issue
Block a user