https://github.com/wildfly/galleon
Galleon Provisioning Tool
https://github.com/wildfly/galleon
Last synced: 6 months ago
JSON representation
Galleon Provisioning Tool
- Host: GitHub
- URL: https://github.com/wildfly/galleon
- Owner: wildfly
- License: apache-2.0
- Created: 2018-03-15T16:36:41.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2025-12-17T08:40:59.000Z (7 months ago)
- Last Synced: 2026-01-27T02:54:03.160Z (6 months ago)
- Language: Java
- Homepage: https://docs.wildfly.org/galleon/
- Size: 17.6 MB
- Stars: 30
- Watchers: 5
- Forks: 33
- Open Issues: 12
-
Metadata Files:
- Readme: README.adoc
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
- Security: SECURITY.md
- Dco: dco.txt
Awesome Lists containing this project
README
:toc:
:toc-placement!:
= Galleon Provisioning
toc::[]
= Overview
Galleon is a provisioning tool designed to create and maintain software distributions that consist of one or more products (or components). The tool supports:
* adding products to a distribution;
** their default and customized configurations;
* removing products from a distribution;
* integration of the products in the distribution;
* resolution and validation of the resulting configuration and runtime dependencies;
* patching and version updates;
* product-specific provisioning plugins;
* detection of the changes in the provisioned distribution (its filesystem content and/or its configuration) applied by the user manually or by means of other management tools
** to be able to preserve them after a version upgrade (having made sure the changes are compatible in the new version)
** or create a provisioning configuration that could be used to reproduce the state of the distribution including the user changes;
* exporting the provisioning configuration of the current state of the distribution with the goal to reproduce it later at another location.
The tool includes a command-line interface and a public API. There is also a Maven plugin that allows provisioning a distribution according to the provided configuration.
= Download and Installation of the Command Line Tool
Releases of the command line tool are available on the link:https://github.com/wildfly/galleon/releases[releases page].
Download and unzip the release zip and add the `bin` dir to your system path. Use `galleon.sh` or `galleon.bat` to launch the tool.
= Project Modules
== Module `galleon-parent`
Defines main version and common dependencies of the project.
== Module `core`
General provisioning and feature-pack API. Which allows to provision the desired
installation specification at a specified location, install additional and/or
uninstall existing feature-packs, export the currently provisioned specification
to a file with the purpose to reproduce it at a different location.
== Module `cli`
Command line interface which allows to:
* Build feature-packs and install them into the Maven repository;
* Provision an installation by pulling the feature-packs from the
Maven repository and installing them at the specified location.;
* View the currently provisioned installation specification;
* Export the currently provisioned installation specification to
a file with goal to reproduce the installation later.
The Maven assembly plug-in is configured to create a single executable JAR
file which contains all the dependencies.
= CLI Commands
The CLI commands help is printed by calling the `help` command.
Full documentation of the CLI commands can be found in link:https://docs.wildfly.org/galleon/[this] documentation.
= Building and launching the tool
The tool can be built by executing the following Maven command:
[source,shell]
----
mvn clean install
----
The executable JAR will be built in `cli/target/galleon-cli.jar`
There is also a convenience `do.sh` script in the root directory
of the project. If executed w/o arguments, it'll build and launch the tool.
`./do.sh build` will only build the tool.
`./do.sh run` will only launch the already built tool.