The OpenZiti Console is an administrative web interface for an OpenZiti network.
Read the production deployment guides for the console as well as the controller, router, etc.
To build and run the application from source, you'll also need to make sure you have the following developer tools installed and available on your command line.
Tool | Version |
---|---|
Node.js | =18 |
npm | >=8.1 |
ng | =16 |
This provides the ng
command.
npm install -g @angular/cli@16
This repository houses two projects.
- ziti-console-lib - Angular library used by the console UI.
- app-ziti-console - console UI with two deployment modes.
- Single page application mode (recommended)
- Node.js server mode (
server.js
, deprecated)
From the project root:
-
Install the projects' dependencies.
npm install
-
Build the library project with Angular.
ng build ziti-console-lib
This is the recommended approach.
-
Build the console project with Angular.
ng build ziti-console
-
You must host the static files with a web server. See the deployment guide for details on configuring the controller to host these files.
-
Access the console at the controller's address: https://localhost:1280/zac
This deployment mode is deprecated by the SPA mode.
-
Build the console project with Angular.
ng build ziti-console-node
-
If developing the standalone Node server, run it.
node server.js
-
Access the console at http://localhost:1408
-
Configure the server with the URL of the controller's edge-management API, e.g. https://localhost:1280
There are two elements to the Angular app.
From project Root:
-
Install dependencies
npm install
-
Run & watch changes in the core library in ziti-console-lib by running the npm script watch:lib
ng build ziti-console-lib --watch
- Note: The NPM library is referenced/linked in package.json as "ziti-console-lib": "file:dist/ziti-console-lib". This library includes the pure javascript code it shared with ziti-console, and the Angular code it shares with other apps.
-
Then in a separate window run & watch changes in the main application app-ziti-console
ng build ziti-console-node --watch
This ensures changes made to the NPM library get pulled into the Angular app as you are developing