App KBean¶
Provides a way to install, update, or remove applications from the user PATH.
Applications are installed from a Git repository and built by the client before installation. Applications can be installed as executable JARs or native apps.
Install Applications¶
jeka app: install repo=<repo-url>
Install an application in native mode
jeka app: install repo=<repo-url> native:
Example:
jeka app: install repo=https://github.com/djeang/kill8 name=kill8 native:
List Installed Applications¶
jeka app: list
App Name │ Repo │ Version │ Status │ Runtime │
calculator │ https://github.com/djeang/Calculator-jeka │ latest │ up-to-date │ jvm │
kill8 │ https://github.com/djeang/kill8 │ <master> │ up-to-date │ native │
Update Applications¶
jeka app: update name=kill8
Uninstall Applications¶
jeka app: uninstall name=kill8
Catalogs¶
Display the registered catalogs of applications:
jeka app: catalog
Display application registered in a given catalog:
jeka app: name=demo
To add a catalog, add the following lines to your ~/.jeka/global.properties
file.
catalog.xxx.repo=[http location or git repo url]
catalog.xxx.desc=[Description of the catalog]
xxxx
stands for the name of your catalog.
catalog.xxx.repo
can value a url pointing at the catalog file, or the url of the Github repo containing the catalog file.
Both examples are valid:
# Inside the `demo' repo of the 'jeka-dev' Github organization.
# The jeka-catalog.properties file is expected at the repo root.
catalog.demo.repo=jeka-dev/demo
# Inside the `jeka-catalog' repo of the 'djeang' Github organization.
# The jeka-catalog.properties file is expected at the repo root.
catalog.djeang.repo=djeang
# Direct pointing at the url.
catalog.foo.repo=https://raw.githubusercontent.com/jeka-dev/jeka-catalog/refs/heads/main/jeka-catalog.properties
Catalog file example:
app.cowsay.repo=https://github.com/jeka-dev/demo-cowsay
app.cowsay.desc=Java port or the Cowsay famous CLI.
app.cowsay.type=CLI
app.demo-springboot-angular.repo=https://github.com/jeka-dev/demo-project-springboot-angular
app.demo-springboot-angular.desc=Manage a list of users. Written in Springboot and Angular
app.demo-springboot-angular.type=SERVER-UI
Security¶
Trusted URL prefixes are stored in the jeka.apps.url.trusted
property, located in the ~/.jeka/global.properties file.
You can adjust this property later to make it more or less restrictive.
The check validates the start of the Git URL after removing the protocol and identifier part.
Example: jeka.app.url.trusted=github.com/djeang/
will trust urls formed as:
- https://github.com/djeang/xxx...
- https://my-user-name@github.com/djeang/xxx...
- git@github.com/djeang/xxx..
- git@github.com:my-user-name/djeang/xxx..
- ...
Provides a way to install, update, or remove applications from the user PATH.
Applications are installed from a Git repository and built by the client before installation. Applications can be installed as executable JARs or native apps.
This KBean exposes the following fields:
Field | Description |
---|---|
repo [String] | Git Remote repository URL of the app to install. |
name [String] | Specifies the name of the app to update/uninstall. |
description [String] | Short description of the app provided by the application author. |
url [String] | Specifies the url to trust. |
This KBean exposes the following methods:
Method | Description |
---|---|
catalog | List application catalogs. |
install | Builds and installs the app to make it available in PATH. Use repo=[Git URL] to set the source repository.Use native: argument to install as a native app. |
list | Lists installed Jeka commands in the user's PATH. |
trustUrl | Adds permanently the url to the trusted list. The urls starting with the specified prefix will be automatically trusted. Use 'url=my.host/my.path/' to specify the prefix. |
uninstall | Uninstalls an app from the user's PATH. Use name=[app-name] to specify the app. |
update | Updates an app from the given name. Use name=[app-name] to specify the app name. |