Skip to content

Commit

Permalink
✨ (healthchecks): Initial Healthchecks chart release
Browse files Browse the repository at this point in the history
  • Loading branch information
gabe565 committed Mar 31, 2023
1 parent d8ef429 commit b7ae6a5
Show file tree
Hide file tree
Showing 10 changed files with 334 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ helm delete my-<chart-name>
| [flame <img src='https://raw.githubusercontent.com/pawelmalak/flame/4ed29fe276b4282c67415f9788660df2a3a69b5c/client/public/icons/apple-touch-icon-180x180.png' alt='flame icon' width='18px' align='right' loading='lazy'>](charts/flame/) | Flame is self-hosted startpage for your server. Easily manage your apps and bookmarks with built-in editors. |
| [hammond <img src='https://raw.githubusercontent.com/akhilrex/hammond/84cba2c7f26f6d3f81c49b132110b24ac97c7b49/ui/public/touch-icon.png' alt='hammond icon' width='18px' align='right' loading='lazy'>](charts/hammond/) | A self-hosted vehicle expense tracking system with support for multiple users. |
| [headscale <img src='https://raw.githubusercontent.com/juanfont/headscale/56a7b1e34952c3e0306a134b2be9b4277f5d8d6e/docs/logo/headscale3-dots.svg' alt='headscale icon' width='18px' align='right' loading='lazy'>](charts/headscale/) | An open source, self-hosted implementation of the Tailscale control server. |
| [healthchecks <img src='https://raw.githubusercontent.com/gabe565/charts/main/charts/healthchecks/icon.svg' alt='healthchecks icon' width='18px' align='right' loading='lazy'>](charts/healthchecks/) | A cron monitoring tool written in Python & Django |
| [home-assistant <img src='https://raw.githubusercontent.com/home-assistant/assets/master/logo/logo-pretty.svg' alt='home-assistant icon' width='18px' align='right' loading='lazy'>](charts/home-assistant/) | Open source home automation that puts local control and privacy first. |
| [homer <img src='https://raw.githubusercontent.com/bastienwirtz/homer/5609315fe77da5441a9c3dda8d92c0ffe9f1bf17/public/assets/icons/logo.svg' alt='homer icon' width='18px' align='right' loading='lazy'>](charts/homer/) | A dead simple static HOMepage for your servER to keep your services on hand, from a simple yaml configuration file. |
| [limo ](charts/limo/) | A file upload server. |
Expand Down
26 changes: 26 additions & 0 deletions charts/healthchecks/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# helm-docs templates
*.gotmpl
icon.svg
12 changes: 12 additions & 0 deletions charts/healthchecks/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
dependencies:
- name: common
repository: https://bjw-s.github.io/helm-charts
version: 1.3.2
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 12.2.6
- name: mariadb
repository: https://charts.bitnami.com/bitnami
version: 11.5.5
digest: sha256:87897fd2b94fcc04ad9fa0abaf0b493b45199c730c5c27fe8272288426c13aa6
generated: "2023-03-30T22:43:34.248267-05:00"
39 changes: 39 additions & 0 deletions charts/healthchecks/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
apiVersion: v2
name: healthchecks
description: A cron monitoring tool written in Python & Django
home: https://charts.gabe565.com/charts/healthchecks
icon: https://raw.githubusercontent.com/gabe565/charts/main/charts/healthchecks/icon.svg
type: application
version: 0.1.0
# renovate datasource=docker depName=ghcr.io/linuxserver/healthchecks
appVersion: version-v2.7
kubeVersion: ">=1.22.0-0"
keywords:
- cron
- monitoring
- notifier
dependencies:
- name: common
repository: https://bjw-s.github.io/helm-charts
version: 1.3.2
- name: postgresql
version: 12.2.6
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
- name: mariadb
version: 11.5.5
repository: https://charts.bitnami.com/bitnami
condition: mariadb.enabled
sources:
- https://github.com/healthchecks/healthchecks
annotations:
artifacthub.io/changes: |-
- kind: added
description: Initial release
artifacthub.io/links: |-
- name: App Source
url: https://github.com/healthchecks/healthchecks
- name: Container Source
url: https://github.com/linuxserver/docker-healthchecks
- name: Chart Source
url: https://github.com/gabe565/charts/tree/main/charts/healthchecks
107 changes: 107 additions & 0 deletions charts/healthchecks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# healthchecks

<img src="https://raw.githubusercontent.com/gabe565/charts/main/charts/healthchecks/icon.svg" align="right" width="92" alt="healthchecks logo">

![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat)
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat)
![AppVersion: version-v2.7](https://img.shields.io/badge/AppVersion-version--v2.7-informational?style=flat)

A cron monitoring tool written in Python & Django

**Homepage:** <https://charts.gabe565.com/charts/healthchecks>

**This chart is not maintained by the upstream project and any issues with the chart should be raised
[here](https://github.com/gabe565/charts/issues/new?assignees=gabe565&labels=bug&template=bug_report.yaml&name=healthchecks&version=0.1.0)**

## Source Code

* <https://github.com/healthchecks/healthchecks>

## Requirements

Kubernetes: `>=1.22.0-0`

## Dependencies

| Repository | Name | Version |
|------------|------|---------|
| <https://bjw-s.github.io/helm-charts> | common | 1.3.2 |
| <https://charts.bitnami.com/bitnami> | mariadb | 11.5.5 |
| <https://charts.bitnami.com/bitnami> | postgresql | 12.2.6 |

## TL;DR

```console
helm repo add gabe565 https://charts.gabe565.com
helm repo update
helm install healthchecks gabe565/healthchecks
```

## Installing the Chart

To install the chart with the release name `healthchecks`

```console
helm install healthchecks gabe565/healthchecks
```

## Uninstalling the Chart

To uninstall the `healthchecks` deployment

```console
helm uninstall healthchecks
```

The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.

## Configuration

Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/bjw-s/helm-charts/tree/main/charts/library/common/values.yaml) from the [bjw-s common library](https://github.com/bjw-s/helm-charts/tree/main/charts/library/common).

Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.

```console
helm install healthchecks \
--set env.TZ="America/New York" \
gabe565/healthchecks
```

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.

```console
helm install healthchecks gabe565/healthchecks -f values.yaml
```

## Custom configuration

### Database Installation

Healthchecks supports PostgreSQL, MariaDB, and SQLite.
This chart can install PostgreSQL or MariaDB and configure Healthchecks automatically.
See each database section in [`values.yaml`](./values.yaml) for configuration examples.

## Values

**Important**: When deploying an application Helm chart you can add more values from the bjw-s common library chart [here](https://github.com/bjw-s/helm-charts/tree/main/charts/library/common)

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| env | object | See [values.yaml](./values.yaml) | Environment variables [[ref]](https://healthchecks.io/docs/self_hosted_configuration/) |
| env.SECRET_KEY | string | `nil` | A secret key used for cryptographic signing. Use `openssl rand -base64 32` to generate a random key. |
| env.SITE_NAME | string | `"Healthchecks"` | The site's name |
| env.SUPERUSER_EMAIL | string | `nil` | Superuser email |
| env.SUPERUSER_PASSWORD | string | `nil` | Superuser password |
| env.TZ | string | `"UTC"` | Set the container timezone |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"ghcr.io/linuxserver/healthchecks"` | Image repository |
| image.tag | string | `"version-v2.7"` | Image tag |
| ingress.main | object | See [values.yaml](./values.yaml) | Enable and configure ingress settings for the chart under this key. |
| mariadb | object | See [values.yaml](./values.yaml) | Enable and configure mariadb database subchart under this key. If enabled, the app's db envs will be set for you. For more options see [mariadb chart documentation](https://github.com/bitnami/charts/tree/master/bitnami/mariadb) |
| persistence.config | object | See [values.yaml](./values.yaml) | Configure persistence settings for the chart under this key. Necessary for SQLite. |
| postgresql | object | See [values.yaml](./values.yaml) | Enable and configure postgresql database subchart under this key. If enabled, the app's db envs will be set for you. For more options see [postgresql chart documentation](https://github.com/bitnami/charts/tree/master/bitnami/postgresql) |
| service.main | object | See [values.yaml](./values.yaml) | Configures service settings for the chart. |

---
Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs)
13 changes: 13 additions & 0 deletions charts/healthchecks/README_CONFIG.md.gotmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}

{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}

### Database Installation

Healthchecks supports PostgreSQL, MariaDB, and SQLite.
This chart can install PostgreSQL or MariaDB and configure Healthchecks automatically.
See each database section in [`values.yaml`](./values.yaml) for configuration examples.
{{- end -}}
1 change: 1 addition & 0 deletions charts/healthchecks/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions charts/healthchecks/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{- include "bjw-s.common.lib.chart.notes" . -}}
40 changes: 40 additions & 0 deletions charts/healthchecks/templates/common.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{{/* Append the hardcoded settings */}}
{{- define "healthchecks.harcodedValues" -}}
env:
{{- with .Values.ingress.main }}
{{- if and .enabled .hosts }}
SITE_ROOT: http{{ if .tls }}s{{ end }}://{{ (first .hosts).host }}
{{- end }}
{{- end }}

{{- if .Values.postgresql.enabled }}
{{- with .Values.postgresql }}
DB: postgres
DB_HOST: {{ $.Release.Name }}-postgresql
DB_NAME: {{ .auth.database }}
DB_USER: {{ default "postgres" .auth.username }}
DB_PASSWORD:
secretKeyRef:
name: {{ $.Release.Name }}-postgresql
key: {{ if not .auth.password }}postgres-{{ end }}password
{{- end }}
{{- else if .Values.mariadb.enabled }}
{{- with .Values.mariadb}}
DB: mysql
DB_HOST: {{ $.Release.Name }}-mariadb
DB_NAME: {{ .auth.database }}
DB_USER: {{ .auth.username }}
DB_PASSWORD:
secretKeyRef:
name: {{ $.Release.Name }}-mariadb
key: mariadb-password
{{- end }}
{{- end }}

termination:
gracePeriodSeconds: "0"
{{- end -}}
{{- $_ := merge .Values (include "healthchecks.harcodedValues" . | fromYaml) -}}

{{/* Render the templates */}}
{{ include "bjw-s.common.loader.all" . }}
94 changes: 94 additions & 0 deletions charts/healthchecks/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/values.yaml
#

image:
# -- Image repository
repository: ghcr.io/linuxserver/healthchecks
# -- Image pull policy
pullPolicy: IfNotPresent
# -- Image tag
tag: version-v2.7

# -- Environment variables [[ref]](https://healthchecks.io/docs/self_hosted_configuration/)
# @default -- See [values.yaml](./values.yaml)
env:
# -- Set the container timezone
TZ: UTC
# -- The site's name
SITE_NAME: Healthchecks
# -- (string) A secret key used for cryptographic signing.
# Use `openssl rand -base64 32` to generate a random key.
SECRET_KEY:
# -- (string) Superuser email
SUPERUSER_EMAIL:
# -- (string) Superuser password
SUPERUSER_PASSWORD:

service:
# -- Configures service settings for the chart.
# @default -- See [values.yaml](./values.yaml)
main:
ports:
http:
port: 8000

ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See [values.yaml](./values.yaml)
main:
enabled: false
# hosts:
# - host: chart-example.local
# paths:
# - path: /
# tls:
# - secretName: chart-example.local
# hosts:
# - chart-example.local

persistence:
# -- Configure persistence settings for the chart under this key.
# Necessary for SQLite.
# @default -- See [values.yaml](./values.yaml)
config:
enabled: false
retain: true
# storageClass: ""
# accessMode: ReadWriteOnce
# size: 4Gi

# -- Enable and configure postgresql database subchart under this key.
# If enabled, the app's db envs will be set for you.
# For more options see [postgresql chart documentation](https://github.com/bitnami/charts/tree/master/bitnami/postgresql)
# @default -- See [values.yaml](./values.yaml)
postgresql:
enabled: false
auth:
database: healthchecks
postgresPassword: changeme
primary:
persistence:
enabled: false
# storageClass: ""
# size: 8Gi

# -- Enable and configure mariadb database subchart under this key.
# If enabled, the app's db envs will be set for you.
# For more options see [mariadb chart documentation](https://github.com/bitnami/charts/tree/master/bitnami/mariadb)
# @default -- See [values.yaml](./values.yaml)
mariadb:
enabled: false
auth:
database: healthchecks
username: healthchecks
password: changeme
rootPassword: changeme
primary:
persistence:
enabled: false
# storageClass: ""
# size: 8Gi

0 comments on commit b7ae6a5

Please sign in to comment.