diff --git a/stacks/headlamp/README.md b/stacks/headlamp/README.md new file mode 100644 index 00000000..22a2b8da --- /dev/null +++ b/stacks/headlamp/README.md @@ -0,0 +1,88 @@ +# Headlamp + +Headlamp is an easy-to-use and extensible Kubernetes web UI. + +Headlamp was created to be a Kubernetes web UI that has the traditional functionality of other +web UIs/dashboards available (i.e. to list and view resources) as well as other features. + +
+ +
+ +## Features + + * Vendor independent / generic Kubernetes UI + * Works in-cluster, or locally as a desktop app + * Multi-cluster + * Extensible through plugins + * UI controls reflecting user roles (no deletion/update if not allowed) + * Clean & modern UI + * Cancellable creation/update/deletion operations + * Logs, exec, and resource editor with documentation + * Read-write / interactive (actions based on permissions) + +## Screenshots + + + + + + + + + + + + + + +
+ +## Quickstart + +If you want to deploy Headlamp in your cluster, check out the instructions on running it [in-cluster](https://headlamp.dev/docs/latest/installation/in-cluster/). + +If you have a kube config already, you can quickly try Headlamp locally as a +[desktop application](https://headlamp.dev/docs/latest/installation/desktop/), +for [Linux](https://headlamp.dev/docs/latest/installation/desktop/linux-installation), +[Mac](https://headlamp.dev/docs/latest/installation/desktop/mac-installation), +or [Windows](https://headlamp.dev/docs/latest/installation/desktop/win-installation). +**Make sure** you have a kubeconfig file set up with your favorite clusters and +in the default path so Headlamp can use it. + +### Accessing + +Headlamp uses [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac) for checking +whether and how users can access resources. If you try Headlamp with a token that has very limited +permissions, you may not be able to view your cluster resources correctly. + +See the documentation on [how to easily get a Service Account token](https://headlamp.dev/docs/latest/installation#create-a-service-account-token) for your cluster. + +## Tested platforms + +We maintain a list of the [Kubernetes platforms](./docs/platforms.md) we have +tested Headlamp with, and invite you to add any missing platform you have +tested, or comments if there are regressions in already filed platforms that +should be consider. + +## Extensions / Plugins + +If you are interested in tweaking Headlamp to fit your use-cases, you can check out +our [plugin development guide](https://headlamp.dev/docs/latest/development/plugins/). + +## Get involved + +Check out our [guidelines](https://headlamp.dev/docs/latest/contributing/), including our [Code of Conduct](./CODE_OF_CONDUCT.md), +and join the discussion on the +[#headlamp](https://kubernetes.slack.com/messages/headlamp) channel +in the Kubernetes Slack. + +## Roadmap + +If you are interested in the direction of the project, we maintain a +[Roadmap](https://github.com/headlamp-k8s/headlamp/projects/2) for it with the +biggest changes planned so far. + +## License + +Headlamp is released under the terms of the [Apache 2.0](./LICENSE) license. \ No newline at end of file diff --git a/stacks/headlamp/assets/images/cluster_chooser.png b/stacks/headlamp/assets/images/cluster_chooser.png new file mode 100644 index 00000000..75656691 Binary files /dev/null and b/stacks/headlamp/assets/images/cluster_chooser.png differ diff --git a/stacks/headlamp/assets/images/headlamp_light.svg b/stacks/headlamp/assets/images/headlamp_light.svg new file mode 100644 index 00000000..986bc58f --- /dev/null +++ b/stacks/headlamp/assets/images/headlamp_light.svg @@ -0,0 +1,106 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/stacks/headlamp/assets/images/headlamp_quick_run.gif b/stacks/headlamp/assets/images/headlamp_quick_run.gif new file mode 100644 index 00000000..132a4652 Binary files /dev/null and b/stacks/headlamp/assets/images/headlamp_quick_run.gif differ diff --git a/stacks/headlamp/assets/images/home.png b/stacks/headlamp/assets/images/home.png new file mode 100644 index 00000000..e899a0c3 Binary files /dev/null and b/stacks/headlamp/assets/images/home.png differ diff --git a/stacks/headlamp/assets/images/logs.png b/stacks/headlamp/assets/images/logs.png new file mode 100644 index 00000000..b333b854 Binary files /dev/null and b/stacks/headlamp/assets/images/logs.png differ diff --git a/stacks/headlamp/assets/images/resource_edition.png b/stacks/headlamp/assets/images/resource_edition.png new file mode 100644 index 00000000..e877c3e7 Binary files /dev/null and b/stacks/headlamp/assets/images/resource_edition.png differ diff --git a/stacks/headlamp/assets/images/terminal.png b/stacks/headlamp/assets/images/terminal.png new file mode 100644 index 00000000..0cca59ae Binary files /dev/null and b/stacks/headlamp/assets/images/terminal.png differ diff --git a/stacks/headlamp/assets/images/workloads.png b/stacks/headlamp/assets/images/workloads.png new file mode 100644 index 00000000..84e8535f Binary files /dev/null and b/stacks/headlamp/assets/images/workloads.png differ diff --git a/stacks/headlamp/deploy.sh b/stacks/headlamp/deploy.sh new file mode 100755 index 00000000..dc853dfe --- /dev/null +++ b/stacks/headlamp/deploy.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +set -e + +################################################################################ +# repo +################################################################################ +helm repo add headlamp https://headlamp-k8s.github.io/headlamp/ +helm repo update > /dev/null + +################################################################################ +# chart +################################################################################ +STACK="headlamp" +CHART="headlamp/headlamp" +CHART_VERSION="0.20.0" +NAMESPACE="headlamp" + +if [ -z "${MP_KUBERNETES}" ]; then + # use local version of values.yml + ROOT_DIR=$(git rev-parse --show-toplevel) + values="$ROOT_DIR/stacks/$STACK/values.yml" +else + # use github hosted master version of values.yml + values="https://raw.githubusercontent.com/digitalocean/marketplace-kubernetes/master/stacks/${STACK}/values.yml" +fi + +helm upgrade "$STACK" "$CHART" \ + --atomic \ + --create-namespace \ + --install \ + --timeout 8m0s \ + --namespace "$NAMESPACE" \ + --values "$values" \ + --version "$CHART_VERSION" diff --git a/stacks/headlamp/uninstall.sh b/stacks/headlamp/uninstall.sh new file mode 100755 index 00000000..5c5455b4 --- /dev/null +++ b/stacks/headlamp/uninstall.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +################################################################################ +# chart +################################################################################ +STACK="headlamp" +NAMESPACE="headlamp" + + +helm uninstall "$STACK" \ + --namespace "$NAMESPACE" +kubectl delete --ignore-not-found=true namespace "$NAMESPACE" diff --git a/stacks/headlamp/upgrade.sh b/stacks/headlamp/upgrade.sh new file mode 100755 index 00000000..94de872b --- /dev/null +++ b/stacks/headlamp/upgrade.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +set -e + +################################################################################ +# repo +################################################################################ +helm repo add headlamp https://headlamp-k8s.github.io/headlamp/ +helm repo update > /dev/null + +################################################################################ +# chart +################################################################################ +STACK="headlamp" +CHART="headlamp/headlamp" +NAMESPACE="headlamp" + + + +if [ -z "${MP_KUBERNETES}" ]; then + # use local version of values.yml + ROOT_DIR=$(git rev-parse --show-toplevel) + values="$ROOT_DIR/stacks/$STACK/values.yml" +else + # use github hosted master version of values.yml + values="https://raw.githubusercontent.com/digitalocean/marketplace-kubernetes/master/stacks/${STACK}/values.yml" +fi + +helm upgrade "$STACK" "$CHART" \ + --namespace "$NAMESPACE" \ + --values "$values" diff --git a/stacks/headlamp/values.yml b/stacks/headlamp/values.yml new file mode 100644 index 00000000..e69de29b