Skip to content

openziti/ziti-console

Ziggy using the ziti-console

OpenZiti is a free and open source project focused on bringing zero trust to any application.
The project provides all the pieces required to implement or integrate zero trust into your solutions.


@openziti/ziti-console

This repo hosts the Ziti Admin Console, and is designed to provide a user interface to help you administrate an OpenZiti Network via the Ziti Edge API

Part of the OpenZiti ecosystem


Interested in knowing how to easily embed programmable, high performance, zero trust networking into your application without VPNs?
Learn more about OpenZiti project.
Also, checkout core project on github

Please star us!


Issues License PRs Welcome Contributor Covenant


OpenZiti Console

The OpenZiti Console is an administrative web interface for an OpenZiti network.

Deployments

Read the production deployment guides for the console as well as the controller, router, etc.

Link to deployment guides

Requirements

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

Install Angular CLI

This provides the ng command.

npm install -g @angular/cli@16

Projects

This repository houses two projects.

  1. ziti-console-lib - Angular library used by the console UI.
  2. app-ziti-console - console UI with two deployment modes.
  3. Single page application mode (recommended)
  4. Node.js server mode (server.js, deprecated)

Build

From the project root:

  1. Install the projects' dependencies.

    npm install
  2. Build the library project with Angular.

    ng build ziti-console-lib

Build the Single Page Application

This is the recommended approach.

  1. Build the console project with Angular.

    ng build ziti-console
  2. You must host the static files with a web server. See the deployment guide for details on configuring the controller to host these files.

  3. Access the console at the controller's address: https://localhost:1280/zac/

Build the Standalone Node Server

This deployment mode is deprecated by the SPA mode.

  1. Build the console project with Angular.

    ng build ziti-console-node
  2. If developing the standalone Node server, run it.

    node server.js
  3. Access the console at http://localhost:1408

  4. Configure the server with the URL of the controller's edge-management API, e.g. https://localhost:1280

Developing with Angular

There are two elements to the Angular app.

From project Root:

  1. Install dependencies

    npm install
  2. 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.
  3. 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