Update documentation for proxies and improved diagrams
Also removed some of the older no longer relevant docs Change-Id: Ic75e70c2ff008725971e6395a8286a11d1646ed2
This commit is contained in:
parent
a0d1b40230
commit
769e1b458d
BIN
docs/img/proxy.jpg
Executable file
BIN
docs/img/proxy.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
Binary file not shown.
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
@ -10,37 +10,15 @@ Clone the Airship UI repository and build.
|
||||
git clone https://opendev.org/airship/airshipui
|
||||
cd airshipui
|
||||
make
|
||||
make install-npm-modules # Note running behind a proxy can cause issues, notes on solving is in the Appendix
|
||||
make examples # (optional)
|
||||
make install-octant-plugins # (if running with octant)
|
||||
|
||||
**NOTE**
|
||||
Make will install node.js v12 into your tools directory and will use that as the node binary for the UI testing and launching.
|
||||
|
||||
|
||||
Run the airshipui binary
|
||||
|
||||
./bin/airshipui
|
||||
|
||||
# Running on a separate client & server
|
||||
For development purposes it could be advantageous to split the webservice and the UI across 2 machines.
|
||||
|
||||
## To start the webservice on a remote system without starting the ui
|
||||
|
||||
bin/airshipui --headless
|
||||
|
||||
This will require you to tunnel the connection to the remote machine:
|
||||
|
||||
ssh -L 8080:localhost:8080 <id>@<remote_host>
|
||||
|
||||
## To start the UI to attach to a remote machine
|
||||
|
||||
bin/airshipui --remote
|
||||
|
||||
## Running the webservice on a remote machine with plugins
|
||||
The plugins can run on the remote system but you will need to add additional SSH tunnels to the machine in order for it to work.
|
||||
The plugins can also run locally but the remote server will still need the definition on the remote system to notify the UI that the plugins are available.
|
||||
|
||||
# Authentication
|
||||
## Pluggable authentication methods
|
||||
The AirshipUI is not designed to create authentication credentials but to have them supplied to it either by a configuration or by an external entity. The expectation is that there will be an external URL that will handle authentication for the system which may need to be modified or created. The endpoint will need to be able to forward a [bearer token](https://oauth.net/2/bearer-tokens/), [basic auth](https://en.wikipedia.org/wiki/Basic_access_authentication) or cookie data to the Airship UI backend service.
|
||||
@ -67,22 +45,6 @@ go run examples/authentication/main.go
|
||||
+ The example auth server id is: airshipui
|
||||
+ The example auth server password is: Open Sesame!
|
||||
|
||||
# Plugins
|
||||
## Octant
|
||||
[Octant](https://github.com/vmware-tanzu/octant) is a tool for developers to understand how applications run on a Kubernetes cluster. It aims to be part of the developer's toolkit for gaining insight and approaching complexity found in Kubernetes. Octant offers a combination of introspective tooling, cluster navigation, and object management along with a plugin system to further extend its capabilities.
|
||||
|
||||
Octant needs to be pointed to a Kubernetes Cluster. For development it is recommended to use [Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/)
|
||||
|
||||
### How to get and build Octant
|
||||
If you are going to do serious Octant development you will need to adhere to [Octant's Hacking Guide](https://github.com/vmware-tanzu/octant/blob/master/HACKING.md) which includes information on how to build Octant and the steps to push changes to them.
|
||||
|
||||
### Running the example
|
||||
Build the octant plugin executable
|
||||
```
|
||||
make install-octant-plugins
|
||||
```
|
||||
Run the octant binary and the plugin should show "Hello World just some text on the page" under the http://127.0.0.1:7777/#/airshipui-example-plugin url.
|
||||
|
||||
## Behind the scenes
|
||||
|
||||
### Communication with the backend
|
||||
@ -93,6 +55,12 @@ The UI will initiate the websocket and request data. The backend uses a functio
|
||||
### AirshipUI interaction
|
||||

|
||||
|
||||
### Communication with the dashboards
|
||||
Dashboards may or may not be generally available for end users based on the cluster the AirshipUI is deployed to. If access to the endpoint is controlled in a way that is not easy to manipulate or if a Single Sign On approach is necessary the AirhshipUI provides the ability to proxy the targeted dashboard.
|
||||
|
||||
### AirshipUI proxy interaction
|
||||

|
||||
|
||||
## Appendix
|
||||
|
||||
### Minikube
|
||||
|
Loading…
x
Reference in New Issue
Block a user