mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-01-23 15:39:02 +00:00
[statping] Rebase statping on common chart (#642)
This commit is contained in:
parent
a7bb41b467
commit
c5a3fc36a0
@ -14,10 +14,13 @@
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
# helm-docs templates
|
||||
*.gotmpl
|
||||
|
@ -1,22 +1,27 @@
|
||||
apiVersion: v2
|
||||
name: statping
|
||||
description: Status page for monitoring your websites and applications
|
||||
type: application
|
||||
version: 1.6.0
|
||||
appVersion: v0.90.65
|
||||
description: Status page for monitoring your websites and applications
|
||||
name: statping
|
||||
version: 2.0.0
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- statping
|
||||
- status
|
||||
- status-page
|
||||
- statping
|
||||
- status
|
||||
- status-page
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/statping
|
||||
icon: https://github.com/statping/statping/blob/dev/frontend/src/assets/logo.png?raw=true
|
||||
sources:
|
||||
- https://github.com/statping/statping
|
||||
- https://github.com/statping/statping
|
||||
maintainers:
|
||||
- name: DirtyCajunRice
|
||||
email: nick@cajun.pro
|
||||
icon: https://github.com/statping/statping/blob/dev/frontend/src/assets/logo.png?raw=true
|
||||
- name: angelnu
|
||||
email: git@angelnu.com
|
||||
dependencies:
|
||||
- name: postgresql
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 10.3.7
|
||||
condition: postgres.posgresql.enabled
|
||||
- name: common
|
||||
repository: https://k8s-at-home.com/charts/
|
||||
version: 3.1.0
|
||||
- name: postgresql
|
||||
version: 10.3.7
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
condition: postgresql.enabled
|
||||
|
@ -1,36 +1,138 @@
|
||||
# statping | Status page for monitoring your websites and applications
|
||||
# statping
|
||||
|
||||
![Version: 2.0.0](https://img.shields.io/badge/Version-2.0.0-informational?style=flat-square) ![AppVersion: v0.90.65](https://img.shields.io/badge/AppVersion-v0.90.65-informational?style=flat-square)
|
||||
|
||||
Status page for monitoring your websites and applications
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/statping/statping>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://charts.bitnami.com/bitnami | postgresql | 10.3.7 |
|
||||
| https://k8s-at-home.com/charts/ | common | 3.1.0 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
$ helm install k8s-at-home/statping
|
||||
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||
helm repo update
|
||||
helm install statping k8s-at-home/statping
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
To install the chart with the release name `statping`:
|
||||
|
||||
To install the chart with the release name `statping`
|
||||
|
||||
```console
|
||||
helm install statping k8s-at-home/statping
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
To uninstall the `statping` deployment:
|
||||
|
||||
To uninstall the `statping` deployment
|
||||
|
||||
```console
|
||||
helm uninstall statping
|
||||
```
|
||||
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
|
||||
## Configuration
|
||||
Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/statping/values.yaml)
|
||||
file. It has several commented out suggested values.
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install statping \
|
||||
--set statping.env.TZ="America/New York" \
|
||||
--set env.TZ="America/New York" \
|
||||
k8s-at-home/statping
|
||||
```
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
|
||||
chart. For example,
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install statping k8s-at-home/statping --values values.yaml
|
||||
helm install statping k8s-at-home/statping -f values.yaml
|
||||
```
|
||||
|
||||
## Custom configuration
|
||||
|
||||
N/A
|
||||
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env.ADMIN_EMAIL | string | `"info@example.com"` | dashboard admin email |
|
||||
| env.ADMIN_PASSWORD | string | `"admin"` | dashboard admin password (needed to edit) |
|
||||
| env.ADMIN_USER | string | `"admin"` | dashboard admin user (needed to edit) |
|
||||
| env.DB_CONN | string | `"postgres"` | Type of database to use |
|
||||
| env.DB_DATABASE | string | postgresql.postgresqlDatabase value | Postgres database password |
|
||||
| env.DB_HOST | string | internal postgresql URL | Postgres database hostname |
|
||||
| env.DB_PASS | string | postgresql.postgresqlPassword value | Postgres database password |
|
||||
| env.DB_USER | string | postgresql.postgresqlUsername value | Postgres database user name |
|
||||
| env.DESCRIPTION | string | `"This is a Statping instance deployed as Helm chart"` | Description of the Statping instance |
|
||||
| env.DISABLE_LOGS | bool | `false` | Disable logs from appearing and writing to disk |
|
||||
| env.NAME | string | `"Statping Example"` | Name of the Statping instance |
|
||||
| env.POSTGRES_SSLMODE | string | `"disable"` | Enable ssl_mode for postgres (To enable use require) |
|
||||
| env.USE_CDN | bool | `false` | Use CDN for static context from third-parties |
|
||||
| env.VIRTUAL_HOST | string | `""` | External URL you use to connect to the statping (the one you enter in your browser) |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"statping/statping"` | |
|
||||
| image.tag | string | `"v0.90.65"` | |
|
||||
| ingress.enabled | bool | `false` | |
|
||||
| persistence | object | see bellow | Generated application config.yaml and logs are written here. Usually does not need to be persisted. |
|
||||
| postgresql | object | see bellow | Bitnami postgres chart. For more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql |
|
||||
| postgresql.enabled | bool | `true` | By default uses an internal postgress. Disable if you use your own Postgres. |
|
||||
| postgresql.persistence.enabled | bool | `false` | if database is stored to a PVC. Set to true when you are done testing. |
|
||||
| postgresql.postgresqlDatabase | string | `"postgres"` | Postgres database password |
|
||||
| postgresql.postgresqlPassword | string | `"changeme"` | Postgres database password |
|
||||
| postgresql.postgresqlUsername | string | `"postgres"` | Postgres database user name |
|
||||
| service.port.port | int | `8080` | |
|
||||
| strategy.type | string | `"Recreate"` | |
|
||||
|
||||
## Changelog
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [2.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- Migrated to common library chart
|
||||
- Moved `service.port` to `service.port.port`
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[2.0.0]: #2.0.0
|
||||
|
||||
## Support
|
||||
|
||||
- See the [Wiki](https://github.com/k8s-at-home/charts/wiki)
|
||||
- Open a [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||
- Ask a [question](https://github.com/k8s-at-home/charts/discussions)
|
||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
145
charts/statping/README.md.gotmpl
Normal file
145
charts/statping/README.md.gotmpl
Normal file
@ -0,0 +1,145 @@
|
||||
{{- define "custom.repository.organization" -}}
|
||||
k8s-at-home
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.repository.url" -}}
|
||||
https://github.com/k8s-at-home/charts
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.url" -}}
|
||||
https://k8s-at-home.com/charts/
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.helm.path" -}}
|
||||
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.notes" -}}
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.requirements" -}}
|
||||
## Requirements
|
||||
|
||||
{{ template "chart.kubeVersionLine" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.dependencies" -}}
|
||||
## Dependencies
|
||||
|
||||
{{ template "chart.requirementsTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install.tldr" -}}
|
||||
## TL;DR
|
||||
|
||||
```console
|
||||
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
|
||||
helm repo update
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.install" -}}
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `{{ template "chart.name" . }}`
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.uninstall" -}}
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall the `{{ template "chart.name" . }}` deployment
|
||||
|
||||
```console
|
||||
helm uninstall {{ template "chart.name" . }}
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.header" -}}
|
||||
## Configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.readValues" -}}
|
||||
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common).
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.set" -}}
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} \
|
||||
--set env.TZ="America/New York" \
|
||||
{{ template "custom.helm.path" . }}
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.configuration.example.file" -}}
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
|
||||
```
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.valuesSection" -}}
|
||||
## Values
|
||||
|
||||
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/)
|
||||
|
||||
{{ template "chart.valuesTable" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.support" -}}
|
||||
## Support
|
||||
|
||||
- See the [Wiki](https://github.com/k8s-at-home/charts/wiki)
|
||||
- Open a [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||
- Ask a [question](https://github.com/k8s-at-home/charts/discussions)
|
||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||
{{- end -}}
|
||||
|
||||
{{ template "chart.header" . }}
|
||||
|
||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
||||
|
||||
{{ template "chart.description" . }}
|
||||
|
||||
{{ template "custom.notes" . }}
|
||||
|
||||
{{ template "chart.sourcesSection" . }}
|
||||
|
||||
{{ template "custom.requirements" . }}
|
||||
|
||||
{{ template "custom.dependencies" . }}
|
||||
|
||||
{{ template "custom.install.tldr" . }}
|
||||
|
||||
{{ template "custom.install" . }}
|
||||
|
||||
{{ template "custom.uninstall" . }}
|
||||
|
||||
{{ template "custom.configuration.header" . }}
|
||||
|
||||
{{ template "custom.configuration.readValues" . }}
|
||||
|
||||
{{ template "custom.configuration.example.set" . }}
|
||||
|
||||
{{ template "custom.configuration.example.file" . }}
|
||||
|
||||
{{ template "custom.custom.configuration" . }}
|
||||
|
||||
{{ template "custom.valuesSection" . }}
|
||||
|
||||
{{ template "custom.changelog" . }}
|
||||
|
||||
{{ template "custom.support" . }}
|
||||
|
||||
{{ template "helm-docs.versionFooter" . }}
|
28
charts/statping/README_CHANGELOG.md.gotmpl
Normal file
28
charts/statping/README_CHANGELOG.md.gotmpl
Normal file
@ -0,0 +1,28 @@
|
||||
{{- define "custom.changelog.header" -}}
|
||||
## Changelog
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.changelog" -}}
|
||||
{{ template "custom.changelog.header" . }}
|
||||
|
||||
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog).
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [2.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- Migrated to common library chart
|
||||
- Moved `service.port` to `service.port.port`
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
[2.0.0]: #2.0.0
|
||||
{{- end -}}
|
9
charts/statping/README_CONFIG.md.gotmpl
Normal file
9
charts/statping/README_CONFIG.md.gotmpl
Normal file
@ -0,0 +1,9 @@
|
||||
{{- define "custom.custom.configuration.header" -}}
|
||||
## Custom configuration
|
||||
{{- end -}}
|
||||
|
||||
{{- define "custom.custom.configuration" -}}
|
||||
{{ template "custom.custom.configuration.header" . }}
|
||||
|
||||
N/A
|
||||
{{- end -}}
|
@ -1,21 +1 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if .Values.ingress.enabled }}
|
||||
{{- range $host := .Values.ingress.hosts }}
|
||||
{{- range .paths }}
|
||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else if contains "NodePort" .Values.service.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "statping.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "statping.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "statping.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
||||
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "statping.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80
|
||||
{{- end }}
|
||||
{{- include "common.notes.defaultNotes" . -}}
|
||||
|
@ -1,62 +0,0 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "statping.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "statping.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "statping.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "statping.labels" -}}
|
||||
helm.sh/chart: {{ include "statping.chart" . }}
|
||||
{{ include "statping.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "statping.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "statping.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "statping.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.create }}
|
||||
{{- default (include "statping.fullname" .) .Values.serviceAccount.name }}
|
||||
{{- else }}
|
||||
{{- default "default" .Values.serviceAccount.name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
26
charts/statping/templates/common.yaml
Normal file
26
charts/statping/templates/common.yaml
Normal file
@ -0,0 +1,26 @@
|
||||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.values.setup" . }}
|
||||
|
||||
{{/* use the port specified in the service */}}
|
||||
{{- $_ := set .Values.env "VIRTUAL_PORT" .Values.service.port.port -}}
|
||||
|
||||
{{/* if DB_HOST is not set use internal postgres chart */}}
|
||||
{{- if eq .Values.env.DB_HOST "" -}}
|
||||
{{- $_ := set .Values.env "DB_HOST" (printf "%s-postgresql" .Release.Name) -}}
|
||||
{{- end -}}
|
||||
{{/* if DB_USER is not set use internal postgres chart */}}
|
||||
{{- if eq .Values.env.DB_USER "" -}}
|
||||
{{- $_ := set .Values.env "DB_USER" .Values.postgresql.postgresqlUsername -}}
|
||||
{{- end -}}
|
||||
{{/* if DB_PASS is not set use internal postgres chart */}}
|
||||
{{- if eq .Values.env.DB_PASS "" -}}
|
||||
{{- $_ := set .Values.env "DB_PASS" .Values.postgresql.postgresqlPassword -}}
|
||||
{{- end -}}
|
||||
{{/* if DB_DATABASE is not set use internal postgres chart */}}
|
||||
{{- if eq .Values.env.DB_DATABASE "" -}}
|
||||
{{- $_ := set .Values.env "DB_DATABASE" .Values.postgresql.postgresqlDatabase -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
||||
|
@ -1,166 +0,0 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "statping.fullname" . }}
|
||||
labels:
|
||||
{{- include "statping.labels" . | nindent 4 }}
|
||||
spec:
|
||||
{{- if not .Values.autoscaling.enabled }}
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "statping.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
{{- with .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "statping.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ include "statping.serviceAccountName" . }}
|
||||
{{- with .Values.podSecurityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
{{- with .Values.securityContext }}
|
||||
securityContext:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
env:
|
||||
{{- if .Values.statping.name }}
|
||||
- name: NAME
|
||||
value: {{ .Values.statping.name | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.statping.description }}
|
||||
- name: DESCRIPTION
|
||||
value: {{ .Values.statping.description | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.statping.domain }}
|
||||
- name: DOMAIN
|
||||
value: {{ .Values.statping.domain | quote }}
|
||||
{{- end }}
|
||||
- name: ADMIN_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
{{- if .Values.statping.admin.existingSecret.enabled }}
|
||||
name: {{ .Values.statping.admin.existingSecret.name | quote }}
|
||||
key: {{ .Values.statping.admin.existingSecret.userKey | default "admin-user" }}
|
||||
{{- else }}
|
||||
name: {{ include "statping.fullname" . }}
|
||||
key: admin-user
|
||||
{{- end }}
|
||||
- name: ADMIN_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
{{- if .Values.statping.admin.existingSecret.enabled }}
|
||||
name: {{ .Values.statping.admin.existingSecret.name | quote }}
|
||||
key: {{ .Values.statping.admin.existingSecret.passwordKey | default "admin-password" }}
|
||||
{{- else }}
|
||||
name: {{ include "statping.fullname" . }}
|
||||
key: admin-password
|
||||
{{- end }}
|
||||
- name: ADMIN_EMAIL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
{{- if .Values.statping.admin.existingSecret.enabled }}
|
||||
name: {{ .Values.statping.admin.existingSecret.name | quote }}
|
||||
key: {{ .Values.statping.admin.existingSecret.emailKey | default "admin-email" }}
|
||||
{{- else }}
|
||||
name: {{ include "statping.fullname" . }}
|
||||
key: admin-email
|
||||
{{- end }}
|
||||
{{- if and (eq .Values.postgres.type "kubedb") .Values.postgres.kubedb.enabled }}
|
||||
- name: DB_CONN
|
||||
value: postgres
|
||||
- name: DB_HOST
|
||||
value: postgres-{{ template "statping.fullname" . }}
|
||||
- name: DB_DATABASE
|
||||
value: postgres
|
||||
- name: DB_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: postgres-{{ template "statping.fullname" . }}-auth
|
||||
key: POSTGRES_USER
|
||||
- name: DB_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: postgres-{{ template "statping.fullname" . }}-auth
|
||||
key: POSTGRES_PASSWORD
|
||||
{{- end }}
|
||||
{{- if and (eq .Values.postgres.type "postgresql") .Values.postgres.posgresql.enabled }}
|
||||
- name: DB_CONN
|
||||
value: postgres
|
||||
- name: DB_HOST
|
||||
value: {{ template "common.names.fullname" . }}-postgresql
|
||||
- name: DB_DATABASE
|
||||
value: {{ template "postgresql.database" . }}
|
||||
- name: DB_USER
|
||||
value: {{ template "postgresql.username" . }}
|
||||
- name: DB_PASS
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "postgresql.secretName" . }}-postgresql
|
||||
key: postgresql-password
|
||||
{{- end }}
|
||||
{{- with .Values.env }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8080
|
||||
protocol: TCP
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
volumeMounts:
|
||||
- mountPath: /app
|
||||
name: config
|
||||
{{- if .Values.persistence.subPath }}
|
||||
subPath: {{ .Values.persistence.subPath }}
|
||||
{{- end }}
|
||||
{{- if .Values.additionalVolumeMounts }}
|
||||
{{- toYaml .Values.additionalVolumes | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with .Values.resources }}
|
||||
resources:
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: config
|
||||
{{- if .Values.persistence.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if .Values.persistence.existingClaim }}{{ .Values.persistence.existingClaim }}{{- else }}{{ template "statping.fullname" . }}{{- end }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
{{- if .Values.additionalVolumes }}
|
||||
{{- toYaml .Values.additionalVolumes | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
@ -1,14 +0,0 @@
|
||||
{{- if and .Values.externalSecret.enabled (eq .Values.externalSecret.type "kubernetes-external-secrets") }}
|
||||
apiVersion: kubernetes-client.io/v1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: {{ include "statping.fullname" . }}
|
||||
spec:
|
||||
{{- with .Values.externalSecret.kubernetesExternalSecrets.spec }}
|
||||
{{- toYaml . | nindent 2 }}
|
||||
{{- end }}
|
||||
data:
|
||||
{{- with .Values.externalSecret.kubernetesExternalSecrets.data }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -1,28 +0,0 @@
|
||||
{{- if .Values.autoscaling.enabled }}
|
||||
apiVersion: autoscaling/v2beta1
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ include "statping.fullname" . }}
|
||||
labels:
|
||||
{{- include "statping.labels" . | nindent 4 }}
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
name: {{ include "statping.fullname" . }}
|
||||
minReplicas: {{ .Values.autoscaling.minReplicas }}
|
||||
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
|
||||
metrics:
|
||||
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||
{{- end }}
|
||||
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||
- type: Resource
|
||||
resource:
|
||||
name: memory
|
||||
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -1,41 +0,0 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $fullName := include "statping.fullname" . -}}
|
||||
{{- $svcPort := .Values.service.port -}}
|
||||
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
|
||||
apiVersion: networking.k8s.io/v1beta1
|
||||
{{- else -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
{{- end }}
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
{{- include "statping.labels" . | nindent 4 }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
{{- range .hosts }}
|
||||
- {{ . | quote }}
|
||||
{{- end }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ .host | quote }}
|
||||
http:
|
||||
paths:
|
||||
{{- range .paths }}
|
||||
- path: {{ . }}
|
||||
backend:
|
||||
serviceName: {{ $fullName }}
|
||||
servicePort: {{ $svcPort }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -1,13 +0,0 @@
|
||||
{{- if and .Values.postgres.enabled (eq .Values.postgres.type "kubedb") }}
|
||||
apiVersion: kubedb.com/v1alpha1
|
||||
kind: Postgres
|
||||
metadata:
|
||||
name: postgres-{{ template "statping.fullname" . }}
|
||||
spec:
|
||||
version: {{ .Values.postgres.kubedb.version }}
|
||||
storageType: {{ .Values.postgres.kubedb.storageType }}
|
||||
{{- with .Values.postgres.kubedb.storage }}
|
||||
storage:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -1,15 +0,0 @@
|
||||
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ include "statping.fullname" . }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.persistence.accessMode | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.size | quote }}
|
||||
{{- if .Values.persistence.storageClass }}
|
||||
storageClassName: {{ .Values.persistence.storageClass | quote }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
@ -1,13 +0,0 @@
|
||||
{{- if not .Values.statping.admin.existingSecret.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ template "statping.fullname" . }}
|
||||
labels:
|
||||
{{- include "statping.labels" . | nindent 4 }}
|
||||
type: Opaque
|
||||
data:
|
||||
admin-user: {{ default "admin" .Values.statping.admin.user | b64enc | quote }}
|
||||
admin-password: {{ randAlphaNum 16 | b64enc | quote }}
|
||||
admin-email: {{ default "info@admin.com" .Values.statping.admin.email | b64enc | quote}}
|
||||
{{- end }}
|
@ -1,19 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "statping.fullname" . }}
|
||||
labels:
|
||||
{{- include "statping.labels" . | nindent 4 }}
|
||||
{{- with .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
{{- include "statping.selectorLabels" . | nindent 4 }}
|
@ -1,12 +0,0 @@
|
||||
{{- if .Values.serviceAccount.create -}}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "statping.serviceAccountName" . }}
|
||||
labels:
|
||||
{{- include "statping.labels" . | nindent 4 }}
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -1,15 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "{{ include "statping.fullname" . }}-test-connection"
|
||||
labels:
|
||||
{{- include "statping.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
"helm.sh/hook": test-success
|
||||
spec:
|
||||
containers:
|
||||
- name: wget
|
||||
image: busybox
|
||||
command: ['wget']
|
||||
args: ['{{ include "statping.fullname" . }}:{{ .Values.service.port }}']
|
||||
restartPolicy: Never
|
@ -1,171 +1,83 @@
|
||||
# Default values for statping.
|
||||
#
|
||||
# IMPORTANT NOTE
|
||||
#
|
||||
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||
# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml
|
||||
#
|
||||
|
||||
image:
|
||||
repository: statping/statping
|
||||
pullPolicy: IfNotPresent
|
||||
tag: ""
|
||||
tag: "v0.90.65"
|
||||
|
||||
global:
|
||||
postgresql:
|
||||
postgresqlDatabase: "postgres"
|
||||
postgresqlUsername: "postgres"
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
statping:
|
||||
name: ""
|
||||
description: ""
|
||||
domain: ""
|
||||
admin:
|
||||
user: ""
|
||||
password: ""
|
||||
email: ""
|
||||
existingSecret:
|
||||
enabled: false
|
||||
name: ""
|
||||
userKey: ""
|
||||
passwordKey: ""
|
||||
emailKey: ""
|
||||
# See more environment variables in the statping documentation
|
||||
# https://github.com/statping/statping/wiki/Config-with-.env-File
|
||||
env:
|
||||
# -- Name of the Statping instance
|
||||
NAME: Statping Example
|
||||
# -- Description of the Statping instance
|
||||
DESCRIPTION: This is a Statping instance deployed as Helm chart
|
||||
# -- External URL you use to connect to the statping (the one you enter in your browser)
|
||||
VIRTUAL_HOST: ""
|
||||
# -- Type of database to use
|
||||
DB_CONN: postgres
|
||||
# -- Postgres database hostname
|
||||
# @default -- internal postgresql URL
|
||||
DB_HOST: ""
|
||||
# -- Enable ssl_mode for postgres (To enable use require)
|
||||
POSTGRES_SSLMODE: "disable"
|
||||
# -- Postgres database user name
|
||||
# @default -- postgresql.postgresqlUsername value
|
||||
DB_USER: ""
|
||||
# -- Postgres database password
|
||||
# @default -- postgresql.postgresqlPassword value
|
||||
DB_PASS: ""
|
||||
# -- Postgres database password
|
||||
# @default -- postgresql.postgresqlDatabase value
|
||||
DB_DATABASE: ""
|
||||
# -- dashboard admin user (needed to edit)
|
||||
ADMIN_USER: admin
|
||||
# -- dashboard admin password (needed to edit)
|
||||
ADMIN_PASSWORD: admin
|
||||
# -- dashboard admin email
|
||||
ADMIN_EMAIL: info@example.com
|
||||
# -- Use CDN for static context from third-parties
|
||||
USE_CDN: false
|
||||
# -- Disable logs from appearing and writing to disk
|
||||
DISABLE_LOGS: false
|
||||
|
||||
# Probes configuration
|
||||
probes:
|
||||
liveness:
|
||||
initialDelaySeconds: 60
|
||||
failureThreshold: 5
|
||||
timeoutSeconds: 10
|
||||
readiness:
|
||||
initialDelaySeconds: 60
|
||||
failureThreshold: 5
|
||||
timeoutSeconds: 10
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
env: []
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 8080
|
||||
## Specify the nodePort value for the LoadBalancer and NodePort service types.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
||||
##
|
||||
# nodePort:
|
||||
## Provide any additional annotations which may be required. This can be used to
|
||||
## set the LoadBalancer service type to internal only.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
|
||||
##
|
||||
annotations: {}
|
||||
labels: {}
|
||||
additionalSpec: {}
|
||||
port:
|
||||
port: 8080
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
annotations: {}
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
labels: {}
|
||||
hosts:
|
||||
- host: chart-example.local
|
||||
paths:
|
||||
- /
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
# -- Generated application config.yaml and logs are written here.
|
||||
# Usually does not need to be persisted.
|
||||
# @default -- see bellow
|
||||
persistence:
|
||||
enabled: true
|
||||
## statping configuration data Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
##
|
||||
# storageClass: "-"
|
||||
##
|
||||
## If you want to reuse an existing claim, you can pass the name of the PVC using
|
||||
## the existingClaim variable
|
||||
# existingClaim: your-claim
|
||||
# subPath: some-subpath
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
skipuninstall: false
|
||||
|
||||
postgres:
|
||||
type: postgresql
|
||||
kubedb:
|
||||
data:
|
||||
enabled: false
|
||||
version: 11.1
|
||||
storageType: Durable
|
||||
storage:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
posgresql:
|
||||
enabled: true
|
||||
# See https://github.com/bitnami/charts/tree/master/bitnami/postgresql for configuration
|
||||
emptyDir: false
|
||||
mountPath: /app
|
||||
|
||||
# This is required for postgresql to render its fullname template
|
||||
replication:
|
||||
enabled: false
|
||||
|
||||
externalSecret:
|
||||
enabled: false
|
||||
type: kubernetes-external-secrets
|
||||
kubernetesExternalSecrets:
|
||||
spec: {}
|
||||
data: []
|
||||
|
||||
additionalVolumes: []
|
||||
|
||||
additionalVolumeMounts: []
|
||||
|
||||
serviceAccount:
|
||||
# Specifies whether a service account should be created
|
||||
create: true
|
||||
# Annotations to add to the service account
|
||||
annotations: {}
|
||||
# The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name: ""
|
||||
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 1
|
||||
maxReplicas: 3
|
||||
targetCPUUtilizationPercentage: 80
|
||||
# targetMemoryUtilizationPercentage: 80
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
podAnnotations: {}
|
||||
# -- Bitnami postgres chart. For more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql
|
||||
# @default -- see bellow
|
||||
postgresql:
|
||||
# -- By default uses an internal postgress. Disable if you use your own Postgres.
|
||||
enabled: true
|
||||
# -- Postgres database user name
|
||||
postgresqlUsername: postgres
|
||||
# -- Postgres database password
|
||||
postgresqlPassword: "changeme"
|
||||
# -- Postgres database password
|
||||
postgresqlDatabase: postgres
|
||||
persistence:
|
||||
# -- if database is stored to a PVC. Set to true when you are done testing.
|
||||
enabled: false
|
||||
# storageClass: ""
|
||||
|
Loading…
Reference in New Issue
Block a user