eap

8Roles2Plugins2Dependencies

Overview

Description

Enable Ansible to provisioning JBoss EAP or WildFly instances.

Readme

eap Collection for Ansible - redhat.eap

About

This Ansible Collection provides several roles to help install, setup and maintain Java JEE appserver eap within the configuration management tool Ansible.

I know nothing about Ansible, but I want to install eap, can I?

Yes, once Ansible is installed on your computer, you can simply run the following command (note that the inventory file needs to be populated with the name(s) of the machine(s) you wish to install eap on):

$ ansible-galaxy collection install redhat.eap
$ ansible-playbook -i inventory redhat.eap.playbook

Ansible version compatibility

This collection has been tested against following Ansible versions: >=2.15.0.

Install

Plugins and modules within a collection may be tested with only specific Ansible versions. A collection may contain metadata that identifies these versions.

Included content

Installing the collection

To install this Ansible collection:

$ ansible-galaxy collection install redhat.eap

or with a downloaded or built tarball, run the following command:

$ ansible-galaxy collection install /path/to/redhat.eap.tgz

or via the included requirements file:

$ ansible-galaxy collection install -r requirements.yml

Downloading products from the Customer Portal

The redhat.eap.eap_install role supports downloading and installing from the Red Hat Customer Portal using credentials associated to a service account. After login in the customer portal and navigating to the hybrid cloud console, select the services account tab to create one, if needed. Client ID and Client secret associated to the service account needs to be provided with the following variables are defined:

rhn_username: '<client_id>'
rhn_password: '<client_secret>'

The downloaded product archive will be stored in the controller working directory, and then distributed to target nodes.

When patching is requested, via the eap_apply_cp variable, the most recently published cumulative patch will be installed; to use a specific patch version instead, set it with the eap_patch_version variable.

NOTE: downgrading patches is not supported.

Building the collection

$ ansible-galaxy collection build .

Using the collection to install and run eap on target hosts

The collection comes with a simple playbook that allows to directly install and run eap:

$ ansible-playbook -i inventory redhat.eap.playbook

Note that depending on your use case, you might need to redefine some variables. In this case, you can simply import the playbook with the appropriate values:

---
- ansible.builtin.import_playbook: redhat.eap.playbook
  vars:
    eap_config_base: 'standalone-full.xml'

Overrideable variables are documented in the roles eap_install, eap_systemd, eap_drive

Dependencies

Support

The redhat.eap collection v1.5.8 is released as the Red Hat Ansible certified content collection for Red Hat JBoss Enterprise Application Platform with Production Support. If you have any issues or questions related to this collection, please contact support at Red Hat Customer Experience & Engagement. Alternatively contact the community by opening an issue at https://github.com/ansible-middleware/wildfly/issues.

For more information about using this collection, see Installing JBoss EAP by using the Red Hat Ansible Certified Content Collection.

Using the collection to customize eap configuration

Regarding the configuration of the Java app server itself, the Ansible collection has a specific strategy, designed to ensure idempotency of the resulting setup, but also ensure Ansible has the capacity to fine-tune, as much as needed, the server.

First, the collection will use a template configuration file as a base (by default, it's the standalone.xml provided with the server files). This file is first copy into eap.yml (can be renamed and relocated if needed to). Then, the server starts with this copy in read-only. So to apply any change to the configuration after this point, the user will need to use, either the YAML Config or the JBoss CLI. This ensures that the configuration can change can be performed by Ansible in an idempotent fashion.

Depending on the number of configuration changes and if the server is a new deployment, the user can decide to implement its configuration changes directly in the base template (for instance removing some subsystem from the standalone-full.xml and use this modified file as a base) or perform all the changes using the Yaml Config. The latter is generally the better approach, because it will also work with a running system, while the previous approach requires to deploy again the configuration file.

A last option is to use JBoss cli queries, within the Ansible, but it requires more work as the state has to be managed for Ansible. Which means, a first query will assess the current state of the server (is the configuration already correct?), then a second will be need to update, if needed, the configuration.

A note on domain mode

This collection does not provides any support to use eap's domain mode. The rationale behind this decision is that this eap feature overlaps a lot with Ansible and it's not recommended and cumbersome to combine those. So, for simplicity sake, this collection focus only on standalone deployment of eap JEE servers.

License

GNU General Public License v2.0

Certification

Product
Red Hat Ansible Automation Platform 2.4
Red Hat Ansible Automation Platform 2.5
DocumentationDependencies

This collection requires the following collections for use:

NameSummary
No dependencies
This collection is not being used by other collections.
View in Automation Hub
Red Hat logoLinkedInYouTubeFacebookTwitter

Platforms

Products & services

Try, buy, sell

Help

About Red Hat Ecosystem Catalog

The Red Hat Ecosystem Catalog is the official source for discovering and learning more about the Red Hat Ecosystem of both Red Hat and certified third-party products and services.

We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2025 Red Hat