{"id":23974621,"url":"https://github.com/hal/foundation","last_synced_at":"2026-03-06T19:13:55.198Z","repository":{"id":229936219,"uuid":"712366314","full_name":"hal/foundation","owner":"hal","description":"Foundation for the next major HAL version and halOS","archived":false,"fork":false,"pushed_at":"2026-03-03T10:48:37.000Z","size":23782,"stargazers_count":0,"open_issues_count":5,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-03T13:49:31.404Z","etag":null,"topics":["console","hal","jboss-eap","management","wildfly"],"latest_commit_sha":null,"homepage":"https://hal.github.io/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hal.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-31T10:27:29.000Z","updated_at":"2026-03-03T10:47:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"fe062854-ccef-40f1-9b06-65c48a1ca912","html_url":"https://github.com/hal/foundation","commit_stats":null,"previous_names":["hal/foundation"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/hal/foundation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hal%2Ffoundation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hal%2Ffoundation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hal%2Ffoundation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hal%2Ffoundation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hal","download_url":"https://codeload.github.com/hal/foundation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hal%2Ffoundation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30144700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T16:58:46.102Z","status":"ssl_error","status_checked_at":"2026-03-05T16:58:45.706Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["console","hal","jboss-eap","management","wildfly"],"created_at":"2025-01-07T05:47:23.191Z","updated_at":"2026-03-06T19:13:55.189Z","avatar_url":"https://github.com/hal.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HAL Foundation\n\nThis repository contains the foundation for the next major version of the HAL management console (halOP) and the upcoming\nOpenShift version (halOS). To distinguish between the two editions, we introduce the following names:\n\n- halOP: HAL on premise\n- halOS: HAL on OpenShift\n\nThe work on the new consoles is in an early state and very much in progress.\n\n# Technical Stack\n\n- [Java 21](https://jdk.java.net/java-se-ri/21)\n- [J2CL](https://github.com/google/j2cl)\n- [Crysknife CDI](https://github.com/crysknife-io/crysknife)\n- [Elemento](https://github.com/hal/elemento)\n- [PatternFly Java](https://github.com/patternfly-java)\n- [Maven](https://maven.apache.org/), [Parcel](https://parceljs.org/), and [NPM](https://www.npmjs.com/)\n\n# halOP (HAL On Premise)\n\nThis edition is the successor of the current [HAL management console](https://github.com/hal/console).\n\n## Get Started\n\nThere are many ways to get started with halOP, but essentially there are two ways to use the console:\n\n1. Bundled – as part of a WildFly installation\n2. Standalone – as a single-page application ([SPA](https://en.wikipedia.org/wiki/Single-page_application)) running on its own\n\n### Bundled\n\nIn this mode halOP is bundled with WildFly and can be used out of the box. halOP is available as an\nexperimental [feature pack](https://central.sonatype.com/artifact/org.jboss.hal/hal-op-feature-pack)\nthat can be provisioned with [Galleon](https://github.com/wildfly/galleon). The feature pack mounts an additional HTTP endpoint\non the management interface at http://localhost:9990/halop.\n\n1. Build or use the latest feature pack from Maven Central [\n   `org.jboss.hal:hal-op-feature-pack:0.2.5`](https://central.sonatype.com/artifact/org.jboss.hal/hal-op-feature-pack)\n\n    ```shell\n    mvn install -P prod,op,feature-pack\n    ```\n\n2. Provision a WildFly server. You can use the provided [\n   `provision.xml`](https://github.com/hal/foundation/blob/main/op/feature-pack/provision.xml) as an example. It provisions a\n   default standalone server plus the halOP feature pack. If you haven't built the feature pack in step 1 and used the latest\n   version from Maven Central, you have to run `mvn process-resources` in `op/feature-pack` in order to resolve the versions\n   in [`provision.xml`](https://github.com/hal/foundation/blob/main/op/feature-pack/provision.xml).\n\n    ```shell\n    galleon.sh provision op/feature-pack/target/provision.xml \\\n        --dir=$TMPDIR/wildfly \\\n        --stability-level=experimental\n    ```\n\n3. Prepare and start the server\n\n    ```shell\n    cd $TMPDIR/wildfly\n    bin/add-user.sh -u admin -p admin --silent\n    bin/standalone.sh --stability=experimental\n    ```\n\n4. Open http://localhost:9990/halop\n\n### Standalone\n\nhalOP 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\nWildFly installation. halOP is \"just\" a single-page application ([SPA](https://en.wikipedia.org/wiki/Single-page_application))\nwithout any server side dependencies. The only requirement is a management interface of a running WIldFly instance.\n\nBy default, the standalone mode runs at http://localhost:9090. If you want to customize the port, please use\n`-Dquarkus.http.port=\u003cport\u003e`.\n\nThere are many ways to run halOP in standalone mode:\n\n#### Build and run on your own (JVM)\n\n```shell\nmvn install -P prod,op,standalone\njava -jar op/standalone/target/quarkus-app/quarkus-run.jar\n```\n\n#### Build and run on your own (native)\n\n```shell\nmvn install -P prod,op,standalone,native\nop/standalone/target/hal-op-standalone-0.2.5-runner\n```\n\nPlease make sure that you have a recent version of GraalVM installed.\nSee https://quarkus.io/guides/building-native-image#configuring-graalvm for details.\n\n#### Use the latest release (JVM)\n\nThe latest release is deployed as Uber-Jar using the `runner` classifier to Maven Central: [\n`org.jboss.hal:hal-op-standalone:0.2.5`](https://central.sonatype.com/artifact/org.jboss.hal/hal-op-standalone). You can\ndownload and run it with\n\n```shell\nmvn dependency:copy -Dartifact=org.jboss.hal:hal-op-standalone:0.2.5:jar:runner -DoutputDirectory=.\njava -jar hal-op-standalone-0.2.5-runner.jar\n```\n\n#### Use the latest release (native)\n\nNative binaries for Linux, macOS, and Windows are attached to every [release](https://github.com/hal/foundation/releases).\nDownload the binary for your platform, make it executable, and run it. To make the binary executable, you might need to run\nsomething like this (depending on your OS):\n\n```shell\nchmod +x hal-op-*\nxattr -d com.apple.quarantine hal-op-*\n```\n\n#### JBang\n\nhalOP can also be started using [JBang](https://jbang.dev/).\n\n```shell\njbang org.jboss.hal:hal-op-standalone:0.2.5:runner\n```\n\nIf you want it even simpler, you can make use of\nthe [JBang catalog](https://www.jbang.dev/documentation/jbang/latest/alias_catalogs.html#catalogs) for halOP:\n\n```shell\njbang hal-op@hal\n```\n\nFinally, you can also install it as a command using `jbang app install hal-op@hal`. Then all you have to do is to run\n\n```shell\nhal-op\n```\n\nand you'll always be up to date.\n\n#### Container\n\nhalOP is also available as a container image at https://quay.io/repository/halconsole/hal-op.\n\n```shell\npodman run -it -p 9090:9090 quay.io/halconsole/hal-op\n```\n\n## Development\n\nIf you want to contribute to halOP, follow these steps to start halOP in development mode. In the development mode, the Java\ncode is transpiled to JavaScript using J2CL. The HTML and CSS are transpiled to JavaScript\nusing Parcel. Changes to HTML and CSS will be detected by Parcel, and the browser reloads the page automatically.\nChanges to the Java code will be detected by the J2CL Maven plugin, but you need to reload the browser manually.\n\nTo start halOP in development mode, run\n\n```shell\nmvn j2cl:watch -P op\n```\n\nand wait until you see the message\n\n```\n[INFO] -----  Build Complete: ready for browser refresh  -----\n```\n\nIn another shell run\n\n```shell\ncd op/console\nnpm run watch\n```\n\nThis will open a browser at http://localhost:1234.\n\n# halOS (HAL on OpenShift)\n\nThis version of HAL integrates with the OpenShift console. It can be used to manage WildFly insstances running on OpenShift.\n\nhalOS is not yet implemented!\n\n# Contributing\n\nThis is an open-source project. That means that everybody can contribute. It's not hard to get started. So\nstart [contributing](CONTRIBUTING.md) today!\n\n# Licenses\n\nThis project uses the following licenses:\n\n* [Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhal%2Ffoundation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhal%2Ffoundation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhal%2Ffoundation/lists"}