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
2020-05-18 21:22:07 +00:00
2020-08-24 16:43:18 -05:00
2020-10-29 20:35:10 +00:00
2020-07-22 14:06:02 -04:00
2020-10-29 20:35:10 +00:00
2019-12-06 16:02:18 -06:00
2020-10-29 20:35:10 +00:00
2020-10-29 20:35:10 +00:00
2020-09-28 10:22:29 -05:00
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

Description
A Web UI for interacting with Airship-managed clusters
Readme 11 MiB
Languages
TypeScript 46.7%
Go 31.5%
HTML 13.7%
CSS 5%
Makefile 1.8%
Other 1.2%