Skip to content

Homer

Introduction

The main reason I created this homer helm chart is because the k8s-at-home version of the helm chart was removed when k8s-at-home shut down. There are a few other homer helm charts on artifact hub, but they either don’t work, or they’re trying their best to make k8s-at-home chart work again. I don’t want my chart to rely on the k8s-at-home common.yaml file. I want my homer helm chart to not have any external dependencies, and I want it to be based on a helm create homer starting point.

Latest Release

Chart Version: 0.1.10 Homer_Version: 22.11.1 Type: application

This one works and doesn't require the k8s-at-home common.yaml. A dead simple static HOMe for your servER to keep your services on hand from a simple yaml config.

Add the alexdresko helm repository
helm repo add alexdresko https://alexdresko.github.io/helm-charts/
Install the helm chart
1
2
3
4
5
helm install my-homer alexdresko/homer --version 0.1.10

// OR....

helm update --install my-homer alexdresko/homer --version 0.1.10

Add this to your chart.yaml

dependencies:
  - name: homer
    version: 0.1.10
    repository: https://alexdresko.github.io/helm-charts/
    # For more information: https://alexdresko.github.io/helm-charts/

You can also download homer-0.1.10.tgz directly using this link.

Features

  • Based on helm create homer - I think all charts should begin with helm create <chart name>. I like it when a helm chart feels familiar and I can rely on my existing knowledge gained from charts that have a similar values structure.
  • Proof that it works - This helm chart was written inside a VS Code Dev Container that hosts a k8s cluster. The package.json file includes a number of scripts for manipulating various demos of the helm chart. Once inside the dev container, you can easily experiment with the chart and quickly see the results. This is how I know that the chart actually works, and it's a great way to let others play with the chart before implementing it in their own cluster.

For additional features, see the Configuration section.

Configuration

This chart started by running helm create homer, so all of the standard features are available (although I have not tested all of them). Below is a list of the custom features I've added. For a complete list of supported values, see the values.yaml file.

  • .Values.config makes it super easy to provide a basic homer configuration. You can simply put your configuration here, and it will "just work".

  • .Values.ingress.auto allows for automatically creating a useful ingress resource that looks like -.localtest.me. For example, advanced-dashboard.localtest.me, where "advanced" is the helm release name, "dashboard" is specified as the friendlyName, and localtest.me is the domain.

  • .Values.ingress.auto.enabled (default: false) enables or disables the auto ingress feature

  • .Values.ingress.auto.domain (default: "localtest.me") specifies the domain to use. By default, "localtest.me" is used to make accessing the service easier locally. .localtest.me will resolve to 127.0.01. This does require an internet connection, but it only uses the internet to resolve the hostname to 127.0.0.1. It does not transmit data over the internet.
  • .Values.ingress.auto.friendlyName (default: "homer") optionally overrides the value returned from the fullname helper. This only affects the URL that is generated, which is why I didn't use fullnameOverride or nameOverride. The advanced demo sets friendlyName to "dashboard", and you can see the result below:

  • .Values.customConfigMap.enabled prevents .Values.config from being used, and allows you to create your own, more dynamic configMap. true, tells the the chart to look for a configmap with a name that is based on the result of { { .Release.Name }}-homer-custom. When you install homer, the NOTES.txt file will spit output the very specific name that the chart is looking for. You can also look at the advanced demo for an example of how to use this feature. The advanced demo includes an example configMap.

Previous releases

Here are the 5 most recent releases:

Chart Description Current App Version Current Chart Version
homer This one works and doesn't require the k8s-at-home common.yaml. A dead simple static HOMe for your servER to keep your services on hand from a simple yaml config. 22.11.1 0.1.10
homer Works and doesn't require the k8s-at-home common.yaml. A dead simple static HOMe for your servER to keep your services on hand from a simple yaml config. 22.10.2 0.1.3
homer A Helm chart for Kubernetes 1.17.2 0.1.2
homer A Helm chart for Kubernetes 1.16.1 0.1.1