Skip to content

Commit bd445b1

Browse files
committed
Documentation
1 parent 6a4dca8 commit bd445b1

File tree

6 files changed

+97
-74
lines changed

6 files changed

+97
-74
lines changed

.github/workflows/container.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ permissions:
77
contents: write
88

99
jobs:
10-
build-native:
10+
build-native-image:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
@@ -33,7 +33,7 @@ jobs:
3333
retention-days: 1
3434

3535
build-image:
36-
needs: build-native
36+
needs: build-native-image
3737
runs-on: ubuntu-latest
3838
steps:
3939
- uses: actions/checkout@v6

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
server-password: CENTRAL_PASSWORD
6161
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
6262
gpg-passphrase: MAVEN_GPG_PASSPHRASE
63-
- run: $MVN deploy -P prod,op,feature-pack,standalone,os,release
63+
- run: $MVN deploy -P prod,op,feature-pack,standalone,jbang,os,release
6464
env:
6565
CENTRAL_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
6666
CENTRAL_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }}

CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,16 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## [Unreleased]
99

10-
## [0.2.1] - 2026-03-05
11-
1210
### Added
1311

1412
- Add Galleon feature pack
1513
- Add JBang integration
1614

15+
## [0.2.1] - 2026-03-05
16+
17+
> [!WARNING]
18+
> Not an official release. Please don't use!
19+
1720
## [0.2.0] - 2026-03-05
1821

1922
> [!WARNING]

README.md

Lines changed: 83 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ OpenShift version (halOS). To distinguish between the two editions, we introduce
66
- halOP: HAL on premise
77
- halOS: HAL on OpenShift
88

9-
The work is in a very early state and very much in progress.
9+
The work on the new consoles is in an early state and very much in progress.
1010

1111
# Technical Stack
1212

@@ -19,128 +19,144 @@ The work is in a very early state and very much in progress.
1919

2020
# halOP (HAL On Premise)
2121

22-
This edition is the successor of the current [HAL management console](https://github.com/hal/console). It is shipped with
23-
WildFly or can be run as a standalone application to connect to arbitrary WildFly instances.
22+
This edition is the successor of the current [HAL management console](https://github.com/hal/console).
2423

25-
## Development
24+
## Get Started
2625

27-
In the development mode, the Java code is transpiled to JavaScript using J2CL. The HTML and CSS are transpiled to JavaScript
28-
using Parcel. Changes to HTML and CSS will be detected by Parcel, and the browser reloads the page automatically.
29-
Changes to the Java code will be detected by the J2CL Maven plugin, but you need to reload the browser manually.
26+
There are many ways to get started with halOP, but essentially there are two ways to use the console:
3027

31-
To start halOP in development mode, run
28+
1. Bundled – as part of a WildFly installation
29+
2. Standalone – as a single-page application ([SPA](https://en.wikipedia.org/wiki/Single-page_application)) running on its own
3230

33-
```shell
34-
mvn j2cl:watch -P op
35-
```
31+
### Bundled
3632

37-
and wait until you see the message
33+
In this mode halOP is bundled with WildFly and can be used out of the box. halOP is available as an experimental feature pack
34+
that can be provisioned with [Galleon](https://github.com/wildfly/galleon). The feature pack mounts an additional HTTP endpoint
35+
on the management interface: http://localhost:9990/halop
3836

39-
```
40-
[INFO] ----- Build Complete: ready for browser refresh -----
41-
```
37+
1. Build or use the latest feature pack from Maven Central [
38+
`org.jboss.hal:hal-op-feature-pack:<VERSION>`](https://central.sonatype.com/artifact/org.jboss.hal/hal-op-feature-pack)
4239

43-
In another shell run
40+
```shell
41+
mvn install -P prod,op,feature-pack
42+
```
4443

45-
```shell
46-
cd op/console
47-
npm run watch
48-
```
44+
2. Provision a WildFly server. You can use the provided [
45+
`provision.xml`](https://github.com/hal/foundation/blob/main/op/feature-pack/provision.xml) as an example. It provisions a
46+
default standalone server plus the halOP feature pack. If you haven't built the feature pack in step 1 and used the latest
47+
version from Maven Central, you have to run `mvn process-resources` in `op/feature-pack` in order to resolve the version
48+
numbers.
4949
50-
This will open a browser at http://localhost:1234.
50+
```shell
51+
galleon.sh provision op/feature-pack/target/provision.xml \
52+
--dir=$TMPDIR/wildfly \
53+
--stability-level=experimental
54+
```
55+
56+
3. Prepare and start the server
57+
58+
```shell
59+
cd $TMPDIR/wildfly
60+
bin/add-user.sh -u admin -p admin --silent
61+
bin/standalone.sh --stability=experimental
62+
```
5163
52-
## Standalone
64+
4. Open http://localhost:9990/halop
65+
66+
### Standalone
5367
5468
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
55-
WildFly installation. halOP is "just" a single-page application (SPA) without any server side dependencies. The only requirement
56-
is a management interface of a running WIldFly instance.
69+
WildFly installation. halOP is "just" a single-page application ([SPA](https://en.wikipedia.org/wiki/Single-page_application))
70+
without any server side dependencies. The only requirement is a management interface of a running WIldFly instance.
71+
72+
By default, halOP is available at http://localhost:9090. If you want to customize the port, please use
73+
`-Dquarkus.http.port=<port>`.
5774
58-
### Java
75+
There are many ways to run halOP in standalone mode:
5976
60-
To build halOP as a standalone Java application, run
77+
#### Build and run on your own (JVM)
6178
6279
```shell
6380
mvn install -P prod,op,standalone
81+
java -jar op/standalone/target/quarkus-app/quarkus-run.jar
6482
```
6583
66-
This will package the transpiled HTML, CSS, and JavaScript resources into a Quarkus-based HTTP server. To start it, run
84+
#### Build and run on your own (native)
6785
6886
```shell
69-
java -jar op/standalone/target/hal-op-standalone-0.2.1.jar
87+
mvn install -P prod,op,standalone,native
88+
op/standalone/target/hal-op-standalone-<VERSION>-runner
7089
```
7190
72-
and open a browser at http://localhost:9090.
91+
Please make sure that you have a recent version of GraalVM installed.
92+
See https://quarkus.io/guides/building-native-image#configuring-graalvm for details.
7393
74-
### Native
94+
#### Latest release (JVM)
7595
76-
To build the native binary of halOP, run
96+
The latest release is deployed as Uber-Jar using the `runner` classifier to Maven Central: [
97+
`org.jboss.hal:hal-op-standalone:<VERSION>`](https://central.sonatype.com/artifact/org.jboss.hal/hal-op-standalone). You can
98+
download and run it with
7799
78100
```shell
79-
mvn install -P prod,op,standalone,native -Dquarkus.native.container-build=false
101+
mvn dependency:copy -Dartifact=org.jboss.hal:hal-op-standalone:<VERSION>:jar:runner -DoutputDirectory=.
102+
java -jar hal-op-standalone-<VERSION>-runner.jar
80103
```
81104
82-
Please make sure that you have a recent version of GraalVM installed.
83-
See https://quarkus.io/guides/building-native-image#configuring-graalvm for details.
84-
85-
Native binaries for Linux, macOS, and Windows are also attached to every [release](https://github.com/hal/foundation/releases).
86-
Download the binary for your platform, make it executable, and run it. Then open a browser at http://localhost:9090.
105+
#### Latest release (native)
87106
88-
To make the binary executable, you might need to run something like this:
107+
Native binaries for Linux, macOS, and Windows are attached to every [release](https://github.com/hal/foundation/releases).
108+
Download the binary for your platform, make it executable, and run it. To make the binary executable, you might need to run
109+
something like this (depending on your OS):
89110
90111
```shell
91112
chmod +x hal-op-*
92113
xattr -d com.apple.quarantine hal-op-*
93114
```
94115
95-
If you want to customize the port of halOP (Java-based and native), please use `-Dquarkus.http.port=<port>` to change the port.
116+
#### JBang
96117
97-
## JBang
98-
99-
halOP can also be run as a standalone Java application using [JBang](https://jbang.dev/).
118+
halOP is also available as
119+
a [JBang](https://jbang.dev/) [catalog](https://www.jbang.dev/documentation/jbang/latest/alias_catalogs.html#catalogs):
100120
101121
```shell
102122
jbang hal-op@hal
103123
```
104124
105-
## Container
125+
#### Container
106126
107-
halOP is also available as a container image at https://quay.io/repository/halconsole/hal-op. Use
127+
halOP is also available as a container image at https://quay.io/repository/halconsole/hal-op.
108128
109129
```shell
110130
podman run -it -p 9090:9090 quay.io/halconsole/hal-op
111131
```
112132
113-
to start it and open a browser at http://localhost:9090.
114-
115-
## Galleon Provisioning
133+
## Development
116134
117-
halOP is also available as a feature pack that can be provisioned with [Galleon](https://github.com/wildfly/galleon).
135+
If you want to contribute to halOP, follow these steps to start halOP in development mode. In the development mode, the Java
136+
code is transpiled to JavaScript using J2CL. The HTML and CSS are transpiled to JavaScript
137+
using Parcel. Changes to HTML and CSS will be detected by Parcel, and the browser reloads the page automatically.
138+
Changes to the Java code will be detected by the J2CL Maven plugin, but you need to reload the browser manually.
118139
119-
1. Build the feature pack with
140+
To start halOP in development mode, run
120141
121-
```shell
122-
mvn install -P prod,op,feature-pack
123-
```
142+
```shell
143+
mvn j2cl:watch -P op
144+
```
124145
125-
2. Provision a WildFly server. You can use the provided [
126-
`provision.xml`](https://github.com/hal/foundation/blob/main/op/feature-pack/provision.xml) as an example. It provisions a
127-
default standalone server plus the halOP feature pack.
146+
and wait until you see the message
128147
129-
```shell
130-
galleon.sh provision op/feature-pack/target/provision.xml \
131-
--dir=$TMPDIR/wildfly \
132-
--stability-level=experimental
133-
```
148+
```
149+
[INFO] ----- Build Complete: ready for browser refresh -----
150+
```
134151
135-
3. Prepare and start the server
152+
In another shell run
136153
137-
```shell
138-
cd $TMPDIR/wildfly
139-
bin/add-user.sh -u admin -p admin --silent
140-
bin/standalone.sh --stability=experimental
141-
```
154+
```shell
155+
cd op/console
156+
npm run watch
157+
```
142158
143-
4. Open http://localhost:9990/halop
159+
This will open a browser at http://localhost:1234.
144160
145161
# halOS (HAL on OpenShift)
146162

op/standalone/pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
<compiler-plugin.version>3.15.0</compiler-plugin.version>
3838
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3939
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
40-
<quarkus.package.jar.type>uber-jar</quarkus.package.jar.type>
4140
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
4241
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
4342
<quarkus.platform.version>3.32.2</quarkus.platform.version>
@@ -145,6 +144,12 @@
145144
</build>
146145

147146
<profiles>
147+
<profile>
148+
<id>jbang</id>
149+
<properties>
150+
<quarkus.package.jar.type>uber-jar</quarkus.package.jar.type>
151+
</properties>
152+
</profile>
148153
<profile>
149154
<id>native</id>
150155
<activation>

op/standalone/src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,3 @@
1717
quarkus.banner.path=banner.txt
1818
quarkus.http.port=9090
1919
quarkus.native.march=compatibility
20-
quarkus.package.jar.add-runner-suffix=false

0 commit comments

Comments
 (0)