kui-shell
Version:
This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool
84 lines (64 loc) • 2.72 kB
Markdown
Packaging up Kui
Beyond local development of Kui, you may want to package and
distribute Kui to others. The code base currently supports three
packaging modes:
- [Headless](#headless-packaging) — making a lightweight headless release
- [Electron](#electron-packaging) — building an Electron client app
- [Browser](#browser-packaging) — building for the browser, using [webpack](https://webpack.js.org/)
# Headless packaging
```bash
cd clients/default # or: cd clients/[your-customized-client]
npm run build:headless
ls dist/headless
Kui-headless.tar.bz2 Kui-headless.zip
```
# Electron packaging
Kui uses
[electron-packager](https://github.com/electron-userland/electron-packager)
for the heavy lifting. The `electron-packager` npm supports building
for Windows, macOS, and Linux. When building an Electron distribution,
the script by default will build for all three platforms.
```bash
cd clients/default # or: cd clients/[your-customized-client]
npm run build:electron [target]
ls dist/electron
Kui-darwin-x64.dmg Kui-darwin-x64.tar.bz2 Kui-win32-x64.zip Kui-linux-x64.tar.bz2
```
To test out builds on your laptop, you may wish only to build for one
platform. You can do so by adding a `target` option, which is one of
`win32`, `mac`, or `linux`. If you only want the Electron
double-clickable, and not the distributables (e.g. the `dmg` and `zip`
files), set the `NO_INSTALLER=true` environment variable when
executing `build.sh`.
# Browser packaging
To build for use in a browser, Kui uses
[webpack](https://webpack.js.org/).
Option A) Build webpack with [proxy support](../../packages/proxy/doc/proxy-architecture.pdf).
```bash
cd clients/default # or: cd clients/[your-customized-client]
npm run build:proxy
npm run build:webpack # including proxy-related support by default
ls dist/webpack
... lots of *.bundle.js.br files ...
```
Option B) Build webpack without proxy support
```bash
cd clients/default # or: cd clients/[your-customized-client]
KUI_USE_PROXY=false npm run build:webpack
ls dist/webpack
... lots of *.bundle.js.br files ...
```
The first time you do so, you will be asked to set up a local https
certificate. You should see the normal openssl series of prompts; make
sure that you provide at least one non-empty answer to the self-signed
certificate prompts, otherwise it will fail in odd ways.
After you have built the webpack bundles, you can test them out
locally:
```bash
npx kui-run-proxy # only necessary when you need proxy support and you've built the proxy
npx kui-run-webpack
Visit this url:
https://localhost:9080
```
# Internal Details
See: [Internal Development Details](../../packages/kui-builder/README.md).