This repository contains the foundation for the next major version of the HAL management console (halOP) and the upcoming OpenShift version (halOS). To distinguish between the two editions, we introduce the following names:
- halOP: HAL on premise
- halOS: HAL on OpenShift
The work is in a very early state and very much in progress.
This edition is the successor of the current HAL management console. It is shipped with WildFly or can be run as a standalone application to connect to arbitrary WildFly instances.
In the development mode, the Java code is transpiled to JavaScript using J2CL. The HTML and CSS are transpiled to JavaScript using Parcel. Changes to HTML and CSS will be detected by Parcel, and the browser reloads the page automatically. Changes to the Java code will be detected by the J2CL Maven plugin, but you need to reload the browser manually.
To start halOP in development mode, run
mvn j2cl:watch -P opand wait until you see the message
[INFO] ----- Build Complete: ready for browser refresh -----
In another shell run
cd op/console
npm run watchThis will open a browser at http://localhost:1234.
halOP can run on its own. In this mode halOP starts a local web server and serves the console on its own without being part of a WildFly installation. halOP is "just" a single-page application (SPA) without any server side dependencies. The only requirement is a management interface of a running WIldFly instance.
To build halOP as a standalone Java application, run
mvn install -P prod,op,standaloneThis will package the transpiled HTML, CSS, and JavaScript resources into a Quarkus-based HTTP server. To start it, run
java -jar op/standalone/target/hal-op-standalone-0.2.1.jarand open a browser at http://localhost:9090.
To build the native binary of halOP, run
mvn install -P prod,op,standalone,native -Dquarkus.native.container-build=falsePlease make sure that you have a recent version of GraalVM installed. See https://quarkus.io/guides/building-native-image#configuring-graalvm for details.
Native binaries for Linux, macOS, and Windows are also attached to every release. Download the binary for your platform, make it executable, and run it. Then open a browser at http://localhost:9090.
To make the binary executable, you might need to run something like this:
chmod +x hal-op-*
xattr -d com.apple.quarantine hal-op-*If you want to customize the port of halOP (Java-based and native), please use -Dquarkus.http.port=<port> to change the port.
halOP can also be run as a standalone Java application using JBang.
jbang hal-op@halhalOP is also available as a container image at https://quay.io/repository/halconsole/hal-op. Use
podman run -it -p 9090:9090 quay.io/halconsole/hal-opto start it and open a browser at http://localhost:9090.
halOP is also available as a feature pack that can be provisioned with Galleon.
-
Build the feature pack with
mvn install -P prod,op,feature-pack
-
Provision a WildFly server. You can use the provided
provision.xmlas an example. It provisions a default standalone server plus the halOP feature pack.galleon.sh provision op/feature-pack/target/provision.xml \ --dir=$TMPDIR/wildfly \ --stability-level=experimental -
Prepare and start the server
cd $TMPDIR/wildfly bin/add-user.sh -u admin -p admin --silent bin/standalone.sh --stability=experimental
This version of HAL integrates with the OpenShift console. It can be used to manage WildFly insstances running on OpenShift.
halOS is not yet implemented!
This is an open-source project. That means that everybody can contribute. It's not hard to get started. So start contributing today!
This project uses the following licenses: