github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/docs/4-deploy-a-jackal-package/3-deployment-ui.md (about) 1 # Deployment Web UI 2 3 Jackal is also available in a version that exposes a Deployment Web UI that supports a number of Jackal features used during the package deployment process. For users who prefer not to use the command line tool, the Web UI creates a simple experience to deploy and manage Jackal clusters and packages. The Web UI can be used to connect to existing clusters (via a Kubeconfig), initialize a cluster, deploy packages into a cluster, update packages in the cluster, and remove packages from the cluster. 4 5 The Jackal Web UI mirrors the functionality of the Jackal CLI commands, but with a more intuitive flow and familiar web application patterns for non-technical users. The web UI does not offer any additional commands or core functionality to Jackal. 6 7 ## Open the Jackal Deployment Web UI 8 9 The Jackal Deployment Web UI can easily be downloaded from the [Jackal UI Github Project](https://github.com/Racer159/jackal-ui/releases/latest). 10 11 Follow these steps to get started using the Web UI 12 13 1. Step one: [Download the Jackal UI](https://github.com/Racer159/jackal-ui/releases/latest) version that matches your system (i.e. `jackal-ui_v0.1.0-Darwin_arm64`) 14 2. Step two: (if applicable) Mark the file as executable with `chmod +x jackal-ui_v0.1.0-Darwin_arm64` 15 3. Step three: Run the binary with `./jackal-ui_v0.1.0-Darwin_arm64` or by double clicking the file in your file browser 16 17  18 19 ## Using the Jackal Deployment Web UI 20 21 ### Cluster Connection Status 22 23 When Jackal UI is running it automatically searches for a Kubeconfig on the local machine. If the Kubeconfig is found, it searches the default cluster to determine if it is a Jackal cluster (i.e. initialized). There are two different cluster statuses the Web UI will display based on the state of the cluster found. 24 25 #### Cluster not Connected (Not Initialized) 26 27  28 29 1. Shown when there is no Kubeconfig found on the machine. 30 2. Shown when a Kubeconfig is found on the machine, but Jackal has not been deployed and set up in the cluster. 31 32 #### Cluster Connected (Initialized) 33 34 If Jackal finds a cluster in the Kubeconfig that has Jackal resources in it it will automatically connect to the cluster and display the cluster details on the Web UI. 35 36  37 38 1. Shown when there is a Kubeconfig found on the machine with a default cluster that has Jackal resources in it. 39 40 41 ### Connect to Existing Cluster 42 43 The Jackal Web UI makes connecting to existing clusters easy. When on the packages page, if there is no Jackal cluster currently connected, select the connect cluster button. If Jackal finds a Kubeconfig it will ask the user if they want to connect to the default cluster context. 44 45 :::tip 46 47 Jackal can only read the default cluster in your Kubeconfig file, if you wish to connect to a different cluster in the Kubeconfig you will need to change it to the default cluster in the terminal. See the Kubernetes documentation on [how to configure access to multiple clusters](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/). 48 49 ::: 50 51 Follow these steps to connect to an existing cluster: 52 53 1. Be sure to have a Kubeconfig on your machine with the cluster you wish to connect to set as the default cluster. 54 2. Click connect cluster button on cluster card 55 3. Select cluster name in the dialog and click connect 56 4. Select a JackalInitConfig package to deploy into the cluster 57 5. Follow Package deployment prompts to deploy package and initialize cluster as a Jackal cluster. 58 59 ### Deploy a K3s Cluster with the Init Package 60 61 If you do not have access to an existing cluster, or would simply like to spin up a new cluster. You can do that by deploying a JackalInitConfig package and selecting the optional K3s component. 62 63 :::info 64 65 This option is currently only available for Linux machines with access to the `root` user. 66 67 ::: 68 69 Follow these steps to deploy and initialize a new cluster: 70 71 1. Click deploy package button (on the Deployed packages table) 72 2. Select a JackalInitPackage from the list 73 3. Toggle the switch on for the K3s component to select it for deployment 74 4. Complete package deployment steps to spin up and initialize your new Jackal cluster. 75 76 ### Deploy additional packages 77 78 Once you have a cluster connected to Jackal, you can deploy additional packages into the cluster. 79 80 Steps to deploy additional packages into the cluster: 81 82 1. Click deploy package button on the Deployed packages table 83 2. Select the package you wish to deploy from the list 84 3. Complete the package deployment steps 85 86 ### Additional Package Commands 87 88 Once a package is deployed into the cluster, the Web UI offers additional commands that can be executed for a package. To view these commands click on the vertical ellipsis at the end of the table row for the package you wish to act upon. The Web UI currently supports the following package commands: 89 90 - Update: Use when you wish to update a package with a new version of the same package. 91 - Remove: Use when you wish to remove a package and all of its resources from the cluster. This cannot be undone. 92 93  94 95 96 ## Technical Details 97 98 The web UI is packaged into a separate Go binary using Jackal as a library, so you don't have to worry about additional dependencies or needing to manually hook it into Jackal! The web UI is served through your machine's local browser, running on `localhost`, and utilizes the Go binary as the backend. 99 100 Use the Jackal Deployment UI to execute the existing Jackal CLI commands: 101 - [Jackal tools Kubectl top](../2-the-jackal-cli/100-cli-commands/jackal_tools_kubectl.md) 102 - [Jackal Init](../2-the-jackal-cli/100-cli-commands/jackal_init.md) 103 - [Jackal Package Deploy](../2-the-jackal-cli/100-cli-commands/jackal_package_deploy.md) 104 - [Jackal Package Remove](../2-the-jackal-cli/100-cli-commands/jackal_package_remove.md) 105 - [Jackal Package List](../2-the-jackal-cli/100-cli-commands/jackal_package_list.md) 106 - [Jackal Package Inspect](../2-the-jackal-cli/100-cli-commands/jackal_package_inspect.md) 107 - [Jackal Tools Sbom](../2-the-jackal-cli/100-cli-commands/jackal_tools_sbom.md) 108 - [Jackal Connect](../2-the-jackal-cli/100-cli-commands/jackal_connect.md) 109 110 :::info 111 112 All other jackal [CLI commands](../2-the-jackal-cli/index.md) will require interfacing with the CLI directly. 113 114 :::