Skip to content
Open
Show file tree
Hide file tree
Changes from 3 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
2 changes: 1 addition & 1 deletion charts/backstage/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@ sources:
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 2.6.3
version: 2.7.0
14 changes: 13 additions & 1 deletion charts/backstage/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Backstage Helm Chart

[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/backstage)](https://artifacthub.io/packages/search?repo=backstage)
![Version: 2.6.3](https://img.shields.io/badge/Version-2.6.3-informational?style=flat-square)
![Version: 2.7.0](https://img.shields.io/badge/Version-2.7.0-informational?style=flat-square)
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)

A Helm chart for deploying a Backstage application
Expand Down Expand Up @@ -163,6 +163,18 @@ Kubernetes: `>= 1.19.0-0`
| global | Global parameters Global Docker image parameters Please, note that this will override the image parameters, including dependencies, configured to use the global value Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass | object | See below |
| global.imagePullSecrets | Global Docker registry secret names as an array </br> E.g. `imagePullSecrets: [myRegistryKeySecretName]` | list | `[]` |
| global.imageRegistry | Global Docker image registry | string | `""` |
| httpRoute | HTTPRoute parameters, the successor to Ingress for routing HTTP traffic (Gateway API) | object | See below |
| httpRoute.annotations | Additional annotations for the HTTPRoute resource | object | `{}` |
| httpRoute.enabled | Enable the creation of the HTTPRoute resource | bool | `false` |
| httpRoute.extraRules | Additional routing rules <br /> Ref: https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.HTTPRouteRule <!-- E.g. extraRules: - matches: - path: type: PathPrefix value: /api backendRefs: - name: backstage-api port: 7007 --> | list | `[]` |
| httpRoute.hostnames | Hostnames to be used for the HTTPRoute <!-- E.g. hostnames: - backstage.example.com --> | list | `[]` |
| httpRoute.parentRefs | Gateway reference configuration <br /> Ref: https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.ParentReference | object | `{"group":"gateway.networking.k8s.io","kind":"Gateway","name":"","namespace":"","sectionName":""}` |
| httpRoute.parentRefs.group | API group of the Gateway (default: "gateway.networking.k8s.io") | string | `"gateway.networking.k8s.io"` |
| httpRoute.parentRefs.kind | Kind of the Gateway (default: "Gateway") | string | `"Gateway"` |
| httpRoute.parentRefs.name | Name of the Gateway to attach the HTTPRoute to | string | `""` |
| httpRoute.parentRefs.namespace | Namespace of the Gateway (optional, defaults to same namespace as HTTPRoute) | string | `""` |
| httpRoute.parentRefs.sectionName | SectionName is the name of a section within the target Gateway (optional) | string | `""` |
| httpRoute.path | Path to be used for the HTTPRoute (default: "/") | string | `"/"` |
| ingress | Ingress parameters | object | `{"annotations":{},"className":"","enabled":false,"extraHosts":[],"extraTls":[],"host":"","path":"/","tls":{"enabled":false,"secretName":""}}` |
| ingress.annotations | Additional annotations for the Ingress resource | object | `{}` |
| ingress.className | Name of the IngressClass cluster resource which defines which controller will implement the resource (e.g nginx) | string | `""` |
Expand Down
6 changes: 6 additions & 0 deletions charts/backstage/ci/httproute-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
httpRoute:
enabled: true
parentRefs:
name: my-gateway
hostnames:
- backstage.example.com
52 changes: 52 additions & 0 deletions charts/backstage/templates/httproute.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{{- if .Values.httpRoute.enabled }}
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: {{ include "common.names.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: backstage
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if or .Values.httpRoute.annotations .Values.commonAnnotations }}
annotations:
{{- if .Values.httpRoute.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.httpRoute.annotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
spec:
parentRefs:
- group: {{ .Values.httpRoute.parentRefs.group | default "gateway.networking.k8s.io" }}
kind: {{ .Values.httpRoute.parentRefs.kind | default "Gateway" }}
name: {{ include "common.tplvalues.render" ( dict "value" .Values.httpRoute.parentRefs.name "context" $ ) }}
{{- if .Values.httpRoute.parentRefs.namespace }}
namespace: {{ include "common.tplvalues.render" ( dict "value" .Values.httpRoute.parentRefs.namespace "context" $ ) }}
{{- end }}
{{- if .Values.httpRoute.parentRefs.sectionName }}
sectionName: {{ include "common.tplvalues.render" ( dict "value" .Values.httpRoute.parentRefs.sectionName "context" $ ) }}
{{- end }}
{{- if .Values.httpRoute.hostnames }}
hostnames:
{{- range .Values.httpRoute.hostnames }}
- {{ include "common.tplvalues.render" ( dict "value" . "context" $ ) | quote }}
{{- end }}
{{- end }}
rules:
- matches:
- path:
type: PathPrefix
value: {{ .Values.httpRoute.path | default "/" }}
backendRefs:
- group: ""
kind: Service
name: {{ include "common.names.fullname" . }}
port: {{ .Values.service.ports.backend }}
weight: 1
{{- if .Values.httpRoute.extraRules }}
{{- include "common.tplvalues.render" ( dict "value" .Values.httpRoute.extraRules "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
70 changes: 70 additions & 0 deletions charts/backstage/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -6340,6 +6340,76 @@
"title": "Global parameters.",
"type": "object"
},
"httpRoute": {
"additionalProperties": false,
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"default": {},
"title": "Additional annotations for the HTTPRoute resource",
"type": "object"
},
"enabled": {
"default": false,
"title": "Enable the creation of the HTTPRoute resource",
"type": "boolean"
},
"extraRules": {
"default": [],
"title": "Additional routing rules",
"type": "array"
},
"hostnames": {
"default": [],
"items": {
"type": "string"
},
"title": "Hostnames to be used for the HTTPRoute",
"type": "array"
},
"parentRefs": {
"additionalProperties": false,
"properties": {
"group": {
"default": "gateway.networking.k8s.io",
"title": "API group of the Gateway",
"type": "string"
},
"kind": {
"default": "Gateway",
"title": "Kind of the Gateway",
"type": "string"
},
"name": {
"default": "",
"title": "Name of the Gateway to attach the HTTPRoute to",
"type": "string"
},
"namespace": {
"default": "",
"title": "Namespace of the Gateway",
"type": "string"
},
"sectionName": {
"default": "",
"title": "SectionName is the name of a section within the target Gateway",
"type": "string"
}
},
"title": "Gateway reference configuration",
"type": "object"
},
"path": {
"default": "/",
"title": "Path to be used for the HTTPRoute",
"type": "string"
}
},
"title": "HTTPRoute parameters (Gateway API)",
"type": "object"
},
"ingress": {
"additionalProperties": false,
"properties": {
Expand Down
70 changes: 70 additions & 0 deletions charts/backstage/values.schema.tmpl.json
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,76 @@
}
}
},
"httpRoute": {
"title": "HTTPRoute parameters (Gateway API)",
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"title": "Enable the creation of the HTTPRoute resource",
"type": "boolean",
"default": false
},
"annotations": {
"title": "Additional annotations for the HTTPRoute resource",
"type": "object",
"default": {},
"additionalProperties": {
"type": "string"
}
},
"parentRefs": {
"title": "Gateway reference configuration",
"type": "object",
"additionalProperties": false,
"properties": {
"group": {
"title": "API group of the Gateway",
"type": "string",
"default": "gateway.networking.k8s.io"
},
"kind": {
"title": "Kind of the Gateway",
"type": "string",
"default": "Gateway"
},
"name": {
"title": "Name of the Gateway to attach the HTTPRoute to",
"type": "string",
"default": ""
},
"namespace": {
"title": "Namespace of the Gateway",
"type": "string",
"default": ""
},
"sectionName": {
"title": "SectionName is the name of a section within the target Gateway",
"type": "string",
"default": ""
}
}
},
"hostnames": {
"title": "Hostnames to be used for the HTTPRoute",
"type": "array",
"default": [],
"items": {
"type": "string"
}
},
"path": {
"title": "Path to be used for the HTTPRoute",
"type": "string",
"default": "/"
},
"extraRules": {
"title": "Additional routing rules",
"type": "array",
"default": []
}
}
},
"backstage": {
"title": "Backstage parameters",
"type": "object",
Expand Down
46 changes: 46 additions & 0 deletions charts/backstage/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,52 @@ ingress:
# secretName: backstage-env -->
extraTls: []

# -- HTTPRoute parameters, the successor to Ingress for routing HTTP traffic (Gateway API)
# @default -- See below
httpRoute:

# -- Enable the creation of the HTTPRoute resource
enabled: false

# -- Additional annotations for the HTTPRoute resource
annotations: {}

# -- Gateway reference configuration
# <br /> Ref: https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.ParentReference
parentRefs:
# -- API group of the Gateway (default: "gateway.networking.k8s.io")
group: "gateway.networking.k8s.io"
# -- Kind of the Gateway (default: "Gateway")
kind: "Gateway"
# -- Name of the Gateway to attach the HTTPRoute to
name: ""
# -- Namespace of the Gateway (optional, defaults to same namespace as HTTPRoute)
namespace: ""
# -- SectionName is the name of a section within the target Gateway (optional)
sectionName: ""

# -- Hostnames to be used for the HTTPRoute
# <!-- E.g.
# hostnames:
# - backstage.example.com -->
hostnames: []

# -- Path to be used for the HTTPRoute (default: "/")
path: "/"

# -- Additional routing rules
# <br /> Ref: https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.HTTPRouteRule
# <!-- E.g.
# extraRules:
# - matches:
# - path:
# type: PathPrefix
# value: /api
# backendRefs:
# - name: backstage-api
# port: 7007 -->
extraRules: []

# -- Backstage parameters
# @default -- See below
backstage:
Expand Down
Loading