Skip to content

Latest commit

 

History

History
90 lines (53 loc) · 3.19 KB

README.adoc

File metadata and controls

90 lines (53 loc) · 3.19 KB

Galleon Provisioning

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 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 this documentation.

Building and launching the tool

The tool can be built by executing the following Maven command:

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.