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 @@
+
+
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