Skip to content

Commit 51574cb

Browse files
Convert ingress to gateway
Signed-off-by: Arnob kumar saha <arnob@appscode.com>
1 parent b9aece5 commit 51574cb

19 files changed

Lines changed: 330 additions & 5 deletions

File tree

charts/ace-installer/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ The following table lists the configurable parameters of the `ace-installer` cha
7373
| helm.releases.aceshifter.version | | <code>"v2025.12.15"</code> |
7474
| helm.releases.capi-catalog.enabled | | <code>false</code> |
7575
| helm.releases.capi-catalog.version | | <code>"v2024.10.24"</code> |
76+
| helm.releases.catalog-manager.enabled | | <code>false</code> |
77+
| helm.releases.catalog-manager.version | | <code>"v2025.12.15"</code> |
7678
| helm.releases.cert-manager.enabled | | <code>true</code> |
7779
| helm.releases.cert-manager.version | | <code>"v1.18.2"</code> |
7880
| helm.releases.cert-manager-csi-driver-cacerts.enabled | | <code>true</code> |
@@ -99,6 +101,8 @@ The following table lists the configurable parameters of the `ace-installer` cha
99101
| helm.releases.panopticon.values | | <code>{"monitoring":{"agent":"prometheus.io/operator","enabled":true,"serviceMonitor":{"labels":{"release":"kube-prometheus-stack"}}}}</code> |
100102
| helm.releases.reloader.enabled | | <code>true</code> |
101103
| helm.releases.reloader.version | | <code>"1.0.79"</code> |
104+
| helm.releases.service-gateway-presets.enabled | | <code>false</code> |
105+
| helm.releases.service-gateway-presets.version | | <code>"v2025.12.15"</code> |
102106
| helm.releases.stash-presets.enabled | | <code>false</code> |
103107
| helm.releases.stash-presets.version | | <code>"v2025.12.15"</code> |
104108
| helm.releases.cluster-manager-spoke.enabled | | <code>false</code> |
@@ -114,6 +118,7 @@ The following table lists the configurable parameters of the `ace-installer` cha
114118
| selfManagement.targetIPs | | <code>[]</code> |
115119
| selfManagement.enableFeatures | | <code>[]</code> |
116120
| selfManagement.disableFeatures | | <code>[]</code> |
121+
| selfManagement.useGateway | | <code>false</code> |
117122
| precheck.enabled | | <code>true</code> |
118123
| precheck.image.registry | Docker registry used to pull app container image | <code>appscode</code> |
119124
| precheck.image.repository | App container image | <code>b3</code> |

charts/ace-installer/templates/_helpers.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Returns the registry used for app docker image
119119
Returns whether the OpenShift distribution is used
120120
*/}}
121121
{{- define "distro.openshift" -}}
122-
{{- or (.Capabilities.APIVersions.Has "project.openshift.io/v1/Project") (dig "distro" "openshift" false (default dict .Values.options)) -}}
122+
{{- or (.Capabilities.APIVersions.Has "project.openshift.io/v1/Project") (dig "distro" "openshift" false (dict .Values.options)) -}}
123123
{{- end }}
124124

125125
{{/*
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{{- with (index .Values "helm" "releases" "catalog-manager") }}
2+
{{- if .enabled }}
3+
4+
{{ $defaults := dict "registryFQDN" (include "registry.ghcr" $) }}
5+
6+
{{ $vals := dig "values" dict . }}
7+
{{ $vals = mergeOverwrite $defaults $vals }}
8+
9+
apiVersion: helm.toolkit.fluxcd.io/v2
10+
kind: HelmRelease
11+
metadata:
12+
name: catalog-manager
13+
namespace: {{ $.Release.Namespace }}
14+
labels:
15+
app.kubernetes.io/component: catalog-manager
16+
app.kubernetes.io/part-of: saas-core
17+
spec:
18+
interval: 5m
19+
timeout: 30m
20+
releaseName: catalog-manager
21+
targetNamespace: envoy-gateway-system
22+
storageNamespace: envoy-gateway-system
23+
install:
24+
createNamespace: {{ $.Values.helm.createNamespace }}
25+
remediation:
26+
retries: -1
27+
upgrade:
28+
crds: CreateReplace
29+
remediation:
30+
retries: -1
31+
dependsOn:
32+
- name: kubedb
33+
namespace: {{ $.Release.Namespace }}
34+
{{- if (dig "cert-manager" "enabled" false $.Values.helm.releases) }}
35+
- name: cert-manager
36+
namespace: {{ $.Release.Namespace }}
37+
{{- end }}
38+
chart:
39+
spec:
40+
chart: catalog-manager
41+
version: {{ .version | quote }}
42+
interval: 60m
43+
sourceRef:
44+
kind: HelmRepository
45+
name: appscode-charts-oci
46+
namespace: {{ $.Release.Namespace }}
47+
48+
{{- with $vals }}
49+
{{- dict "values" . | toYaml | nindent 2 }}
50+
{{- end }}
51+
52+
{{- end }}
53+
{{- end }}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{{- with (index .Values "helm" "releases" "service-gateway-presets") }}
2+
{{- if .enabled }}
3+
4+
{{ $defaults := dict "registryFQDN" (include "registry.ghcr" $) }}
5+
6+
{{ $vals := dig "values" dict . }}
7+
{{ $vals = mergeOverwrite $defaults $vals }}
8+
9+
apiVersion: helm.toolkit.fluxcd.io/v2
10+
kind: HelmRelease
11+
metadata:
12+
name: service-gateway-presets
13+
namespace: {{ $.Release.Namespace }}
14+
labels:
15+
app.kubernetes.io/component: service-gateway-presets
16+
app.kubernetes.io/part-of: saas-core
17+
spec:
18+
interval: 5m
19+
timeout: 30m
20+
releaseName: service-gateway-presets
21+
targetNamespace: ace-gw
22+
storageNamespace: ace-gw
23+
install:
24+
createNamespace: {{ $.Values.helm.createNamespace }}
25+
remediation:
26+
retries: -1
27+
upgrade:
28+
crds: CreateReplace
29+
remediation:
30+
retries: -1
31+
dependsOn:
32+
- name: catalog-manager
33+
namespace: {{ $.Release.Namespace }}
34+
{{- if (dig "cert-manager" "enabled" false $.Values.helm.releases) }}
35+
- name: cert-manager
36+
namespace: {{ $.Release.Namespace }}
37+
{{- end }}
38+
chart:
39+
spec:
40+
chart: service-gateway-presets
41+
version: {{ .version | quote }}
42+
interval: 60m
43+
sourceRef:
44+
kind: HelmRepository
45+
name: appscode-charts-oci
46+
namespace: {{ $.Release.Namespace }}
47+
48+
{{- with $vals }}
49+
{{- dict "values" . | toYaml | nindent 2 }}
50+
{{- end }}
51+
52+
{{- end }}
53+
{{- end }}

charts/ace-installer/values.openapiv3_schema.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,6 +1091,8 @@ properties:
10911091
type: boolean
10921092
kubeAPIServer:
10931093
type: string
1094+
useGateway:
1095+
type: boolean
10941096
type: object
10951097
subscription:
10961098
properties:
@@ -2593,6 +2595,8 @@ properties:
25932595
items:
25942596
type: string
25952597
type: array
2598+
useGateway:
2599+
type: boolean
25962600
type: object
25972601
required:
25982602
- fullnameOverride

charts/ace-installer/values.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ helm:
5959
capi-catalog:
6060
enabled: false
6161
version: "v2024.10.24"
62+
catalog-manager:
63+
enabled: false
64+
version: "v2025.12.15"
6265
cert-manager:
6366
enabled: true
6467
version: "v1.18.2"
@@ -119,6 +122,9 @@ helm:
119122
reloader:
120123
enabled: true
121124
version: "1.0.79"
125+
service-gateway-presets:
126+
enabled: false
127+
version: "v2025.12.15"
122128
stash-presets:
123129
enabled: false
124130
version: "v2025.12.15"
@@ -142,6 +148,8 @@ selfManagement:
142148
targetIPs: []
143149
enableFeatures: []
144150
disableFeatures: []
151+
useGateway: false
152+
145153
precheck:
146154
enabled: true
147155
# Docker registry containing app image

charts/ace/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ The following table lists the configurable parameters of the `ace` chart and the
232232
| setupJob.config.selfManagement.targetIPs | | <code></code> |
233233
| setupJob.config.selfManagement.enableFeatures | | <code>[]</code> |
234234
| setupJob.config.selfManagement.disableFeatures | | <code>[]</code> |
235+
| setupJob.config.selfManagement.useGateway | | <code>false</code> |
235236
| extraObjects | | <code>{}</code> |
236237
| envFrom | List of sources to populate environment variables in the container | <code>[]</code> |
237238
| env | List of environment variables to set in the container | <code>[]</code> |
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
apiVersion: gateway.networking.k8s.io/v1
2+
kind: Gateway
3+
metadata:
4+
name: {{ include "ace.fullname" . }}
5+
namespace: {{ .Release.Namespace }}
6+
labels:
7+
{{- include "ace.labels" . | nindent 4 }}
8+
spec:
9+
gatewayClassName: ace
10+
listeners:
11+
- name: https
12+
protocol: HTTPS
13+
port: 443
14+
tls:
15+
mode: Terminate
16+
certificateRefs:
17+
- group: ""
18+
kind: Secret
19+
name: {{ include "ace.fullname" . }}-cert
20+
namespace: {{ .Release.Namespace }}
21+
allowedRoutes:
22+
namespaces:
23+
from: Same
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{{ if and (index .Values "setupJob" "config" "selfManagement" "useGateway") (index .Values "platform-ui" "enabled") (not (eq .Values.global.platform.deploymentType "Hosted")) }}
2+
3+
apiVersion: gateway.networking.k8s.io/v1
4+
kind: HTTPRoute
5+
metadata:
6+
name: {{ include "ace.fullname" . }}-home
7+
namespace: {{ .Release.Namespace }}
8+
spec:
9+
parentRefs:
10+
- group: gateway.networking.k8s.io
11+
kind: Gateway
12+
name: {{ include "ace.fullname" . }}
13+
namespace: {{ .Release.Namespace }}
14+
sectionName: https
15+
rules:
16+
- matches:
17+
- path:
18+
type: PathPrefix
19+
value: /
20+
filters:
21+
- type: URLRewrite
22+
urlRewrite:
23+
path:
24+
type: ReplaceFullPath
25+
replaceFullPath: /accounts/selfhost-home
26+
backendRefs:
27+
- group: ""
28+
kind: Service
29+
name: {{ include "ace.fullname" . }}-platform-api
30+
namespace: {{ .Release.Namespace }}
31+
port: 80
32+
weight: 1
33+
34+
{{- end }}

0 commit comments

Comments
 (0)