Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions charts/o-neko-catnip/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: o-neko-catnip
description: A Helm chart for the O-Neko URL trigger
type: application
version: 1.1.0
appVersion: "1.1.0"
version: 1.2.0
appVersion: "1.2.0"
sources:
- https://github.com/subshell/o-neko-catnip/
72 changes: 72 additions & 0 deletions charts/o-neko-catnip/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,75 @@ Helm Chart for [O-Neko Catnip](https://github.com/subshell/o-neko-catnip).
To install O-Neko Catnip with this chart you will need to create a secret manually which contains admin user
credentials for O-Neko in fields named `username` and `password`. This secret needs to be referenced in the
`values.yaml` file.

## Parameters

### Common parameters

| Name | Description | Value |
| -------------------- | ----------------------------------------- | ----- |
| `nameOverride` | String to partially override the name | `""` |
| `fullnameOverride` | String to fully override the release name | `""` |
| `imagePullSecrets` | Docker registry secret names as an array | `[]` |
| `hostAliases` | Host aliases available to the application | `nil` |
| `resources.limits` | The resource limits for the container | `{}` |
| `resources.requests` | The resource requests for the container | `{}` |


### O-Neko Catnip parameters

| Name | Description | Value |
| ----------------------------- | --------------------------------------------------------------------- | ---------------------------- |
| `oneko.image.name` | O-Neko Catnip image repository | `subshellgmbh/o-neko-catnip` |
| `oneko.image.tag` | O-Neko Catnip image tag | `1.1.0` |
| `oneko.image.imagePullPolicy` | Image Pull Policy | `IfNotPresent` |
| `oneko.api.baseUrl` | The base URL of the O-Neko installation, e.g. my.oneko.com | `nil` |
| `oneko.api.auth.secretName` | The name of the secret which contains the O-Neko credentials | `nil` |
| `oneko.catnipUrl` | The base URL of the O-Neko Catnip installation, e.g. catnip.oneko.com | `nil` |


### Probes

| Name | Description | Value |
| ------------------------------------ | ---------------------------------------- | ----- |
| `startupProbe.failureThreshold` | Failure threshold for startupProbe | `10` |
| `startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `0` |
| `startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` |
| `startupProbe.periodSeconds` | Period seconds for startupProbe | `2` |
| `readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` |
| `readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `0` |
| `readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `5` |
| `readinessProbe.periodSeconds` | Period seconds for readinessProbe | `1` |
| `livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` |
| `livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `0` |
| `livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` |
| `livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |


### Traffic Exposure parameters

| Name | Description | Value |
| -------------------------------- | ---------------------------------------------------- | ------- |
| `service.annotations` | annotations for the service | `{}` |
| `service.type` | Kubernetes service type | `nil` |
| `service.sessionAffinity` | the service's sessionAffinity | `None` |
| `service.sessionAffinityConfig` | additional sessionAffinity configuration | `{}` |
| `service.loadBalancerIP` | A loadBalancerIP configuration | `nil` |
| `service.clusterIP` | The service's clusterIP | `nil` |
| `ingress.ingressClassName` | name of the ingressClass used for the ingress | `nil` |
| `ingress.hosts` | Array with hostnames used for the ingress | `nil` |
| `ingress.tls` | TLS configuration of the ingress as an array | `nil` |
| `ingress.annotations` | annotations for the ingress | `{}` |
| `ingress.defaultBackend.enabled` | Whether the default backend should be enabled or not | `false` |


### Metrics and Alerting

| Name | Description | Value |
| ------------------------------------ | ----------------------------------------------------------- | ------- |
| `serviceMonitor.enabled` | Whether the serviceMonitor resource should be deployed | `false` |
| `serviceMonitor.interval` | Prometheus scrape interval | `10s` |
| `prometheusRule.enabled` | Whether the prometheusRule resource should be deployed | `false` |
| `prometheusRule.defaultRulesEnabled` | Whether the default alerting rules should be enabled or not | `true` |
| `prometheusRule.rules` | Custom alerting rules which can be deployed | `[]` |

10 changes: 6 additions & 4 deletions charts/o-neko-catnip/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ spec:
imagePullPolicy: {{ .Values.oneko.image.imagePullPolicy }}
env:
- name: ONEKO_API_BASEURL
value: {{ .Values.oneko.api.baseUrl }}
value: {{ required "The O-Neko base URL needs to be configured." .Values.oneko.api.baseUrl }}
- name: ONEKO_CATNIPURL
value: {{ required "The O-Neko Catnip URL needs to be configured." .Values.oneko.catnipUrl }}
- name: ONEKO_API_AUTH_USERNAME
valueFrom:
secretKeyRef:
Expand All @@ -53,7 +55,7 @@ spec:
{{- with .Values.livenessProbe }}
livenessProbe:
httpGet:
path: /metrics
path: /up
port: http
failureThreshold: {{ .failureThreshold }}
initialDelaySeconds: {{ .initialDelaySeconds }}
Expand All @@ -63,7 +65,7 @@ spec:
{{- with .Values.readinessProbe }}
readinessProbe:
httpGet:
path: /metrics
path: /up
port: http
failureThreshold: {{ .failureThreshold }}
initialDelaySeconds: {{ .initialDelaySeconds }}
Expand All @@ -73,7 +75,7 @@ spec:
{{- with .Values.startupProbe }}
startupProbe:
httpGet:
path: /metrics
path: /up
port: http
failureThreshold: {{ .failureThreshold }}
initialDelaySeconds: {{ .initialDelaySeconds }}
Expand Down
90 changes: 82 additions & 8 deletions charts/o-neko-catnip/values.yaml
Original file line number Diff line number Diff line change
@@ -1,60 +1,134 @@
## @section Common parameters
##

## @param nameOverride String to partially override the name
nameOverride: ""

## @param fullnameOverride String to fully override the release name
fullnameOverride: ""

## @param imagePullSecrets Docker registry secret names as an array
imagePullSecrets: []

## @param hostAliases Host aliases available to the application
hostAliases:

resources: {}
## @param resources.limits The resource limits for the container
## @param resources.requests The resource requests for the container
resources:
limits: {}
requests: {}

## @section O-Neko Catnip parameters
## Parameters which configure the O-Neko Catnip installation
##

oneko:

## @param oneko.image.name O-Neko Catnip image repository
## @param oneko.image.tag O-Neko Catnip image tag
## @param oneko.image.imagePullPolicy Image Pull Policy
image:
name: subshellgmbh/o-neko-catnip
tag: 1.1.0
tag: 1.2.0
imagePullPolicy: IfNotPresent

## @param oneko.api.baseUrl The base URL of the O-Neko installation, e.g. my.oneko.com
## @param oneko.api.auth.secretName The name of the secret which contains the O-Neko credentials
api:
baseUrl:
auth:
secretName:

serviceMonitor:
enabled: false
interval: 10s
## @param oneko.catnipUrl The base URL of the O-Neko Catnip installation, e.g. catnip.oneko.com
catnipUrl:

## @section Probes
##

## @param startupProbe.failureThreshold Failure threshold for startupProbe
## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
## @param startupProbe.periodSeconds Period seconds for startupProbe
startupProbe:
failureThreshold: 10
initialDelaySeconds: 0
timeoutSeconds: 1
periodSeconds: 2

## @param readinessProbe.failureThreshold Failure threshold for readinessProbe
## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
## @param readinessProbe.periodSeconds Period seconds for readinessProbe
readinessProbe:
failureThreshold: 3
initialDelaySeconds: 0
timeoutSeconds: 5
periodSeconds: 1

## @param livenessProbe.failureThreshold Failure threshold for livenessProbe
## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
## @param livenessProbe.periodSeconds Period seconds for livenessProbe
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 0
timeoutSeconds: 5
periodSeconds: 10

## @section Traffic Exposure parameters
##

service:
## @param service.annotations annotations for the service
annotations: {}
## @param service.type Kubernetes service type
type:
## @param service.sessionAffinity the service's sessionAffinity
sessionAffinity: None
## @param service.sessionAffinityConfig additional sessionAffinity configuration
sessionAffinityConfig: {}
## @param service.loadBalancerIP A loadBalancerIP configuration
loadBalancerIP:
## @param service.clusterIP The service's clusterIP
clusterIP:



ingress:
# ingressClassName: nginx
defaultBackend:
enabled: false
## @param ingress.ingressClassName name of the ingressClass used for the ingress
ingressClassName:
## @param ingress.hosts Array with hostnames used for the ingress
## e.g.
## hosts:
## - host: "catnip.oneko.com"
hosts:
## @param ingress.tls TLS configuration of the ingress as an array
## e.g.
## tls:
## - hosts:
## - "catnip.oneko.com"
## secretName: catnip-tls
tls:
## @param ingress.annotations annotations for the ingress
annotations: {}
## @param ingress.defaultBackend.enabled Whether the default backend should be enabled or not
defaultBackend:
enabled: false

## @section Metrics and Alerting
##
## Specific for the use with the kube-prometheus-stack

## @param serviceMonitor.enabled Whether the serviceMonitor resource should be deployed
## @param serviceMonitor.interval Prometheus scrape interval
serviceMonitor:
enabled: false
interval: 10s

## @param prometheusRule.enabled Whether the prometheusRule resource should be deployed
## @param prometheusRule.defaultRulesEnabled Whether the default alerting rules should be enabled or not
## @param prometheusRule.rules Custom alerting rules which can be deployed
prometheusRule:
enabled: false
defaultRulesEnabled: true
Expand Down