diff --git a/deploy/prod/kustomization.yaml b/deploy/prod/kustomization.yaml index b8262aa..58d96e9 100644 --- a/deploy/prod/kustomization.yaml +++ b/deploy/prod/kustomization.yaml @@ -4,6 +4,8 @@ kind: Kustomization resources: - ../base - hpa.yaml + - svc + - oia patches: - patch: |- diff --git a/deploy/prod/oia/ingressroute/kustomization.yaml b/deploy/prod/oia/ingressroute/kustomization.yaml new file mode 100644 index 0000000..ce891ac --- /dev/null +++ b/deploy/prod/oia/ingressroute/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - oia.yaml + - oia-no-rewrite.yaml \ No newline at end of file diff --git a/deploy/prod/oia/ingressroute/oia-no-rewrite.yaml b/deploy/prod/oia/ingressroute/oia-no-rewrite.yaml new file mode 100644 index 0000000..a264ac5 --- /dev/null +++ b/deploy/prod/oia/ingressroute/oia-no-rewrite.yaml @@ -0,0 +1,25 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: xlog-oia-no-rewrite + namespace: crossbell +spec: + entryPoints: + - web + - websecure + routes: + - kind: Rule + match: Host(`oia.xlog.app`) && PathPrefix(`/_next`) + middlewares: + - name: xlog-oia-replace-host + services: + - name: xlog-internal + port: 3000 + - kind: Rule + match: Host(`oia.xlog.app`) && PathPrefix(`/.well-known`) + middlewares: + - name: xlog-oia-add-prefix + - name: xlog-oia-replace-host + services: + - name: xlog-internal + port: 80 \ No newline at end of file diff --git a/deploy/prod/oia/ingressroute/oia.yaml b/deploy/prod/oia/ingressroute/oia.yaml new file mode 100644 index 0000000..caada8d --- /dev/null +++ b/deploy/prod/oia/ingressroute/oia.yaml @@ -0,0 +1,18 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: xlog-oia + namespace: crossbell +spec: + entryPoints: + - web + - websecure + routes: + - kind: Rule + match: Host(`oia.xlog.app`) && !PathPrefix(`/_next`) && !PathPrefix(`/.well-known`) + middlewares: + - name: xlog-oia-replace-host + - name: xlog-replace-path-oia + services: + - name: xlog-internal + port: 80 \ No newline at end of file diff --git a/deploy/prod/oia/kustomization.yaml b/deploy/prod/oia/kustomization.yaml new file mode 100644 index 0000000..514ee89 --- /dev/null +++ b/deploy/prod/oia/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ingressroute + - middleware \ No newline at end of file diff --git a/deploy/prod/oia/middleware/add-prefix.yaml b/deploy/prod/oia/middleware/add-prefix.yaml new file mode 100644 index 0000000..7c108b6 --- /dev/null +++ b/deploy/prod/oia/middleware/add-prefix.yaml @@ -0,0 +1,8 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: xlog-oia-add-prefix + namespace: crossbell +spec: + addPrefix: + prefix: /oia \ No newline at end of file diff --git a/deploy/prod/oia/middleware/kustomization.yaml b/deploy/prod/oia/middleware/kustomization.yaml new file mode 100644 index 0000000..d4a5b9f --- /dev/null +++ b/deploy/prod/oia/middleware/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - add-prefix.yaml + - oia-replace-host.yaml + - replace-path-oia.yaml \ No newline at end of file diff --git a/deploy/prod/oia/middleware/oia-replace-host.yaml b/deploy/prod/oia/middleware/oia-replace-host.yaml new file mode 100644 index 0000000..9196ec9 --- /dev/null +++ b/deploy/prod/oia/middleware/oia-replace-host.yaml @@ -0,0 +1,10 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: xlog-oia-replace-host + namespace: crossbell +spec: + headers: + customRequestHeaders: + Host: "xlog.app" + X-Forwarded-Host: "xlog.app" \ No newline at end of file diff --git a/deploy/prod/oia/middleware/replace-path-oia.yaml b/deploy/prod/oia/middleware/replace-path-oia.yaml new file mode 100644 index 0000000..fe7a6f8 --- /dev/null +++ b/deploy/prod/oia/middleware/replace-path-oia.yaml @@ -0,0 +1,8 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: xlog-replace-path-oia + namespace: crossbell +spec: + replacePath: + path: /oia \ No newline at end of file diff --git a/deploy/prod/svc.yaml b/deploy/prod/svc.yaml deleted file mode 100644 index d10256e..0000000 --- a/deploy/prod/svc.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: xlog-lb - namespace: crossbell - annotations: - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-name: "xlog-dev" - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: "slb.s1.small" - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-id: acl-7go649a51gt3cw7qgsvls - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status: "on" - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type: black -spec: - type: LoadBalancer - externalTrafficPolicy: Local - selector: - app: xlog-caddy - ports: - - name: http - protocol: TCP - port: 80 - targetPort: 80 - - name: https - protocol: TCP - port: 443 - targetPort: 443 diff --git a/deploy/prod/svc/kustomization.yaml b/deploy/prod/svc/kustomization.yaml new file mode 100644 index 0000000..4de5650 --- /dev/null +++ b/deploy/prod/svc/kustomization.yaml @@ -0,0 +1,12 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - lb-cname-01.yaml + - lb-main-01.yaml + - lb-wildcard-01.yaml + +commonAnnotations: + cloud.google.com/l4-rbs: "enabled" + networking.gke.io/internal-load-balancer-subnet: "prod-loadbalancer" + networking.gke.io/internal-load-balancer-allow-global-access: "true" \ No newline at end of file diff --git a/deploy/prod/svc/lb-cname-01.yaml b/deploy/prod/svc/lb-cname-01.yaml new file mode 100644 index 0000000..1d4df83 --- /dev/null +++ b/deploy/prod/svc/lb-cname-01.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: xlog-lb-cname-01 + namespace: crossbell +spec: + type: LoadBalancer + selector: + app: xlog-caddy + ports: + - name: http + protocol: TCP + port: 80 + targetPort: 80 + - name: https + protocol: TCP + port: 443 + targetPort: 443 \ No newline at end of file diff --git a/deploy/prod/svc/lb-main-01.yaml b/deploy/prod/svc/lb-main-01.yaml new file mode 100644 index 0000000..959550c --- /dev/null +++ b/deploy/prod/svc/lb-main-01.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: xlog-lb-main-01 + namespace: crossbell +spec: + type: LoadBalancer + selector: + app: xlog-caddy + ports: + - name: http + protocol: TCP + port: 80 + targetPort: 80 + - name: https + protocol: TCP + port: 443 + targetPort: 443 \ No newline at end of file diff --git a/deploy/prod/svc/lb-wildcard-01.yaml b/deploy/prod/svc/lb-wildcard-01.yaml new file mode 100644 index 0000000..5030910 --- /dev/null +++ b/deploy/prod/svc/lb-wildcard-01.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: xlog-lb-wildcard-01 + namespace: crossbell +spec: + type: LoadBalancer + selector: + app: xlog-caddy + ports: + - name: http + protocol: TCP + port: 80 + targetPort: 80 + - name: https + protocol: TCP + port: 443 + targetPort: 443 \ No newline at end of file