A Web UI for interacting with Airship-managed clusters
Go to file
Matthew Fuller fab7bd9ef5 Add config integration to airshipui
Integrates airshipctl's config functionality with
Airship UI to allow users to view and set airship
configuration settings.

Known issues:
- Manifests currently only shows the primary (phase)
  repo. We'll probably need a separate repo sub-component
  to allow for showing / editing multiple repos
- There are some boolean values which once set, cannot
  be unset using airshipctl's setters. We may need to
  write custom setters to set the Config struct values
  directly
- It's possible to make edits to the config file that
  render the config invalid, so the CTL client cannot
  be initialized for subsequent edits. We'll probably
  want to make a copy of the original config, test the
  changes by initializing a new client, and only persist
  the changes if valid.
- Lots and lots of cosmetic work remains to make the
  output more readable and easier to manage

Change-Id: Ib29f3f6cf3e420b6e0e2cdc6afddd48c7e403137
2020-10-29 20:35:10 +00:00
.github Update Airship vulnerability link 2020-05-18 21:22:07 +00:00
certs update makefile to build docker images 2020-07-08 08:45:00 -05:00
client Add config integration to airshipui 2020-10-29 20:35:10 +00:00
cmd Simplify, refactor and rename to bring in line with CTL 2020-08-04 14:26:51 -05:00
docs Add sqlite for statistics / auditing for each transaction 2020-09-30 13:20:42 -05:00
etc Add TLS to the UI 2020-08-24 16:43:18 -05:00
pkg Add config integration to airshipui 2020-10-29 20:35:10 +00:00
playbooks Added unit-tests in Makefile 2020-07-22 14:06:02 -04:00
roles/docker-install Update zuul gates to use docker-image 2020-07-09 13:12:10 -05:00
sqlite Add sqlite for statistics / auditing for each transaction 2020-09-30 13:20:42 -05:00
tools Fix the license add for .ts and .css 2020-09-28 10:22:29 -05:00
util Add config integration to airshipui 2020-10-29 20:35:10 +00:00
.gitignore Add sqlite for statistics / auditing for each transaction 2020-09-30 13:20:42 -05:00
.gitreview Add a .gitreview 2019-12-06 16:02:18 -06:00
.golangci.yaml [linters] Aligning linter config with airshipctl 2020-06-19 11:38:46 -05:00
.zuul.yaml Update zuul gates to use docker-image 2020-07-09 13:12:10 -05:00
Dockerfile update makefile to build docker images 2020-07-08 08:45:00 -05:00
go.mod Add config integration to airshipui 2020-10-29 20:35:10 +00:00
go.sum Add config integration to airshipui 2020-10-29 20:35:10 +00:00
LICENSE Incorporate the whitespace linter from the CTL project 2020-07-22 13:40:32 -05:00
Makefile Fix the license add for .ts and .css 2020-09-28 10:22:29 -05:00
README.md Update documentation for TLS and authentication 2020-09-03 14:28:13 -05:00
tox.ini Publish documentation 2020-05-11 21:21:41 +00:00

Airship UI

Airship UI is a browser based application that is designed to allow you to interact with Airship components, find and connect to the kubernetes cluster and use plugins to tie together a singular dashboard to view addons without the need to go to a separate url or application.

Prerequisites

Getting Started

git clone https://opendev.org/airship/airshipui
cd airshipui
make # Note running behind a proxy can cause issues, notes on solving is in the Appendix of the Developer's Guide
bin/airshipui

Once AirshipUI has started you should be able to browse to it at https://localhost:10443

Adding Additional Functionality

Airship UI can be seamlessly integrated with service dashboards and other web-based tools by providing the necessary configuration in etc/airshipui.json.

To add service dashboards, create a section at the top-level of airshipui.json as follows:

"dashboards": [
        {
            "name": "Ceph",
            "baseURL": "https://ceph-dash.example.domain",
            "path": ""
        },
        {
            "name": "Horizon",
            "baseURL": "http://horizon",
            "path": "dashboard/auth/login"
        }
]

In the above example, the configuration for Horizon specifies a service dashboard available at 'http://horizon/dashboard/auth/login'."

Developer's Guide

Instructions on setting up a development environment and more details can be found in the Developer's Guide