diff --git a/charts/opa/Chart.yaml b/charts/opa/Chart.yaml index afdfa9e..b4e24ef 100644 --- a/charts/opa/Chart.yaml +++ b/charts/opa/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: opa description: An OPA deployment to run alongside applications requiring authorization type: application -version: 0.4.0 +version: 0.5.0 appVersion: 0.59.0 maintainers: - name: garryod diff --git a/charts/opa/templates/ingress.yaml b/charts/opa/templates/ingress.yaml new file mode 100644 index 0000000..32eb0dc --- /dev/null +++ b/charts/opa/templates/ingress.yaml @@ -0,0 +1,61 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "opa.fullname" . -}} +{{- $svcPort := .Values.service.port -}} +{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := 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 -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + {{- include "opa.labels" . | nindent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.ingress.className }} + {{- end }} + {{- 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: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/charts/opa/values.yaml b/charts/opa/values.yaml index 0ce70e5..8973b9b 100644 --- a/charts/opa/values.yaml +++ b/charts/opa/values.yaml @@ -40,6 +40,13 @@ service: type: ClusterIP port: 80 +ingress: + enabled: false + className: "" + annotations: {} + hosts: [] + tls: [] + resources: {} replicaCount: 1