diff --git a/examples/cloud/dependency_charts/aas-discovery/Chart.yaml b/examples/cloud/dependency_charts/aas-discovery/Chart.yaml new file mode 100644 index 000000000..64f2ff865 --- /dev/null +++ b/examples/cloud/dependency_charts/aas-discovery/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v2 +description: A Helm chart for running the Basyx AAS Discovery (Basyx v2 - AAS v3) +name: aas-discovery +type: application +version: 0.0.1 \ No newline at end of file diff --git a/examples/cloud/dependency_charts/aas-discovery/templates/_helpers.tpl b/examples/cloud/dependency_charts/aas-discovery/templates/_helpers.tpl new file mode 100644 index 000000000..9dd6082f4 --- /dev/null +++ b/examples/cloud/dependency_charts/aas-discovery/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "aas-discovery.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 "aas-discovery.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 "aas-discovery.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "aas-discovery.labels" -}} +helm.sh/chart: {{ include "aas-discovery.chart" . }} +{{ include "aas-discovery.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "aas-discovery.selectorLabels" -}} +app.kubernetes.io/name: {{ include "aas-discovery.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "aas-discovery.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "aas-discovery.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-configmap.yaml b/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-configmap.yaml new file mode 100644 index 000000000..81c7031df --- /dev/null +++ b/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-configmap.yaml @@ -0,0 +1,11 @@ +{{- if .Values.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "aas-discovery.fullname" . }}-config + labels: + {{- include "aas-discovery.labels" . | nindent 4 }} +data: + application.properties: |- + {{ .Values.config | nindent 4 }} +{{ end -}} \ No newline at end of file diff --git a/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-deployment.yaml b/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-deployment.yaml new file mode 100644 index 000000000..7dc46cca7 --- /dev/null +++ b/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-deployment.yaml @@ -0,0 +1,42 @@ +{{- if .Values.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "aas-discovery.fullname" . }} + labels: + {{- include "aas-discovery.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "aas-discovery.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "aas-discovery.selectorLabels" . | nindent 8 }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: {{ .Values.image.name }} + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: {{ .Values.service.port }} + protocol: TCP + volumeMounts: + - mountPath: /workspace/config/application.properties + name: {{ template "aas-discovery.fullname" $ }}-config + subPath: application.properties + volumes: + - name: {{ template "aas-discovery.fullname" $ }}-config + configMap: + name: {{ template "aas-discovery.fullname" $ }}-config +{{ end -}} \ No newline at end of file diff --git a/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-ingress.yaml b/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-ingress.yaml new file mode 100644 index 000000000..384220602 --- /dev/null +++ b/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-ingress.yaml @@ -0,0 +1,28 @@ +{{- if and .Values.ingress.enabled .Values.enabled }} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + labels: + {{- include "aas-discovery.labels" . | nindent 4 }} + name: {{ include "aas-discovery.fullname" . }} + annotations: + kubernetes.io/ingress.class: nginx + cert-manager.io/cluster-issuer: letsencrypt +spec: + tls: + - hosts: + - {{ .Values.ingress.host }} + secretName: {{ include "aas-discovery.fullname" . }}-tls + rules: + - host: {{ .Values.ingress.host }} + http: + paths: + - path: / + # rewriteTarget: /$1 + pathType: Prefix + backend: + service: + name: {{ include "aas-discovery.fullname" . }} + port: + number: {{ .Values.service.port }} +{{ end -}} \ No newline at end of file diff --git a/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-service.yaml b/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-service.yaml new file mode 100644 index 000000000..5d9015634 --- /dev/null +++ b/examples/cloud/dependency_charts/aas-discovery/templates/aas-discovery-service.yaml @@ -0,0 +1,17 @@ +{{- if .Values.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "aas-discovery.fullname" . }} + labels: + {{- include "aas-discovery.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + {{- include "aas-discovery.selectorLabels" . | nindent 4 }} +{{ end -}} \ No newline at end of file diff --git a/examples/cloud/dependency_charts/aas-discovery/values.yaml b/examples/cloud/dependency_charts/aas-discovery/values.yaml new file mode 100644 index 000000000..3736eb6cb --- /dev/null +++ b/examples/cloud/dependency_charts/aas-discovery/values.yaml @@ -0,0 +1,38 @@ +imagePullSecrets: [] + +# Enabled by default +enabled: true + +image: + name: eclipsebasyx/aas-discovery:2.0.0-SNAPSHOT + pullPolicy: IfNotPresent + +resources: {} +podAnnotations: {} + +service: + type: ClusterIP + port: 8080 + +ingress: + enabled: false + host: aas-discovery.local + +# Content of application.properties +config: | + server.port=8080 + spring.application.name=AAS Discovery Service + + basyx.aasdiscoveryservice.name=aas-discovery-service + + basyx.backend=MongoDB + spring.data.mongodb.host=mongo + spring.data.mongodb.database=aas-discovery + spring.data.mongodb.authentication-database=admin + spring.data.mongodb.username=mongoAdmin + spring.data.mongodb.password=mongoPassword + + basyx.cors.allowed-origins=* + basyx.cors.allowed-methods=GET,POST,PATCH,DELETE,PUT,OPTIONS,HEAD + +