add job template fix I add extra vars add documentation Added contributing doc (#2) add contributing doc cleaning up docs add suggested usage log demo DERP network demos change role name source update add hub creds add readme add main readme typo, no biggie (#23) https://knowyourmeme.com/memes/but-its-honest-work add notification fix var fix var fix var fix vars fix vars fix vars fix vars fix vars add telemetry update telemetry add feedback add feedback add feedback update windows stuff bugs bugs bugs bugs add assert add groups update AD jobs random pass pin version for comm.gen Add landing page (#25) * work on landing page * work on landing page * work on landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * add files * derp * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add ee * add ee * add ee * fix landing page * fix landing page * fix landing page * fix landing page * fix landing page * remove commented out sections Increased the Idle Time Force Log Out (#28) * increased timeout * sdf * asdf * corrected key Instruqt Refactor (#40) * work on landing page * work on landing page * work on landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * add files * derp * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add ee * add ee * add ee * fix landing page * fix landing page * fix landing page * fix landing page * fix landing page * remove commented out sections * remove default ee * set local admin password * set ee for fact scan * fall back to default ee for patching * check for valid org_id * check for valid org_id * check admin username * add remote_user * credssp * ntlm Add network report job template (#44) * Network report Linux demo updates bblasco pt1 (#45) * Improved description of Ansible group to address issue #29 * Ensured "at" package is present rather than latest for Issue #31 * Added timesync as a second example role to run (Issue #37) Co-authored-by: Benjamin Blasco <bblasco@redhat.com> Added task to print STDOUT lines from script (Issue #33) (#46) Co-authored-by: Benjamin Blasco <bblasco@redhat.com> Added Insights Compliance Scan (Issue #49) (#51) Co-authored-by: Benjamin Blasco <bblasco@redhat.com> Linux demo updates bblasco podman (#47) * Switched from using podman volumes to file path (issue #36) * Improved readability of output * Added a sensible default message for web server (Issue #36) Co-authored-by: Benjamin Blasco <bblasco@redhat.com> Run insights scan (skip errors if not configured) (Issue #32) (#48) * Run insights scan (skip errors if not configured) (Issue #32) * Improved Insights client checks to use facts defined by redhatinsights.insights.insights_client role * Fixed missed call to debug module * Updated message for clarity Co-authored-by: Benjamin Blasco <bblasco@redhat.com> Issue 52 (#53) * add fact scan * add fact scan * update patching role * dont ask limit * add become Add Satellite Demos (#41) * add satellite demos * move satellite vars to setup.yml * fix var * fix playbook path * remove async * fix = * fix condition * fix lookup * add credential * update tools version * fix scap role * add satellite setup * add satellite stuff * remove local * stupid * stupid * params * these vars arent right * these vars arent right * add compliance workflow * work on landing page * work on landing page * work on landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * add files * derp * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add ee * add ee * add ee * fix landing page * fix landing page * fix landing page * fix landing page * fix landing page * remove commented out sections * remove default ee * set local admin password * set ee for fact scan * fall back to default ee for patching * check for valid org_id * check for valid org_id * no gpg * no gpg * add satllite stuff * update cred type * update cred type * raw * raw * work on landing page * work on landing page * work on landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * landing page * add files * derp * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add link * add ee * add ee * add ee * fix landing page * fix landing page * fix landing page * fix landing page * fix landing page * remove commented out sections * remove default ee * set local admin password * set ee for fact scan * fall back to default ee for patching * check for valid org_id * check for valid org_id * no gpg * no gpg * add satllite stuff * update cred type * update cred type * raw * raw * raw * merge satellite * fix vars * fix vars * fix vars * fix vars * add publish * add lifecycle and actviation keys * workaround for publish issue * use module to publish * use module to publish * use module to publish * use module to publish * change sat version * change sat version * change sat version * remove maint repos * launch sat setup * reorder * reorder * moar inventory * add manifest refresh * add telemetry * run linux setup * parentefcf729fa0author willtome <willtome@gmail.com> 1663173584 -0400 committer willtome <willtome@gmail.com> 1668183942 -0500 parentefcf729fa0author willtome <willtome@gmail.com> 1663173584 -0400 committer willtome <willtome@gmail.com> 1668183785 -0500 parentefcf729fa0author willtome <willtome@gmail.com> 1663173584 -0400 committer willtome <willtome@gmail.com> 1668183318 -0500 parentefcf729fa0author willtome <willtome@gmail.com> 1663173584 -0400 committer willtome <willtome@gmail.com> 1668182787 -0500 parentefcf729fa0author willtome <willtome@gmail.com> 1663173584 -0400 committer willtome <willtome@gmail.com> 1668182651 -0500 add satellite demos work on landing page landing page landing page landing page landing page landing page landing page landing page landing page landing page landing page landing page add files derp add link add link add link add link add link add link add link add link add link add link add link add link add ee add ee add ee fix landing page fix landing page fix landing page fix landing page fix landing page remove commented out sections remove default ee set local admin password set ee for fact scan fall back to default ee for patching check for valid org_id check for valid org_id no gpg no gpg add satllite stuff update cred type update cred type raw raw raw add satellite demos move satellite vars to setup.yml fix var fix playbook path remove async fix = fix condition fix lookup add credential update tools version fix scap role add satellite setup add satellite stuff remove local stupid stupid params these vars arent right these vars arent right add compliance workflow work on landing page work on landing page work on landing page landing page landing page landing page landing page landing page landing page landing page landing page landing page landing page landing page add files derp add link add link add link add link add link add link add link add link add link add link add link add link add ee add ee add ee fix landing page fix landing page fix landing page fix landing page fix landing page remove commented out sections remove default ee set local admin password set ee for fact scan fall back to default ee for patching check for valid org_id check for valid org_id no gpg no gpg update cred type update cred type raw merge satellite fix vars fix vars fix vars fix vars add publish add lifecycle and actviation keys workaround for publish issue use module to publish use module to publish use module to publish use module to publish change sat version change sat version change sat version remove maint repos launch sat setup reorder reorder moar inventory add manifest refresh add telemetry run linux setup * Updates to node1 (#42) clean up satellite config clean up server registration add web console job Co-authored-by: Calvin Smith <calvingsmith@users.noreply.github.com> * add rhel 8 tailoring * add ee * dont verify certs * Update setup.yml * Update setup.yml * what the heck Co-authored-by: calvingsmith <4283930+calvingsmith@users.noreply.github.com> Co-authored-by: Calvin Smith <calvingsmith@users.noreply.github.com> Fixes for Issues 54 and 55 (#56) * add fixes * add survey for org id updated version (#58) add rhel9 (#18) check-install missing packages (#63) * check-install missing packages * updated subcription manager installation * move subscription manager install up Bump ansible.controller version (#60) * bump * bumperino * corrected * Update requirements.yml * Update requirements.yml * Update requirements.yml --------- Co-authored-by: willtome <willtome@gmail.com> fix selinux variables (#66) Integration of Content Lab for AWS (#67) * add jobs * role name * scm * naming * add new jobs * update URL * add playbook * add keypair * fix spaces * update setup * add rhel9 * change to main branch
92 lines
7.2 KiB
Markdown
92 lines
7.2 KiB
Markdown
# Linux Demos
|
|
|
|
## Table of Contents
|
|
- [Linux Demos](#linux-demos)
|
|
- [Table of Contents](#table-of-contents)
|
|
- [About These Demos](#about-these-demos)
|
|
- [Jobs](#jobs)
|
|
- [Inventory](#inventory)
|
|
- [Post Setup Job Steps](#post-setup-job-steps)
|
|
- [Add Red Hat account details](#add-red-hat-account-details)
|
|
- [Update Credentials for Insights Inventory](#update-credentials-for-insights-inventory)
|
|
- [Add Variables for System Roles](#add-variables-for-system-roles)
|
|
- [Suggested Usage](#suggested-usage)
|
|
|
|
## About These Demos
|
|
This category of demos shows examples of linux 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
|
|
- [**Linux / Register**](ec2_register.yml) - Register a RHEL server with Red Hat Portal and Insights
|
|
- [**Linux / Troubleshoot**](tshoot.yml) - Run troubleshooting commands to find top CPU and memory users on the system
|
|
- [**Linux / Temporary Sudo**](temp_sudo.yml) - Grant temporary sudo access to a user on the system with time based cleanup
|
|
- [**Linux / Patching**](patching.yml) - Apply updates and/or generate patch report for linux systems
|
|
- [**Linux / Start Service**](service_start.yml) - Start a service on a system
|
|
- [**Linux / Stop Service**](service_stop.yml) - Stop a service on a system
|
|
- [**Linux / Run Shell Script**](run_script.yml) - Run a shell script or command on a system
|
|
- [**Linux / Fact Scan**](https://github.com/ansible/awx-facts-playbooks/blob/master/scan_facts.yml) - Run a fact, package, and service scan against a system and store in fact cache
|
|
- [**Linux / Podman Webserver**](podman.yml) - Install and run a Podman webserver with given text on the home page
|
|
- [**Linux / System Roles**](system_roles.yml) - Apply Linux system roles to servers. Must provide variables and role names.
|
|
- [**Linux / Compliance Enforce**](compliance.yml) - Apply remediation to meet the requirements of a compliance baseline
|
|
- [**Linux / Insights Compliance Scan**](insights_compliance_scan.yml) - Run a Compliance scan based on the configuration in [Red Hat Insights][https://console.redhat.com]
|
|
|
|
### Inventory
|
|
|
|
A dymanic inventory is created to pull inventory hosts from Red Hat Insights. The Systems will be added by their host name therefore adding duplicate systems will cause conflicts in the inventory. Only systems with the tag `purpose=demo` in Red Hat Insights will be added to this inventory. Groups will be created for other tags given to the system.
|
|
|
|
Groups will also be created for systems with missing security, enhancement and bug updates. The inventory configuration is governed by the [inventory.insights.yml](inventory.insights.yml) file.
|
|
|
|
> Remember to delete systems from your Red Hat account when you are done with the demo to avoid conflicts with future demos using the same names.
|
|
|
|
## Post Setup Job Steps
|
|
After running the setup job template, there are a few steps required to make the demos fully functional. See the post setup steps below.
|
|
|
|
> These steps may differ in your environment
|
|
|
|
### Add Red Hat account details
|
|
To register systems to the Red Hat portal and Insights, edit `extra_vars` on the `Linux / Register` job to include your org_id and an [activation key](https://access.redhat.com/management/activation_keys) to use when registering the systems.
|
|
|
|
### Update Credentials for Insights Inventory
|
|
Navigate to the Credentials section and update the `Insights Inventory` credential with your Red Hat Portal login.
|
|
|
|
### Add Variables for System Roles
|
|
Edit the `Linux / System Roles` job to include the list of roles that you wish to apply and the variables applicable for each role. See documentation [here](https://console.redhat.com/ansible/automation-hub/repo/published/redhat/rhel_system_roles) for configuring System Roles.
|
|
|
|
## Suggested Usage
|
|
**Linux / Register** - Use this job to register systems to Red Hat Insights for showing Advisor recommendations and dynamic inventory. Note that the "Ansible Group" will create an AAP inventory group, as well as tag hosts with that group name in Insights.
|
|
|
|
**Linux / Troubleshoot** - Use this job to show incident response troubleshooting and basic running of commands with an Ansible Playbook.
|
|
|
|
**Linux / Temporary Sudo** - Use this job to show how to grant sudo access with automated cleanup to a server. The user must exist on the system. Using the student user is a good example (ie. student1)
|
|
|
|
**Linux / Patching** - Use this job to apply updates or audit for missing updates and produce an html report of systems with missing updates. See the end of the job for the URL to view the report. In other environments this report could be uploaded to a wiki, email, other system. This demo also shows installing a webserver on a linux server. The report is places on the system defined by the `report_server` variable. By default, `report_server` is configured as `node1`. This may be overridden with `extra_vars` on the Job Template.
|
|
|
|
**Linux / Run Shell Script** - Use this job to demonstrate running shell commands or an existing shell script across a group of systems as root. This can be preferred over using Ad-Hoc commands due to the ability to control usage with RBAC. This is helpful in showing the scalable of execution of an existing shell script. It is always recommended to convert shell scripts to playbooks over time. Example usage would be getting the public key used in the environment with the command `cat .ssh/authorized_keys`.
|
|
|
|
**Linux / Fact Scan** - Use this job to demonstrate the use of the Ansible Fact Cache, Ansible facts, and the ability to query installed packages and running services on a system.
|
|
|
|
**Linux / Podman Webserver** - Use this job show managing individual containers with Podman via an Ansible Playbook.
|
|
|
|
**Linux / System Roles** - This job demonstrates running [RHEL System Roles with AAP. See the documentation [here](https://console.redhat.com/ansible/automation-hub/repo/published/redhat/rhel_system_roles) for how to configure system roles with variables by editing the extra_vars on the job template.
|
|
|
|
Example 1:
|
|
```
|
|
system_roles:
|
|
- selinux
|
|
|
|
selinux_state: enforcing
|
|
```
|
|
|
|
Example 2 (less invasive, and runs faster):
|
|
```
|
|
system_roles:
|
|
- timesync
|
|
|
|
timesync_ntp_servers:
|
|
- hostname: pool.ntp.org
|
|
pool: yes
|
|
iburst: yes
|
|
```
|
|
**Linux / Compliance** - Apply compliance profile hardening configuration from [here](https://galaxy.ansible.com/RedHatOfficial). BE AWARE: this could have unintended results based on the current state of your machine. Always test on a single machine before distributing at scale. For example, AWS instances have NOPASSWD allowed for sudo. Running STIG compliance without adding `sudo_remove_nopasswd: false` to extra_vars on the job template will lock you out of the machine. This variable is configured on the job template by default for this reason.
|
|
|
|
**Linux / Insights Compliance Scan** - Scan the system according to the compliance profile configured via [Red Hat Insights](https://console.redhat.com). NOTE: This job will fail if the systems haven't been registered with Insights and associated with a relevant compliance profile. A survey when running the job will ask if you have configured all systems with a compliance profile, and effectively skip all tasks in the job template if the answer is "No".
|