cloudera.exe
is an Ansible collection for helping setup Cloudera Data Platform (CDP) on cloud (Public Cloud) and on premise (Private Cloud) deployments. The collection contains a number of utilities for common scenarios encountered when managing a deployment, including:
- Supporting databases
- Kerberos
- LDAP
- TLS
- Cloudera Manager Server and Agent binaries
- Repositories
- OS kernel best practices
The collection is unabashedly an opinionated approach of managing your resources - its resources can be used to configure the host machines, install and configure Cloudera and its services, and more. To be clear, these resources are OPTIONAL, yet they are helpful for greenfield, developer-centric, and quickstart deployments. The collection interacts with cloud provider endpoints to host systems. In short, it has opinions about how to get things done.
If you are looking for automation resources that only interact with Cloudera resources - that is, assets that are focused solely on Cloudera software - please look at cloudera.cloud
and cloudera.cluster
.
See the API documentation for details for each plugin and role within the collection.
If you want to see what we are working on or have pending, check out:
- the Milestones and active issues to see our current activity,
- the issue backlog to see what work is pending or under consideration, and
- read up on the Ideas we have in mind.
Are we missing something? Let us know by creating a new issue or posting a new idea!
For more information on how to get involved with the cloudera.exe
Ansible collection, head over to CONTRIBUTING.md.
To install the cloudera.exe
collection, you have several options.
The preferred method is to install via Ansible Galaxy; in your requirements.yml
file, add the following:
collections:
- name: cloudera.exe
If you want to install from GitHub, add to your requirements.yml
file:
following:
collections:
- name: https://github.com/cloudera-labs/cloudera.exe.git
type: git
version: main
And then run in your project:
ansible-galaxy collection install -r requirements.yml
You can also install the collection directly:
# From Ansible Galaxy
ansible-galaxy collection install cloudera.exe
# From GitHub
ansible-galaxy collection install git+https://github.com/cloudera-labs/cloudera.exe.git@main
ansible-builder
can discover and install all Python dependencies - current collection and dependencies - if you wish to use that application to construct your environment. Otherwise, you will need to read each collection and role dependency and follow its installation instructions.
See the Collection Metadata section for further details on how to install (and manage) collection dependencies.
You may wish to use a virtual environment to manage the Python dependencies.
This collection is designed to help you get up and running with Cloudera on cloud and on premise. It is decidedly opinionated -- that is, these roles and plugins make assumes as to how certain configurations and requirements are met. THESE RESOURCES ARE COMPLETELY OPTIONAL. THEY EXIST ONLY TO ASSIST YOU WITH BOOTSTRAPPING AND GREENFIELD EXAMPLES!
Feel free to use these resources as needed!
Once installed, reference the collection in playbooks and roles.
For example, here we use the
cloudera.exe.cm_agent
role to download and install the Cloudera Manager agent software from the Cloudera Archive repository:
- name: Install the CM agent
hosts: cluster_hosts
gather_facts: yes
tasks:
- name: Install the agent and register with Cloudera Manager
ansible.builtin.import_role:
name: cloudera.exe.cm_agent
vars:
cloudera_manager_host: cm.example.internal
If you wish to create a local copy of the API documentation, first set up the hatch
build tool, as shown in the TESTING guide.
Then, you can run:
hatch run docs:build
This will kick off the build toolchain. The local documentation can be found in docsbuild/build/html
.
Copyright 2025, Cloudera, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.