
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
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
- A working kubernetes or airship installation
- Go 1.13+
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