From 606ee169e792d8eb9c10af9c42b2e378b6f9d910 Mon Sep 17 00:00:00 2001 From: Tim Smyth Date: Fri, 19 Jul 2024 10:57:51 +0200 Subject: [PATCH 1/5] didymos dummy broker --- aws/apps/didymosxr/didymosxr-mongo-db.yaml | 18 ++++++++ aws/apps/didymosxr/didymosxr-nginx.yaml | 18 ++++++++ aws/apps/didymosxr/didymosxr-orion-ld.yaml | 18 ++++++++ aws/didymosxr/mongodb/Chart.yaml | 12 +++++ aws/didymosxr/mongodb/values.yaml | 17 ++++++++ aws/didymosxr/nginx/Chart.yaml | 12 +++++ aws/didymosxr/nginx/templates/_helpers.tpl | 51 ++++++++++++++++++++++ aws/didymosxr/nginx/templates/route.yaml | 25 +++++++++++ aws/didymosxr/nginx/values.yaml | 25 +++++++++++ aws/didymosxr/orion-ld/Chart.yaml | 12 +++++ aws/didymosxr/orion-ld/values.yaml | 19 ++++++++ aws/namespaces/didymosxr.yaml | 4 ++ 12 files changed, 231 insertions(+) create mode 100644 aws/apps/didymosxr/didymosxr-mongo-db.yaml create mode 100644 aws/apps/didymosxr/didymosxr-nginx.yaml create mode 100644 aws/apps/didymosxr/didymosxr-orion-ld.yaml create mode 100644 aws/didymosxr/mongodb/Chart.yaml create mode 100644 aws/didymosxr/mongodb/values.yaml create mode 100644 aws/didymosxr/nginx/Chart.yaml create mode 100644 aws/didymosxr/nginx/templates/_helpers.tpl create mode 100644 aws/didymosxr/nginx/templates/route.yaml create mode 100644 aws/didymosxr/nginx/values.yaml create mode 100644 aws/didymosxr/orion-ld/Chart.yaml create mode 100644 aws/didymosxr/orion-ld/values.yaml create mode 100644 aws/namespaces/didymosxr.yaml diff --git a/aws/apps/didymosxr/didymosxr-mongo-db.yaml b/aws/apps/didymosxr/didymosxr-mongo-db.yaml new file mode 100644 index 00000000..687425af --- /dev/null +++ b/aws/apps/didymosxr/didymosxr-mongo-db.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: didymosxr-mongo-db + namespace: argocd +spec: + destination: + namespace: didymosxr + server: https://kubernetes.default.svc + project: default + source: + path: aws/didymosxr/mongodb + repoURL: https://github.com/FIWARE-Ops/fiware-gitops + targetRevision: HEAD + syncPolicy: + automated: + prune: true + selfHeal: true \ No newline at end of file diff --git a/aws/apps/didymosxr/didymosxr-nginx.yaml b/aws/apps/didymosxr/didymosxr-nginx.yaml new file mode 100644 index 00000000..ea8bf6bc --- /dev/null +++ b/aws/apps/didymosxr/didymosxr-nginx.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: didymosxr-nginx + namespace: argocd +spec: + destination: + namespace: didymosxr + server: https://kubernetes.default.svc + project: default + source: + path: aws/didymosxr/nginx + repoURL: https://github.com/FIWARE-Ops/fiware-gitops + targetRevision: HEAD + syncPolicy: + automated: + prune: true + selfHeal: true \ No newline at end of file diff --git a/aws/apps/didymosxr/didymosxr-orion-ld.yaml b/aws/apps/didymosxr/didymosxr-orion-ld.yaml new file mode 100644 index 00000000..fea636a0 --- /dev/null +++ b/aws/apps/didymosxr/didymosxr-orion-ld.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: didymosxr-orion-ld + namespace: argocd +spec: + destination: + namespace: didymosxr + server: https://kubernetes.default.svc + project: default + source: + path: aws/didymosxr/orion-ld + repoURL: https://github.com/FIWARE-Ops/fiware-gitops + targetRevision: HEAD + syncPolicy: + automated: + prune: true + selfHeal: true \ No newline at end of file diff --git a/aws/didymosxr/mongodb/Chart.yaml b/aws/didymosxr/mongodb/Chart.yaml new file mode 100644 index 00000000..beae826e --- /dev/null +++ b/aws/didymosxr/mongodb/Chart.yaml @@ -0,0 +1,12 @@ +apiVersion: v2 +name: mongo-db-didymosxr +description: Chart holder for argo-cd + +type: application +version: 0.1.0 +appVersion: "4.4.12" + +dependencies: +- name: mongodb + version: 11.0.4 + repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami \ No newline at end of file diff --git a/aws/didymosxr/mongodb/values.yaml b/aws/didymosxr/mongodb/values.yaml new file mode 100644 index 00000000..cda7c4bb --- /dev/null +++ b/aws/didymosxr/mongodb/values.yaml @@ -0,0 +1,17 @@ +mongodb: + auth: + enabled: true + existingSecret: mongodb-secret + + architecture: standalone + podSecurityContext: + enabled: false + containerSecurityContext: + enabled: false + resources: + limits: + cpu: 200m + memory: 512Mi + persistence: + enabled: true + size: 8Gi diff --git a/aws/didymosxr/nginx/Chart.yaml b/aws/didymosxr/nginx/Chart.yaml new file mode 100644 index 00000000..f8752162 --- /dev/null +++ b/aws/didymosxr/nginx/Chart.yaml @@ -0,0 +1,12 @@ +apiVersion: v2 +name: nginx-didymosxr +description: Chart holder for argo-cd + +type: application +version: 0.1.0 +appVersion: "4.4.12" + +dependencies: +- name: nginx + version: 18.1.5 + repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami \ No newline at end of file diff --git a/aws/didymosxr/nginx/templates/_helpers.tpl b/aws/didymosxr/nginx/templates/_helpers.tpl new file mode 100644 index 00000000..843b2178 --- /dev/null +++ b/aws/didymosxr/nginx/templates/_helpers.tpl @@ -0,0 +1,51 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "nginx.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "nginx.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "nginx.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "nginx.labels" -}} +helm.sh/chart: {{ include "nginx.chart" . }} +{{ include "nginx.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "nginx.selectorLabels" -}} +app.kubernetes.io/name: {{ include "nginx.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} diff --git a/aws/didymosxr/nginx/templates/route.yaml b/aws/didymosxr/nginx/templates/route.yaml new file mode 100644 index 00000000..9f4f8a7d --- /dev/null +++ b/aws/didymosxr/nginx/templates/route.yaml @@ -0,0 +1,25 @@ +{{- if .Values.route.enabled -}} +{{- $fullName := include "nginx.fullname" . -}} +apiVersion: route.openshift.io/v1 +kind: Route +metadata: + name: {{ include "nginx.fullname" . }} + labels: + {{ include "nginx.labels" . | nindent 4 }} + annotations: + cert-utils-operator.redhat-cop.io/certs-from-secret: {{ include "nginx.fullname" . }}-tls-sec + {{- with .Values.route.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + host: {{ .Values.route.host }} + to: + kind: Service + name: {{ $fullName }} + {{- if .Values.route.tls }} + tls: + {{- with .Values.route.tls }} + {{- toYaml . | nindent 4 }} + {{- end }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/aws/didymosxr/nginx/values.yaml b/aws/didymosxr/nginx/values.yaml new file mode 100644 index 00000000..9501d9b7 --- /dev/null +++ b/aws/didymosxr/nginx/values.yaml @@ -0,0 +1,25 @@ +nginx: + route: + enabled: true + host: broker.didymosxr.fiware.dev + tls: + insecureEdgeTerminationPolicy: Redirect + termination: edge + certificate: + issuer: + kind: ClusterIssuer + name: letsencrypt-aws-prod + + serverBlock: |- + server { + listen 0.0.0.0:8080; + location /* { + return 200 "hello!"; + } + location /ngsi-ld/ { + limit_except GET { + deny all; + } + proxy_pass http://orion:1026/ngsi-ld/; + } + } diff --git a/aws/didymosxr/orion-ld/Chart.yaml b/aws/didymosxr/orion-ld/Chart.yaml new file mode 100644 index 00000000..99d63541 --- /dev/null +++ b/aws/didymosxr/orion-ld/Chart.yaml @@ -0,0 +1,12 @@ +apiVersion: v2 +name: orion-ld +description: Chart holder for argo-cd + +type: application +version: 0.1.0 +appVersion: "1.0.1" + +dependencies: +- name: orion + version: 1.1.0 + repository: https://fiware.github.io/helm-charts \ No newline at end of file diff --git a/aws/didymosxr/orion-ld/values.yaml b/aws/didymosxr/orion-ld/values.yaml new file mode 100644 index 00000000..8e0b881e --- /dev/null +++ b/aws/didymosxr/orion-ld/values.yaml @@ -0,0 +1,19 @@ +orion: + deployment: + additionalAnnotations: + prometheus.io/scrape: 'true' + prometheus.io/port: '8000' + broker: + db: + auth: + user: root + mech: "SCRAM-SHA-1" + hosts: + - didymosxr-mongodb + user: root + existingSecret: + name: mongodb-secret + key: mongodb-root-password + mongo: + # we want to use the individually deployed mongodb + enabled: false diff --git a/aws/namespaces/didymosxr.yaml b/aws/namespaces/didymosxr.yaml new file mode 100644 index 00000000..ee739375 --- /dev/null +++ b/aws/namespaces/didymosxr.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: didymosxr From 554b179dded8f8d842ef2661b46b3ff4ab77604e Mon Sep 17 00:00:00 2001 From: Tim Smyth Date: Fri, 19 Jul 2024 11:17:34 +0200 Subject: [PATCH 2/5] fix paths --- aws/didymosxr/nginx/values.yaml | 2 +- aws/didymosxr/orion-ld/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/aws/didymosxr/nginx/values.yaml b/aws/didymosxr/nginx/values.yaml index 9501d9b7..a314c173 100644 --- a/aws/didymosxr/nginx/values.yaml +++ b/aws/didymosxr/nginx/values.yaml @@ -20,6 +20,6 @@ nginx: limit_except GET { deny all; } - proxy_pass http://orion:1026/ngsi-ld/; + proxy_pass http://didymosxr-orion-ld:1026/ngsi-ld/; } } diff --git a/aws/didymosxr/orion-ld/values.yaml b/aws/didymosxr/orion-ld/values.yaml index 8e0b881e..7e0740f8 100644 --- a/aws/didymosxr/orion-ld/values.yaml +++ b/aws/didymosxr/orion-ld/values.yaml @@ -9,7 +9,7 @@ orion: user: root mech: "SCRAM-SHA-1" hosts: - - didymosxr-mongodb + - didymosxr-mongo-db-mongodb user: root existingSecret: name: mongodb-secret From 89d9a5953f69ac053078dd38dc85d141bc70bcd7 Mon Sep 17 00:00:00 2001 From: Tim Smyth Date: Fri, 19 Jul 2024 11:25:31 +0200 Subject: [PATCH 3/5] fix variable --- aws/didymosxr/nginx/templates/route.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/aws/didymosxr/nginx/templates/route.yaml b/aws/didymosxr/nginx/templates/route.yaml index 9f4f8a7d..7d07504a 100644 --- a/aws/didymosxr/nginx/templates/route.yaml +++ b/aws/didymosxr/nginx/templates/route.yaml @@ -1,4 +1,4 @@ -{{- if .Values.route.enabled -}} +{{- if .Values.nginx.route.enabled -}} {{- $fullName := include "nginx.fullname" . -}} apiVersion: route.openshift.io/v1 kind: Route @@ -8,17 +8,17 @@ metadata: {{ include "nginx.labels" . | nindent 4 }} annotations: cert-utils-operator.redhat-cop.io/certs-from-secret: {{ include "nginx.fullname" . }}-tls-sec - {{- with .Values.route.annotations }} + {{- with .Values.nginx.route.annotations }} {{- toYaml . | nindent 4 }} {{- end }} spec: - host: {{ .Values.route.host }} + host: {{ .Values.nginx.route.host }} to: kind: Service name: {{ $fullName }} - {{- if .Values.route.tls }} + {{- if .Values.nginx.route.tls }} tls: - {{- with .Values.route.tls }} + {{- with .Values.nginx.route.tls }} {{- toYaml . | nindent 4 }} {{- end }} {{- end }} From 9719fce2a8d6f673404be804e39b0325d429cb62 Mon Sep 17 00:00:00 2001 From: Tim Smyth Date: Fri, 19 Jul 2024 11:31:03 +0200 Subject: [PATCH 4/5] service type --- aws/didymosxr/nginx/values.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/aws/didymosxr/nginx/values.yaml b/aws/didymosxr/nginx/values.yaml index a314c173..09128cf9 100644 --- a/aws/didymosxr/nginx/values.yaml +++ b/aws/didymosxr/nginx/values.yaml @@ -1,4 +1,6 @@ nginx: + service: + type: ClusterIP route: enabled: true host: broker.didymosxr.fiware.dev From fb680815db6b8d6785859a112de0c7ab10cf934b Mon Sep 17 00:00:00 2001 From: Tim Smyth Date: Fri, 19 Jul 2024 11:56:53 +0200 Subject: [PATCH 5/5] nameoverride --- aws/didymosxr/nginx/templates/_helpers.tpl | 8 ++++---- aws/didymosxr/nginx/templates/route.yaml | 2 +- aws/didymosxr/nginx/values.yaml | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/aws/didymosxr/nginx/templates/_helpers.tpl b/aws/didymosxr/nginx/templates/_helpers.tpl index 843b2178..d254380a 100644 --- a/aws/didymosxr/nginx/templates/_helpers.tpl +++ b/aws/didymosxr/nginx/templates/_helpers.tpl @@ -2,7 +2,7 @@ Expand the name of the chart. */}} {{- define "nginx.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- default .Chart.Name .Values.nginx.nameOverride | trunc 63 | trimSuffix "-" }} {{- end }} {{/* @@ -11,10 +11,10 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this If release name contains chart name it will be used as a full name. */}} {{- define "nginx.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- if .Values.nginx.fullnameOverride }} +{{- .Values.nginx.fullnameOverride | trunc 63 | trimSuffix "-" }} {{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} +{{- $name := default .Chart.Name .Values.nginx.nameOverride }} {{- if contains $name .Release.Name }} {{- .Release.Name | trunc 63 | trimSuffix "-" }} {{- else }} diff --git a/aws/didymosxr/nginx/templates/route.yaml b/aws/didymosxr/nginx/templates/route.yaml index 7d07504a..96cbacbb 100644 --- a/aws/didymosxr/nginx/templates/route.yaml +++ b/aws/didymosxr/nginx/templates/route.yaml @@ -15,7 +15,7 @@ spec: host: {{ .Values.nginx.route.host }} to: kind: Service - name: {{ $fullName }} + name: {{ include "nginx.fullname" . }} {{- if .Values.nginx.route.tls }} tls: {{- with .Values.nginx.route.tls }} diff --git a/aws/didymosxr/nginx/values.yaml b/aws/didymosxr/nginx/values.yaml index 09128cf9..6763a764 100644 --- a/aws/didymosxr/nginx/values.yaml +++ b/aws/didymosxr/nginx/values.yaml @@ -1,4 +1,5 @@ nginx: + fullnameOverride: didymosxr-nginx service: type: ClusterIP route: