Files
devstar-create-from-template/modules/k8s/controller/application/templates/ingress.yaml
2025-08-25 15:46:12 +08:00

54 lines
1.3 KiB
YAML

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{.ObjectMeta.Name}}-ingress
namespace: {{.ObjectMeta.Namespace}}
labels:
app: {{.ObjectMeta.Name}}
devstar-resource-type: devstar-application
app.kubernetes.io/name: {{.ObjectMeta.Name}}
app.kubernetes.io/managed-by: devstar-operator
{{- if .Spec.Ingress.Annotations}}
annotations:
{{- range $key, $value := .Spec.Ingress.Annotations}}
{{$key}}: "{{$value}}"
{{- end}}
{{- end}}
spec:
{{- if .Spec.Ingress.IngressClassName}}
ingressClassName: {{.Spec.Ingress.IngressClassName}}
{{- end}}
{{- if .Spec.Ingress.TLS}}
tls:
{{- range .Spec.Ingress.TLS}}
- {{- if .Hosts}}
hosts:
{{- range .Hosts}}
- {{.}}
{{- end}}
{{- else}}
hosts:
- {{$.Spec.Ingress.Host}}
{{- end}}
{{- if .SecretName}}
secretName: {{.SecretName}}
{{- end}}
{{- end}}
{{- end}}
rules:
- host: {{.Spec.Ingress.Host}}
http:
paths:
- path: {{.Spec.Ingress.Path | default "/"}}
pathType: {{.Spec.Ingress.PathType | default "Prefix"}}
backend:
service:
name: {{.ObjectMeta.Name}}-svc
port:
{{- if .Spec.Template.Ports}}
number: {{(index .Spec.Template.Ports 0).Port}}
{{- else}}
number: 80
{{- end}}