mirror of
https://github.com/fluxerapp/fluxer.git
synced 2026-09-02 21:04:06 +03:00
279 lines
7.1 KiB
YAML
279 lines
7.1 KiB
YAML
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
{{ $hosts := .Values.ingress.hosts -}}
|
|
{{ $ports := .Values.ports -}}
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: fluxer-ingress
|
|
namespace: {{ .Values.global.namespace }}
|
|
labels:
|
|
{{- include "fluxer.labels" . | nindent 4 }}
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
spec:
|
|
ingressClassName: {{ .Values.ingress.className }}
|
|
rules:
|
|
- host: {{ $hosts.api }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: api
|
|
port:
|
|
number: {{ $ports.api }}
|
|
|
|
- host: {{ $hosts.apiCanary }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: api-canary
|
|
port:
|
|
number: {{ $ports.apiCanary }}
|
|
|
|
- host: {{ $hosts.appProxy }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: app-proxy
|
|
port:
|
|
number: {{ $ports.appProxy }}
|
|
|
|
- host: {{ $hosts.appProxyCanary }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: app-proxy-canary
|
|
port:
|
|
number: {{ $ports.appProxyCanary }}
|
|
|
|
- host: {{ $hosts.admin }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: admin
|
|
port:
|
|
number: {{ $ports.admin }}
|
|
|
|
- host: {{ $hosts.adminCanary }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: admin-canary
|
|
port:
|
|
number: {{ $ports.adminCanary }}
|
|
|
|
- host: {{ $hosts.marketing }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: marketing
|
|
port:
|
|
number: {{ $ports.marketing }}
|
|
|
|
{{- with $hosts.help }}
|
|
- host: {{ . }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: marketing
|
|
port:
|
|
number: {{ $ports.marketing }}
|
|
|
|
{{- end }}
|
|
{{- with $hosts.blog }}
|
|
- host: {{ . }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: marketing
|
|
port:
|
|
number: {{ $ports.marketing }}
|
|
|
|
{{- end }}
|
|
{{- with $hosts.docs }}
|
|
- host: {{ . }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: docs
|
|
port:
|
|
number: {{ $ports.docs }}
|
|
|
|
{{- end }}
|
|
{{- range $hosts.marketingAliases }}
|
|
- host: {{ . }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: marketing
|
|
port:
|
|
number: {{ $ports.marketing }}
|
|
|
|
{{- end }}
|
|
- host: {{ $hosts.marketingCanary }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: marketing-canary
|
|
port:
|
|
number: {{ $ports.marketingCanary }}
|
|
|
|
- host: {{ $hosts.mediaProxy }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: media-proxy
|
|
port:
|
|
number: {{ $ports.mediaProxy }}
|
|
|
|
- host: {{ $hosts.staticProxy }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: static-proxy
|
|
port:
|
|
number: {{ $ports.staticProxy }}
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: fluxer-ingress-gateway
|
|
namespace: {{ .Values.global.namespace }}
|
|
labels:
|
|
{{- include "fluxer.labels" . | nindent 4 }}
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
nginx.ingress.kubernetes.io/upstream-hash-by: "$remote_addr"
|
|
nginx.ingress.kubernetes.io/websocket-services: gateway
|
|
spec:
|
|
ingressClassName: {{ .Values.ingress.className }}
|
|
rules:
|
|
- host: {{ $hosts.gateway }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: gateway
|
|
port:
|
|
number: {{ $ports.gateway }}
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: fluxer-ingress-api-proxy
|
|
namespace: {{ .Values.global.namespace }}
|
|
labels:
|
|
{{- include "fluxer.labels" . | nindent 4 }}
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
|
nginx.ingress.kubernetes.io/rewrite-target: /$2
|
|
spec:
|
|
ingressClassName: {{ .Values.ingress.className }}
|
|
rules:
|
|
- host: {{ $hosts.appProxy }}
|
|
http:
|
|
paths:
|
|
- path: /api(/|$)(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: api
|
|
port:
|
|
number: {{ $ports.api }}
|
|
|
|
- host: {{ $hosts.appProxyCanary }}
|
|
http:
|
|
paths:
|
|
- path: /api(/|$)(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: api-canary
|
|
port:
|
|
number: {{ $ports.apiCanary }}
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: fluxer-ingress-uploads
|
|
namespace: {{ .Values.global.namespace }}
|
|
labels:
|
|
{{- include "fluxer.labels" . | nindent 4 }}
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "500m"
|
|
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
|
|
nginx.ingress.kubernetes.io/proxy-buffering: "off"
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "900"
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "900"
|
|
nginx.ingress.kubernetes.io/client-body-buffer-size: "1m"
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "false"
|
|
spec:
|
|
ingressClassName: {{ .Values.ingress.className }}
|
|
rules:
|
|
|
|
- host: {{ $hosts.uploads }}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: uploads
|
|
port:
|
|
number: {{ $ports.uploads }}
|