-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e6e1466
commit f882a64
Showing
85 changed files
with
10,812 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
--- | ||
layout: default | ||
title: aap_backup | ||
parent: infra.aap_utilities | ||
--- | ||
|
||
# infra.aap\_utilities.backup | ||
|
||
Ansible role to backup Ansible Automation Platform. | ||
|
||
## Requirements | ||
|
||
None | ||
|
||
## Role Variables | ||
|
||
Available variables are listed below, along with default values defined (see defaults/main.yml) | ||
|
||
```yaml | ||
aap_setup_prep_setup_dir: # Must be set, though if the aap_setup_prepare role has been run prior, a fact will be set. | ||
aap_backup_dest: "/root" | ||
``` | ||
## Example Playbook | ||
The following playbook and accompanying vars file containing the defined seed objects can be invoked in the following manner. | ||
```sh | ||
ansible-playbook playbook.yml -e @aap_vars.yml controller | ||
``` | ||
|
||
```yaml | ||
# Playbook to backup Automation controller | ||
|
||
- name: Backup Automation controller | ||
hosts: localhost | ||
become: true | ||
vars: | ||
aap_setup_prep_setup_dir: /root/ansible-automation-platform-installer/ | ||
aap_backup_dest: /aap_backups/ | ||
roles: | ||
- infra.aap_utilities.aap_backup | ||
``` | ||
## License | ||
[GPLv3+0](https://github.com/redhat-cop/aap_utilities#licensing) | ||
## Author Information | ||
Sean Sullivan |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
--- | ||
layout: default | ||
title: aap_certs | ||
parent: infra.aap_utilities | ||
--- | ||
|
||
# infra.aap\_utilities.aap\_certs | ||
|
||
Ansible role to install SSL certificates for AAP automation controller and/or automation hub and/or EDA controller. | ||
|
||
Certificates are only installed if the underlying destination directory does already exist, | ||
this allows to point the role at all servers in the cluster. | ||
|
||
Note it is also possible to deploy the certificates at install time with the proper inventory variables. | ||
|
||
## Requirements | ||
|
||
The certificates must have been created with certificate and key. | ||
|
||
## Role Variables | ||
|
||
Available variables are listed below, along with default values defined (see [defaults](defaults/main.yml)). | ||
|
||
Variables to point at the source certificates and keys for controller, | ||
respective automation hub. | ||
They are undefined by default which means that no certificate is installed: | ||
|
||
```yaml | ||
aap_certs_controller_ssl_cert: "{{ playbook_dir }}/tower.cert" | ||
aap_certs_controller_ssl_key: "{{ playbook_dir }}/tower.key" | ||
aap_certs_autohub_ssl_cert: "{{ playbook_dir }}/pulp.cert" | ||
aap_certs_autohub_ssl_key: "{{ playbook_dir }}/pulp.key" | ||
aap_certs_eda_ssl_cert: "{{ playbook_dir }}/server.cert" | ||
aap_certs_eda_ssl_key: "{{ playbook_dir }}/server.key" | ||
|
||
``` | ||
The content of the certificates and keys can also be set rather than specifying a file. | ||
This is useful when you're using a secrets backend like HashiCorp Vault. | ||
**Note that these are each mutually exclusive with the variables above.** | ||
```yaml | ||
|
||
``` | ||
|
||
The following variable defines if the old certificates/keys should be backed-up: | ||
|
||
```yaml | ||
aap_certs_create_backup: false | ||
``` | ||
## Example Playbook | ||
The following playbook and accompanying vars file containing the defined seed objects can be invoked in the following manner. | ||
```sh | ||
ansible-playbook playbook.yml -e @aap_vars.yml | ||
``` | ||
|
||
```yaml | ||
- name: Install AAP certificates | ||
hosts: aap_servers | ||
become: true | ||
vars: | ||
aap_certs_controller_ssl_cert: "{{ playbook_dir }}/tower.cert" | ||
aap_certs_controller_ssl_key: "{{ playbook_dir }}/tower.key" | ||
aap_certs_autohub_ssl_cert: "" | ||
aap_certs_autohub_ssl_key: "" | ||
roles: | ||
- infra.aap_utilities.aap_certs | ||
``` | ||
## License | ||
[GPLv3+0](https://github.com/redhat-cop/aap_utilities#licensing) | ||
## Author Information | ||
Tom Page |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
--- | ||
layout: default | ||
title: aap_ocp_install | ||
parent: infra.aap_utilities | ||
--- | ||
|
||
# infra.aap_utilities.aap_ocp_install | ||
|
||
A role to install Ansible Automation Platform (AAP) 2.x on OpenShift using the operator. | ||
|
||
## Requirements | ||
|
||
This role requires the `kubernetes` (version 12.0.0 or later) Python module. | ||
In addition the kubernetes.core and redhat.openshift Ansible collections are required. | ||
|
||
## Role Variables | ||
|
||
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well. | ||
|
||
| Variable Name | Required | Default Value | Description | | ||
| aap_ocp_install_namespace | Yes | None | Namespace to create operator, controller, and hub in | | ||
| aap_ocp_install_create_namespace | No | None | Create the Namespace for the operator, controller and hub. Valid values are: `true`, `false` | | ||
| aap_ocp_install_namespace_manifest_overrides | No | None | Namespace to create operator, controller, and hub in | | ||
| aap_ocp_install_connection | Yes | None | Dictionary containing keys defined in the `connection variables table` | | ||
| aap_ocp_install_operator | Yes* | None | YAML Manifest to override the generated operator `Namespace` resource | | ||
| aap_ocp_install_controller | Yes* | None | Dictionary containing keys defined in the `controller variables table` | | ||
| aap_ocp_install_hub | Yes* | None | Dictionary containing keys defined in the `hub variables table` | | ||
|
||
\* Variable and required keys must be defined when the type of tag is specified (e.g. `--tags controller` requires the aap_ocp_install_controller variable be defined). | ||
If the variable is omitted the corresponding component will not be installed (e.g. if only aap_ocp_install_hub variable is defined then the operator and controller installation will be skipped) | ||
|
||
### aap_ocp_install_connection keys | ||
|
||
| Key Name | Required | Default Value | Description | | ||
| host | Yes | None | OCP cluster to create the AAP objects in | | ||
| username | Yes* | None | Username to use for authenticating with OCP | | ||
| password | Yes* | None | Password to use for authenticating with OCP | | ||
| api_key | Yes* | None | OCP API Token | | ||
| validate_certs | | None | Validate SSL certificates. Valid values are: `true`, `false` | | ||
|
||
\* Either `api_key` or `username` and `password` can be specified. | ||
|
||
### aap_ocp_install_operator keys | ||
|
||
| Key Name | Required | Default Value | Description | | ||
| channel | Yes | None | Channel to subscribe (e.g. stable-2.2 or stable-2.2-cluster-scoped) | | ||
| approval | | Automatic | Update approval method. Valid values are Automatic or Manual. | | ||
| operatorgroup_create | | true | Create the `OperatorGroup` for the Operator | | ||
| operatorgroup_manifest_overrides | | | YAML Manifest to override the generated `OperatorGroup` resource | | ||
| subscription_manifest_overrides | | | YAML Manifest to override the generated `Subscription` resource | | ||
|
||
> ℹ️ **NOTE** | ||
> | ||
> When `approval` is set to `Manual` the operator will be installed with `Automatic` approval and then after installation the approval will be updated to Manual. | ||
### aap_ocp_install_controller keys | ||
|
||
| Key Name | Required | Default Value | Description | | ||
| instance_name | Yes | None | Name of the controller instance to create | | ||
| namespace | | None | Name of the namespace to create the controller instance in. If not specified `aap_ocp_install_namespace` will be used. | | ||
| namespace_manifest_overrides | | None | YAML Manifest to override the generated `Namespace` resource for the controller if the `namespace` key is defined | | ||
| admin_user | | admin | Username to use for the admin account | | ||
| replicas | | 1 | How many replicas to create. | | ||
| garbage_collect_secrets | | false | Whether or not to remove secrets upon instance removal | | ||
| image_pull_policy | | IfNotPresent | The image pull policy | | ||
| create_preload_data | | true | Whether or not to preload data upon instance creation | | ||
| projects_persistence | | false | Whether or not the /var/lib/projects directory will be persistent | | ||
| projects_storage_size | | 8Gi | Size of /var/lib/projects persistent volume claim (PVC) | | ||
| link_text | | Automation Controller (<INSTANCE_NAME>) | Text used for creating the OCP application link | | ||
| controller_manifest_overrides | | None | YAML Manifest to override the generated `AutomationController` resource link | | ||
| consolelink_manifest_overrides | | None | YAML Manifest to override the generated `ConsoleLink` resource | | ||
|
||
### aap_ocp_install_hub keys | ||
|
||
| Key Name | Required | Default Value | Description | | ||
| instance_name | Yes | None | Name of the hub instance to create | | ||
| namespace | | None | Name of the namespace to create the hub instance in. If not specified `aap_ocp_install_namespace` will be used. | | ||
| namespace_manifest_overrides | | None | YAML Manifest to override the generated `Namespace` resource for the hub if the `namespace` key is defined | | ||
| link_text | | Automation Hub (<INSTANCE_NAME>) | Text used for creating the OCP application link | | ||
| hub_manifest_overrides | | None | YAML Manifest to override the generated `AutomationHub` resource | | ||
| consolelink_manifest_overrides | | None | YAML Manifest to override the generated `ConsoleLink` resource | | ||
|
||
### aap_ocp_install_eda keys | ||
|
||
| Key Name | Required | Default Value | Description | | ||
| instance_name | Yes | None | Name of the EDA instance to create | | ||
| namespace | | None | Name of the namespace to create the EDA instance in. If not specified `aap_ocp_install_namespace` will be used. | | ||
| namespace_manifest_overrides | | None | YAML Manifest to override the generated `Namespace` resource for the EDA if the `namespace` key is defined | | ||
| link_text | | EDA Controller (<INSTANCE_NAME>) | Text used for creating the OCP application link | | ||
| eda_manifest_overrides | | None | YAML Manifest to override the generated `EDA` resource | | ||
| consolelink_manifest_overrides | | None | YAML Manifest to override the generated `ConsoleLink` resource | | ||
|
||
## Dependencies | ||
|
||
This role depends on the redhat.openshift and kubernetes.core collections. | ||
|
||
## Example Playbook | ||
|
||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: | ||
|
||
```yml | ||
- name: Install AAP on OCP playbook | ||
hosts: localhost | ||
gather_facts: false | ||
|
||
vars: | ||
aap_ocp_install_connection: | ||
host: "https://api.crc.testing:6443" | ||
username: kubeadmin | ||
password: <PASSWORD> | ||
validate_certs: false | ||
aap_ocp_install_namespace: aap-test | ||
aap_ocp_install_operator: | ||
channel: "stable-2.2" | ||
aap_ocp_install_controller: | ||
instance_name: automationcontroller | ||
aap_ocp_install_hub: | ||
instance_name: automationhub | ||
aap_ocp_install_eda: | ||
instance_name: edacontroller | ||
|
||
roles: | ||
- infra.aap_utilities.aap_ocp_install | ||
... | ||
``` | ||
|
||
## License | ||
|
||
[GPLv3+0](https://github.com/redhat-cop/aap_utilities#licensing) | ||
|
||
## Author Information | ||
|
||
* Brant Evans | ||
* Derek Waters | ||
* Andrew Block |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
--- | ||
layout: default | ||
title: aap_remove | ||
parent: infra.aap_utilities | ||
--- | ||
|
||
# infra.aap_utilities.aap_remove | ||
|
||
Ansible role to remove instances of AAP. | ||
|
||
## Requirements | ||
|
||
None | ||
|
||
## Role Variables | ||
|
||
Available variables are listed below, along with default values defined (see defaults/main.yml) | ||
|
||
```yaml | ||
# Role Vars | ||
aap_remove_controller: false | ||
aap_remove_ah: false | ||
``` | ||
The above are used to determine whether to remove Controller or Automation Hub from the node. | ||
We recommend setting a host vars or simply using separate plays for each host which determines which of these vars to set true. | ||
An example is below. | ||
## Example Playbook | ||
```yaml | ||
# Playbook to install AAP2 | ||
|
||
- name: Remove Ansible Controller | ||
hosts: controller | ||
vars: | ||
aap_remove_controller: true | ||
roles: | ||
- infra.aap_utilities.aap_remove | ||
|
||
- name: Remove Ansible Automation Hub | ||
hosts: ah | ||
vars: | ||
aap_remove_ah: true | ||
roles: | ||
- infra.aap_utilities.aap_remove | ||
``` | ||
## License | ||
[GPLv3+0](https://github.com/redhat-cop/aap_utilities#licensing) | ||
## Author Information | ||
Tom Page |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
--- | ||
layout: default | ||
title: aap_restore | ||
parent: infra.aap_utilities | ||
--- | ||
|
||
# infra.aap\_utilities.aap\_restore | ||
|
||
Ansible role to restore a backup of Ansible Automation Platform. | ||
|
||
## Requirements | ||
|
||
None | ||
|
||
## Role Variables | ||
|
||
Available variables are listed below, along with default values defined (see defaults/main.yml) | ||
|
||
```yaml | ||
# Role Vars | ||
aap_setup_working_dir: # Must be set, though if the aap_setup_prepare role has been run prior, a fact will be set. | ||
aap_restore_location: "{{ aap_setup_working_dir }}/{{ aap_restore_file }}" | ||
``` | ||
## Example Playbook | ||
The following playbook and accompanying vars file containing the defined seed objects can be invoked in the following manner. | ||
```sh | ||
ansible-playbook playbook.yml -e @aap_vars.yml | ||
``` | ||
|
||
```yaml | ||
- name: Restore AAP | ||
hosts: localhost | ||
become: true | ||
vars: | ||
aap_setup_working_dir: /root/ansible-automation-platform-installer/ | ||
aap_restore_location: "{{playbook_dir}}/aap-backup-latest.tar.gz" | ||
roles: | ||
- infra.aap_utilities.aap_restore | ||
``` | ||
## License | ||
[GPLv3+0](https://github.com/redhat-cop/aap_utilities#licensing) | ||
## Author Information | ||
Sean Sullivan |
Oops, something went wrong.