Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions docs/itential_gateway_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ The variables in this section may be overridden in the inventory in the `gateway

| Variable | Type | Description | Default Value |
| :------- | :--- | :---------- | :------------ |
| `gateway_release` | Fixed-point | Designates which major release version of IAG to install. | N/A |
| `gateway_release` | Fixed-point | Designates which major release version of IAG to install. Supported values: `4.2`, `4.3`, `4.4`. | N/A |
| `gateway_whl_file` | String | The name of the IAG wheel file to install. | N/A |
| `gateway_archive_download_url` | String | The URL for the download of the iag whl file from a repository. | N/A |
| `repository_username` | String | The username for authentication of the repository from gateway_archive_download_url. | N/A |
Expand Down Expand Up @@ -62,8 +62,9 @@ The following table lists the default variables located in `roles/gateway/defaul
| `gateway_pki_copy_certs` | Boolean | Flag to manage PKI infrastructure (create directories and copy certificates). | `true` |
| `gateway_tlsv1_2` | Boolean | Flag to enable TLS 1.2. | `false` |
| `gateway_http_server_threads` | Integer | The number of http server threads for handling requests. | `{{ ansible_processor_cores * 4 }}` |
| `gateway_venv_name` | String | The name of the Python virtual environment. | `venv` |
| `gateway_venv_name` | String | The name of the Python virtual environment. | `venv_gateway_{{ gateway_release }}` |
| `gateway_python_venv` | String | The full path to the Python virtual environment. | `{{ gateway_install_dir }}/{{ gateway_venv_name }}` |
| `gateway_ansible_collections` | List | Ansible collections to install into IAG's Python virtual environment when `gateway_enable_ansible: true`. Must be set in inventory; no default is provided. | N/A |

### Gateway PKI Variables

Expand Down Expand Up @@ -182,6 +183,10 @@ gateway_https_key_file: "gateway.key"
To install and configure IAG, add a `gateway` group and host(s) to your inventory and configure the
`gateway_release` and `gateway_whl_file`.

`gateway_release` currently supports `4.2`, `4.3`, and `4.4`. The examples below use `4.3`; to
install `4.4` instead, set `gateway_release: 4.4` and point `gateway_whl_file` (or
`gateway_archive_download_url`) at the corresponding `automation_gateway-4.4.x-py3-none-any.whl`.

## Example Inventory - Single IAG Node

```yaml
Expand Down Expand Up @@ -285,10 +290,12 @@ ansible-playbook itential.deployer.gateway -i <inventory>

You can also use the following tags:

* `upload_gateway_certificates` - Only manage certificate infrastructure
* `install_gateway_packages` - Only install Gateway dependency packages
* `upload_gateway_certificates` (aliases: `gateway`, `certificates`) - Only manage certificate infrastructure
* `install_python` - Only install Python
* `install_python_dependencies` - Only install Python dependencies
* `install_gateway_build_packages` - Only install Gateway build packages
* `install_python_dependencies` - Only install Python dependencies
* `configure_ansible` - Only configure Ansible collections and config for IAG
* `uninstall_gateway_build_packages` - Only uninstall Gateway build packages

To execute only certificate management tasks:
Expand Down
18 changes: 10 additions & 8 deletions roles/gateway/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ Installs and configures Itential Automation Gateway (IAG). Handles Python virtua
| `gateway_tlsv1_2` | `false` | Allow TLSv1.2 (in addition to 1.3) |
| `gateway_user` | `itential` | OS user for IAG process |
| `gateway_group` | `itential` | OS group |
| `gateway_venv_name` | `venv` | Name of the Python virtualenv directory |
| `gateway_python_venv` | `{{ gateway_install_dir }}/venv` | Path to the Python virtualenv |
| `gateway_venv_name` | `venv_gateway_{{ gateway_release }}` | Name of the Python virtualenv directory |
| `gateway_python_venv` | `{{ gateway_install_dir }}/{{ gateway_venv_name }}` | Path to the Python virtualenv |
| `gateway_http_server_threads` | `{{ ansible_processor_cores * 4 }}` | IAG HTTP thread count |
| `gateway_enable_ansible` | `true` | Install Ansible and configure collections |
| `gateway_enable_nornir` | `true` | Create Nornir config/inventory files |
Expand Down Expand Up @@ -118,6 +118,7 @@ gateway_pki_copy_certs: false

| Template | Rendered To | Purpose |
|----------|-------------|---------|
| `properties.4.4.yml.j2` | `/etc/automation-gateway/properties.yml` | IAG properties for release 4.4 (port, TLS, Ansible paths, feature flags) |
| `properties.4.3.yml.j2` | `/etc/automation-gateway/properties.yml` | IAG properties for release 4.3 (port, TLS, Ansible paths, feature flags) |
| `properties.4.2.yml.j2` | `/etc/automation-gateway/properties.yml` | IAG properties for release 4.2 |
| `properties.2023.3.yml.j2` | (legacy) | Legacy release templates |
Expand All @@ -137,18 +138,19 @@ gateway_pki_copy_certs: false
|---------|--------------|--------|
| Restart automation-gateway | `restart automation-gateway` | `systemctl restart automation-gateway` |

## Release-Specific Vars (vars/gateway-release-4.3.yml)
## Release-Specific Vars (vars/gateway-release-4.4.yml)

| Variable | Value |
|----------|-------|
| `gateway_python_version` | `3.9` |
| `gateway_python_packages` | `python39`+`python39-pip` (RHEL 8); `python3`+`python3-pip` (RHEL 9, AL2023) |
| `gateway_python_version` | `3.12` |
| `gateway_python_packages` | `python3.12`+`python3.12-pip` (RHEL 8, RHEL 9, AL2023) |
| `gateway_python_base_dependencies` | `pip==24.0`, `setuptools==78.1.1`, `wheel==0.43.0` |
| `gateway_build_packages` | `gcc-c++`, `libssh-devel`, `make`, `pkgconf-pkg-config`, `python3(9)-devel` |
| `gateway_build_packages` | `gcc-c++`, `libssh-devel`, `make`, `pkgconf-pkg-config`, `python3.12-devel` |
| `gateway_python_app_dependencies` | `importlib-metadata==4.12.0`, `grpcio-tools==1.63.2` |

Release 4.2 uses the same package sets but different pinned versions (e.g., `setuptools==69.0.3`, `ncclient==0.6.10`).
Release 4.3 (`vars/gateway-release-4.3.yml`) uses Python `3.9` (`python39` on RHEL 8, `python3` on RHEL 9/AL2023) and different pinned versions (e.g., `importlib-metadata==4.13.0`, `grpcio-tools==1.53.0`). Release 4.2 uses the same package sets as 4.3 but different pinned versions (e.g., `setuptools==69.0.3`, `ncclient==0.6.10`).

Supported `gateway_release` values: `4.2`, `4.3`. Legacy date-format releases (`2021.1` through `2023.3`) have property templates but no dedicated vars files.
Supported `gateway_release` values: `4.2`, `4.3`, `4.4`. Legacy date-format releases (`2021.1` through `2023.3`) have property templates but no dedicated vars files.

## IAG Installation Methods

Expand Down
Loading