Merge branch 'develop' into 'main'

helm chart updates
This commit is contained in:
Yung Wood
2024-09-01 13:17:08 +00:00
10 changed files with 442 additions and 43 deletions

View File

@@ -60,3 +60,15 @@ Create the name of the service account to use
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{/*
Renders a value that contains template perhaps with scope if the scope is present.
*/}}
{{- define "tplRender" -}}
{{- $value := typeIs "string" .value | ternary .value (.value | toYaml) }}
{{- if contains "{{" $value }}
{{- tpl $value .context }}
{{- else }}
{{- $value }}
{{- end }}
{{- end -}}

View File

@@ -1,4 +1,5 @@
{{- if .Values.config.enabled -}}
---
apiVersion: v1
kind: ConfigMap
metadata:

View File

@@ -1,3 +1,4 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -5,9 +6,8 @@ metadata:
labels:
{{- include "ical-filter-proxy.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.revisionHistoryLimit | default "3" }}
selector:
matchLabels:
{{- include "ical-filter-proxy.selectorLabels" . | nindent 6 }}

View File

@@ -0,0 +1,4 @@
{{- range .Values.extraResources }}
---
{{ include "tplRender" (dict "value" . "context" $) }}
{{- end }}

View File

@@ -1,32 +0,0 @@
{{- if .Values.autoscaling.enabled }}
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "ical-filter-proxy.fullname" . }}
labels:
{{- include "ical-filter-proxy.labels" . | nindent 4 }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "ical-filter-proxy.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}
{{- end }}

View File

@@ -6,6 +6,7 @@
{{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
{{- end }}
{{- end }}
---
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1
{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}

View File

@@ -1,3 +1,4 @@
---
apiVersion: v1
kind: Service
metadata:

View File

@@ -1,4 +1,5 @@
{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:

View File

@@ -0,0 +1,407 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"affinity": {
"properties": {},
"type": "object"
},
"args": {
"type": "array"
},
"config": {
"properties": {
"additionalProperties": false,
"calendars": {
"items": {
"additionalProperties": false,
"properties": {
"feed_url": {
"type": "string"
},
"filters": {
"items": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"match": {
"additionalProperties": false,
"properties": {
"summary": {
"additionalProperties": false,
"properties": {
"prefix": {
"type": "string"
},
"suffix": {
"type": "string"
},
"contains": {
"type": "string"
},
"regex": {
"type": "string"
}
},
"type": "object"
},
"description": {
"additionalProperties": false,
"properties": {
"prefix": {
"type": "string"
},
"suffix": {
"type": "string"
},
"contains": {
"type": "string"
},
"regex": {
"type": "string"
}
},
"type": "object"
},
"location": {
"additionalProperties": false,
"properties": {
"prefix": {
"type": "string"
},
"suffix": {
"type": "string"
},
"contains": {
"type": "string"
},
"regex": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"remove": {
"type": "boolean"
},
"stop": {
"type": "boolean"
},
"transform": {
"additionalProperties": false,
"properties": {
"summary": {
"additionalProperties": false,
"properties": {
"replace": {
"type": "string"
},
"remove": {
"type": "boolean"
}
},
"type": "object"
},
"description": {
"additionalProperties": false,
"properties": {
"replace": {
"type": "string"
},
"remove": {
"type": "boolean"
}
},
"type": "object"
},
"location": {
"additionalProperties": false,
"properties": {
"replace": {
"type": "string"
},
"remove": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"name": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": ["feed_url", "name"],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"enabled": {
"type": "boolean"
},
"insecure": {
"type": "boolean"
}
},
"allOf": [
{
"if": {
"properties": {
"enabled": { "const": true }
}
},
"then": {
"required": ["calendars"]
}
},
{
"if": {
"properties": {
"calendars": {
"type": "array",
"items": {
"not": {
"required": ["token"]
}
}
}
}
},
"then": {
"properties": {
"insecure": { "const": true }
}
}
}
],
"type": "object"
},
"extraResources": {
"type": "array",
"items": {
"type": ["object", "string"]
}
},
"fullnameOverride": {
"type": "string"
},
"image": {
"additionalProperties": false,
"properties": {
"pullPolicy": {
"type": "string",
"enum": ["Always", "IfNotPresent", "Never"]
},
"repository": {
"type": "string"
},
"tag": {
"type": "string"
}
},
"required": ["repository", "pullPolicy"],
"type": "object"
},
"imagePullSecrets": {
"type": "array"
},
"ingress": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
"className": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"hosts": {
"items": {
"properties": {
"host": {
"type": "string"
},
"paths": {
"items": {
"properties": {
"path": {
"type": "string"
},
"pathType": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"type": "array"
},
"tls": {
"items": {
"properties": {
"hosts": {
"items": {
"type": "string"
},
"type": "array"
},
"secretName": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"livenessProbe": {
"properties": {},
"type": "object"
},
"nameOverride": {
"type": "string"
},
"nodeSelector": {
"properties": {},
"type": "object"
},
"podAnnotations": {
"properties": {},
"type": "object"
},
"podLabels": {
"properties": {},
"type": "object"
},
"podSecurityContext": {
"properties": {},
"type": "object"
},
"readinessProbe": {
"properties": {},
"type": "object"
},
"replicaCount": {
"type": "integer"
},
"resources": {
"properties": {
"limits": {
"properties": {},
"type": "object"
},
"requests": {
"properties": {},
"type": "object"
}
},
"type": "object"
},
"securityContext": {
"properties": {},
"type": "object"
},
"service": {
"properties": {
"port": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"serviceAccount": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"properties": {},
"type": "object"
},
"automount": {
"type": "boolean"
},
"create": {
"type": "boolean"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"tolerations": {
"type": "array"
},
"volumeMounts": {
"items": {
"properties": {
"mountPath": {
"type": "string"
},
"name": {
"type": "string"
},
"readOnly": {
"type": "boolean"
}
},
"type": "object"
},
"type": "array"
},
"volumes": {
"items": {
"properties": {
"name": {
"type": "string"
},
"secret": {
"properties": {
"optional": {
"type": "boolean"
},
"secretName": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
}
},
"required": ["image", "config", "extraResources", "livenessProbe", "readinessProbe", "replicaCount"],
"type": "object"
}

View File

@@ -1,5 +1,3 @@
replicaCount: 1
image:
repository: yungwood/ical-filter-proxy
pullPolicy: IfNotPresent
@@ -9,6 +7,8 @@ imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
replicaCount: 1
args: []
config:
@@ -94,13 +94,6 @@ readinessProbe:
path: /readiness
port: http
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
volumes: []
# - name: foo
# secret:
@@ -117,3 +110,14 @@ nodeSelector: {}
tolerations: []
affinity: {}
## Add additional manifests to the chart (supports templating)
# extraResources:
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: '{{ template "ical-filter-proxy.fullname" . }}-extra-cm'
# data:
# key: |
# some-value
extraResources: []