Download Ansible Playbooks for Confluent Platform¶
Download Confluent Platform Ansible collection¶
Starting in Confluent Platform 7.0, Ansible is packaged as an Ansible Collection.
If you are using Ansible 2.11 or higher, download the Ansible Playbooks for Confluent Platform collection using
the ansible-galaxy
command as described in this section.
You can download the Ansible Playbooks for Confluent Platform collection from the following places:
Download the Confluent Platform collection from Ansible Automation Hub¶
To install Confluent Platform collection from Ansible Automation Hub, follow the steps in this section.
Edit the
ansible.cfg
file in<collection_parent_dir>/confluent/platform/ansible.cfg
to configure Red Hat Automation Hub as your default collection server. For example:[defaults] hash_behaviour=merge callback_whitelist=profile_tasks remote_tmp=~/.ansible/tmp collections_paths=~/.ansible/collections:../../../ [ssh_connection] pipelining = True timeout=30 [galaxy] server_list = automation_hub [galaxy_server.automation_hub] url=https://console.redhat.com/api/automation-hub/content/inbound-confluent/ auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token token=<provide token here>
Now, install the collection from Red Hat Automation Hub by following the steps in Download the Confluent Platform collection from Ansible Galaxy.
For details, see Getting Started with Red Hat Ansible Automation Hub.
Download the Confluent Platform collection from Ansible Galaxy¶
- To install the latest Confluent collection:
ansible-galaxy collection install confluent.platform
The command downloads the collection into your default collections directory,
~/.ansible/collections/ansible_collections/confluent/platform/
.- To install a specific version of the Confluent collection:
- Append the version number along with the package name in the
ansible-galaxy
command. For example:
ansible-galaxy collection install confluent.platform:7.2.12
- To download the Confluent collection behind a proxy:
Run the following command with the
https_proxy
environment variable:https_proxy=http://proxy-server:port/ \ ansible-galaxy collection install confluent.platform
For more details on package installation from Ansible Galaxy, see Galaxy User Guide.
Download the Confluent Platform collection from the GitHub source repository¶
As an alternative to the recommended methods above, you can install the package directly from the source repository.
To download Ansible Playbooks for Confluent Platform onto your controller, run the following command. The command pulls the roles and playbooks into your default collections directory.
ansible-galaxy collection install \
git+https://github.com/confluentinc/cp-ansible.git
Additionally, you can specify a branch of Ansible Playbooks for Confluent Platform with the following
command. 7.0
or higher is supported for <branch>
.
ansible-galaxy collection install \
git+https://github.com/confluentinc/cp-ansible.git,<branch>
Build Ansible Playbooks for Confluent Platform collection¶
An option to install Ansible Playbooks for Confluent Platform collection behind a proxy is to clone the repo and locally build the collection tarball which you will use to install the collection. The steps to build and install are:
Set up a proxy server:
git config --global http.proxy http://proxy-server:port/ git config --global https.proxy http://proxy-server:port/
Create a directory with the following structure:
mkdir -p <path_to_cp-ansible>/ansible_collections/confluent/
You can put
<path_to_cp-ansible>
anywhere in your directory structure, but the directory structure under<path_to_cp-ansible>
should be set up exactly as specified above.Clone the Ansible Playbooks for Confluent Platform repo into the
platform
directory inside the directory you created in the previous step:git clone https://github.com/confluentinc/cp-ansible \ <path_to_cp-ansible>/ansible_collections/confluent/platform
Important
The directory created with the above command must not have the world-writable permissions (777). Due to a security risk, Ansible will not load the configuration file,
ansible.cfg
if the file is in the world-writable directory.If you do not use
git clone
, make sure the permissions setting on thecp-ansible
source code is 755.Check out the
7.2.12-post
branch:cd <path_to_cp-ansible>/ansible_collections/confluent/platform git fetch git checkout 7.2.12-post
Create the collection:
ansible-galaxy collection build
The command builds a tarball of the collection in the current directory.
Upload the collection tarball to your control node.
Install the collection on your Ansible control node:
ansible-galaxy collection install <the tarball created in the previous step>
Configure hash merging¶
Ansible Playbooks for Confluent Platform requires hash merging to be enabled. Configure the setting in your Ansible configuration file as below:
[defaults]
hash_behaviour=merge