From 7d5931045dac22485f7f349b13137d1fe42da2fe Mon Sep 17 00:00:00 2001 From: plm Date: Fri, 10 Jan 2025 21:20:16 +0100 Subject: [PATCH] Adding datacenter and peer support in k8s --- opencloud/dev-values.yaml | 22 ++++++++++++ .../templates/oc-datacenter/deployment.yaml | 35 +++++++++++++++++++ .../templates/oc-datacenter/ingress.yaml | 29 +++++++++++++++ .../templates/oc-datacenter/service.yaml | 17 +++++++++ opencloud/templates/oc-peer/deployment.yaml | 35 +++++++++++++++++++ opencloud/templates/oc-peer/ingress.yaml | 29 +++++++++++++++ opencloud/templates/oc-peer/service.yaml | 17 +++++++++ 7 files changed, 184 insertions(+) create mode 100644 opencloud/templates/oc-datacenter/deployment.yaml create mode 100644 opencloud/templates/oc-datacenter/ingress.yaml create mode 100644 opencloud/templates/oc-datacenter/service.yaml create mode 100644 opencloud/templates/oc-peer/deployment.yaml create mode 100644 opencloud/templates/oc-peer/ingress.yaml create mode 100644 opencloud/templates/oc-peer/service.yaml diff --git a/opencloud/dev-values.yaml b/opencloud/dev-values.yaml index dbb9015..25d453e 100644 --- a/opencloud/dev-values.yaml +++ b/opencloud/dev-values.yaml @@ -314,6 +314,28 @@ ocCatalog: cpu: "128m" memory: "256Mi" +ocPeer: + enabled: true + image: oc/oc-peer:0.0.1 + resources: + limits: + cpu: "128m" + memory: "256Mi" + requests: + cpu: "128m" + memory: "256Mi" + +ocDatacenter: + enabled: true + image: oc/oc-datacenter:0.0.1 + resources: + limits: + cpu: "128m" + memory: "256Mi" + requests: + cpu: "128m" + memory: "256Mi" + loki: diff --git a/opencloud/templates/oc-datacenter/deployment.yaml b/opencloud/templates/oc-datacenter/deployment.yaml new file mode 100644 index 0000000..0794510 --- /dev/null +++ b/opencloud/templates/oc-datacenter/deployment.yaml @@ -0,0 +1,35 @@ +{{- if index .Values.ocDatacenter.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: oc-datacenter + name: {{ .Release.Name }}-oc-datacenter +spec: + replicas: 1 + selector: + matchLabels: + app: oc-datacenter + template: + metadata: + labels: + app: oc-datacenter + spec: + containers: + - image: "{{ .Values.ocDatacenter.image }}" + name: oc-datacenter + envFrom: + - configMapRef: + name: opencloud-config + ports: + - name: http + containerPort: 8080 + protocol: TCP + resources: + limits: + cpu: "{{ .Values.ocDatacenter.resources.limits.cpu }}" + memory: "{{ .Values.ocDatacenter.resources.limits.memory }}" + requests: + cpu: "{{ .Values.ocDatacenter.resources.requests.cpu }}" + memory: "{{ .Values.ocDatacenter.resources.requests.memory }}" + {{- end }} \ No newline at end of file diff --git a/opencloud/templates/oc-datacenter/ingress.yaml b/opencloud/templates/oc-datacenter/ingress.yaml new file mode 100644 index 0000000..875c4b5 --- /dev/null +++ b/opencloud/templates/oc-datacenter/ingress.yaml @@ -0,0 +1,29 @@ +{{- if index .Values.ocDatacenter.enabled }} +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: oc-datacenter-ingress +spec: + entryPoints: + - web + routes: + - kind: Rule + match: Host(`{{ .Values.host }}`) && PathPrefix(`/datacenter`) + priority: 10 + services: + - kind: Service + name: oc-datacenter-svc + port: 8080 + middlewares: + - name: strip-datacenter-prefix + +--- +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: strip-datacenter-prefix +spec: + stripPrefix: + prefixes: + - "/datacenter" +{{- end }} \ No newline at end of file diff --git a/opencloud/templates/oc-datacenter/service.yaml b/opencloud/templates/oc-datacenter/service.yaml new file mode 100644 index 0000000..2815957 --- /dev/null +++ b/opencloud/templates/oc-datacenter/service.yaml @@ -0,0 +1,17 @@ +{{- if index .Values.ocDatacenter.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: oc-datacenter-svc + labels: + app: oc-datacenter-svc +spec: + ports: + - name: http + port: 8080 + protocol: TCP + targetPort: 8080 + selector: + app: oc-datacenter + type: ClusterIP +{{- end }} \ No newline at end of file diff --git a/opencloud/templates/oc-peer/deployment.yaml b/opencloud/templates/oc-peer/deployment.yaml new file mode 100644 index 0000000..d839027 --- /dev/null +++ b/opencloud/templates/oc-peer/deployment.yaml @@ -0,0 +1,35 @@ +{{- if index .Values.ocPeer.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: oc-peer + name: {{ .Release.Name }}-oc-peer +spec: + replicas: 1 + selector: + matchLabels: + app: oc-peer + template: + metadata: + labels: + app: oc-peer + spec: + containers: + - image: "{{ .Values.ocPeer.image }}" + name: oc-peer + envFrom: + - configMapRef: + name: opencloud-config + ports: + - name: http + containerPort: 8080 + protocol: TCP + resources: + limits: + cpu: "{{ .Values.ocPeer.resources.limits.cpu }}" + memory: "{{ .Values.ocPeer.resources.limits.memory }}" + requests: + cpu: "{{ .Values.ocPeer.resources.requests.cpu }}" + memory: "{{ .Values.ocPeer.resources.requests.memory }}" + {{- end }} \ No newline at end of file diff --git a/opencloud/templates/oc-peer/ingress.yaml b/opencloud/templates/oc-peer/ingress.yaml new file mode 100644 index 0000000..60e0c82 --- /dev/null +++ b/opencloud/templates/oc-peer/ingress.yaml @@ -0,0 +1,29 @@ +{{- if index .Values.ocPeer.enabled }} +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: oc-peer-ingress +spec: + entryPoints: + - web + routes: + - kind: Rule + match: Host(`{{ .Values.host }}`) && PathPrefix(`/peers`) + priority: 10 + services: + - kind: Service + name: oc-peer-svc + port: 8080 + middlewares: + - name: strip-peer-prefix + +--- +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: strip-peer-prefix +spec: + stripPrefix: + prefixes: + - "/peers" +{{- end }} \ No newline at end of file diff --git a/opencloud/templates/oc-peer/service.yaml b/opencloud/templates/oc-peer/service.yaml new file mode 100644 index 0000000..a513df7 --- /dev/null +++ b/opencloud/templates/oc-peer/service.yaml @@ -0,0 +1,17 @@ +{{- if index .Values.ocPeer.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: oc-peer-svc + labels: + app: oc-peer-svc +spec: + ports: + - name: http + port: 8080 + protocol: TCP + targetPort: 8080 + selector: + app: oc-peer + type: ClusterIP +{{- end }} \ No newline at end of file