An open API service indexing awesome lists of open source software.

https://github.com/nikdoof/ohayodash

A simple Kubernetes cluster dashbord
https://github.com/nikdoof/ohayodash

Last synced: 5 months ago
JSON representation

A simple Kubernetes cluster dashbord

Awesome Lists containing this project

README

          

# Ohayo Dash

Ohayo Dash is a Kubernetes driven start page and dashboard. All configuration is done by standard Kubernetes objects and ConfigMaps.

This is inspired by [Hajimari](https://github.com/toboshii/hajimari) and [SUI](https://github.com/jeroenpardon/sui) projects.

## Configuration

All configuration is handled with `ConfigMap` and `Ingress` objects within Kubernetes.

### Ingresses

All namespaces as processed by default, only Ingress objects with `ohayodash.github.io/enabled` annotation are then displayed.

Annotations can be used to customize the display of the Ingress objects:

* `ohayodash.github.io/name` - Display name of the app, defaults to the Ingress name.
* `ohayodash.github.io/url` - Target URL of the service, defaults to `https://`
* `ohayodash.github.io/show_url` - Shows the URL under the link, defaults to `false`

### Bookmarks

Bookmark are stored in `ConfigMap` resources, which are identified by the `ohayodash.github.io/bookmarks` annotation.

Values are pulled from the `bookmarks` key in the config map, which consists of a list of objects with the following keys:

* `name` - the display name of the link
* `url` - the target URL.
* `group` - the name the link is to be grouped under.

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: ohayodash-bookmarks
namespace: web
annotations:
ohayodash.github.io/bookmarks: 'true'
data:
bookmarks: |
- name: Renovate Dashboard
url: "https://app.renovatebot.com/dashboard#github/nikdoof/flux-gitops"
group: Github
```

### Providers

Providers are stored in `ConfigMap` resources, which are identified by the `ohayodash.github.io/providers` annotation.

Values are pulled from the `providers` key in the config map, which consists of a list of objects with the following keys:

* `name` - the display name of the link
* `url` - the target URL of the service.
* `search` - suffix to add to search on the service, this will combine the URL, Search value and the text to search for into a URL.
* `prefix` - prefix to use on the URL bar on Ohayodash.

*Note*: If no Providers ConfigMaps are found then a [default](ohayodash/data/providers.yaml) list is used.

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: ohayodash-providers
namespace: web
annotations:
ohayodash.github.io/providers: 'true'
data:
providers: |
- name: Allmusic
url: https://www.allmusic.com/
search: search/all/
prefix: /a
```

### Combining ConfigMaps

ConfigMaps can be combined to allow for easier management:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: ohayodash-config
namespace: web
annotations:
ohayodash.github.io/bookmarks: 'true'
ohayodash.github.io/providers: 'true'
data:
bookmarks: |
- name: Renovate Dashboard
url: "https://app.renovatebot.com/dashboard#github/nikdoof/flux-gitops"
group: Github
providers: |
- name: Allmusic
url: https://www.allmusic.com/
search: search/all/
prefix: /a
```