Add more specific settings for HTTPRoute (#203)

* Adding Helm chart

* Update maintainer

* Updating filesystem settings to prevent issues

* CREATE_CLIENTS is now true by default

* Add name override options

* Validation for postges

* Fix plain connection string in pod env

* Simplifying secret management

* Fix port quoting

* Init container to run sql file

* Fix port type

* Fix secret management

* Working now

* Fixing Postgres connection issue

* Upgrade postgres init container

* Auto add UUIDs when starting postgres

* feat: Use standard value names for adding HTTPReoute

* fix: Remove merge issues

* chore: bump version
This commit is contained in:
Jansen Fuller
2026-05-29 17:30:07 +00:00
committed by GitHub
parent 7d772f4b5e
commit 039bd77ec1
3 changed files with 67 additions and 5 deletions

View File

@ -2,7 +2,7 @@ apiVersion: v2
name: taskchampion-sync-server name: taskchampion-sync-server
description: A Helm chart for deploying TaskChampion Sync Server on Kubernetes description: A Helm chart for deploying TaskChampion Sync Server on Kubernetes
type: application type: application
version: 0.1.0 version: 0.1.1
appVersion: "0.7.0" appVersion: "0.7.0"
keywords: keywords:
- taskchampion - taskchampion

View File

@ -5,19 +5,53 @@ metadata:
name: {{ include "taskchampion-sync-server.fullname" . }} name: {{ include "taskchampion-sync-server.fullname" . }}
labels: labels:
{{- include "taskchampion-sync-server.labels" . | nindent 4 }} {{- include "taskchampion-sync-server.labels" . | nindent 4 }}
{{- with .Values.httpRoute.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec: spec:
parentRefs: parentRefs:
{{- if .Values.httpRoute.parentRefs }}
{{- range .Values.httpRoute.parentRefs }}
- name: {{ .name }}
{{- if .namespace }}
namespace: {{ .namespace }}
{{- end }}
{{- if .sectionName }}
sectionName: {{ .sectionName }}
{{- end }}
{{- end }}
{{- else if .Values.httpRoute.gateway }}
- name: {{ .Values.httpRoute.gateway }} - name: {{ .Values.httpRoute.gateway }}
{{- if .Values.httpRoute.host }} {{- end }}
{{- $hostnames := .Values.httpRoute.hostnames }}
{{- if and (not $hostnames) .Values.httpRoute.host }}
{{- $hostnames = list .Values.httpRoute.host }}
{{- end }}
{{- if $hostnames }}
hostnames: hostnames:
- {{ .Values.httpRoute.host }} {{- range $hostnames }}
- {{ . | quote }}
{{- end }}
{{- end }} {{- end }}
rules: rules:
{{- if .Values.httpRoute.rules }}
{{- range .Values.httpRoute.rules }}
- matches:
- path:
type: {{ .path.type | default "PathPrefix" }}
value: {{ .path.value | default "/" }}
backendRefs:
- name: {{ include "taskchampion-sync-server.fullname" $ }}
port: {{ .backendPort | default 8080 }}
{{- end }}
{{- else }}
- matches: - matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: {{ .Values.httpRoute.path }} value: {{ .Values.httpRoute.path | default "/" }}
backendRefs: backendRefs:
- name: {{ include "taskchampion-sync-server.fullname" . }} - name: {{ include "taskchampion-sync-server.fullname" . }}
port: {{ .Values.httpRoute.port }} port: {{ .Values.httpRoute.port | default 8080 }}
{{- end }}
{{- end }} {{- end }}

View File

@ -38,8 +38,36 @@ ingress:
# HTTPRoute configuration (Kubernetes Gateway API) # HTTPRoute configuration (Kubernetes Gateway API)
httpRoute: httpRoute:
enabled: false enabled: false
annotations: {}
# List of parent gateway references.
# name is required; namespace and sectionName are optional.
parentRefs: []
# parentRefs:
# - name: my-gateway
# namespace: gateway-system # optional — cross-namespace gateway reference
# sectionName: https # optional — targets a specific listener on the gateway
# List of hostnames the route applies to.
hostnames: []
# hostnames:
# - tasks.example.com
# - tasks.internal.example.com
# List of routing rules. Each rule matches a path and forwards to this chart's Service.
# When empty, falls back to the deprecated path/port fields below.
rules: []
# rules:
# - path:
# type: PathPrefix # PathPrefix or Exact
# value: /
# backendPort: 8080
# Deprecated: use parentRefs instead
gateway: "" gateway: ""
# Deprecated: use hostnames instead
host: "" host: ""
# Deprecated: use rules instead
path: "/" path: "/"
port: 8080 port: 8080