diff --git a/charts/umbrella/Chart.yaml b/charts/umbrella/Chart.yaml index 1d56a85..312a118 100644 --- a/charts/umbrella/Chart.yaml +++ b/charts/umbrella/Chart.yaml @@ -28,7 +28,7 @@ sources: - https://github.com/eclipse-tractusx/tractus-x-umbrella type: application -version: 2.1.0 +version: 2.2.0 # when adding or updating versions of dependencies, also update list under /docs/user/installation/README.md dependencies: diff --git a/charts/umbrella/smtp/smtp-deployment.yaml b/charts/umbrella/smtp/smtp-deployment.yaml new file mode 100644 index 0000000..788cc9c --- /dev/null +++ b/charts/umbrella/smtp/smtp-deployment.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: smtp4dev + labels: + app: smtp4dev +spec: + replicas: 1 + selector: + matchLabels: + app: smtp4dev + template: + metadata: + labels: + app: smtp4dev + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/os + operator: In + values: + - linux + containers: + - name: smtp4dev + image: rnwood/smtp4dev:3.6.1 + resources: + limits: + memory: "512Mi" + cpu: "500m" + ports: + - containerPort: 80 + - containerPort: 25 + \ No newline at end of file diff --git a/charts/umbrella/smtp/smtp-ingress.yaml b/charts/umbrella/smtp/smtp-ingress.yaml new file mode 100644 index 0000000..420b490 --- /dev/null +++ b/charts/umbrella/smtp/smtp-ingress.yaml @@ -0,0 +1,18 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: smtp4dev-ingress + labels: + name: smtp4dev-ingress +spec: + rules: + - host: smtp.tx.test + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: smtp4dev + port: + number: 80 diff --git a/charts/umbrella/smtp/smtp-service.yaml b/charts/umbrella/smtp/smtp-service.yaml new file mode 100644 index 0000000..9559f3b --- /dev/null +++ b/charts/umbrella/smtp/smtp-service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: smtp4dev +spec: + selector: + app: smtp4dev + ports: + - name: smtp + protocol: TCP + port: 25 + targetPort: 25 + - name: http + protocol: TCP + port: 80 + targetPort: 80 diff --git a/charts/umbrella/templates/smtp-deployment.yaml b/charts/umbrella/templates/smtp-deployment.yaml new file mode 100644 index 0000000..425c0c1 --- /dev/null +++ b/charts/umbrella/templates/smtp-deployment.yaml @@ -0,0 +1,38 @@ +{{ if index .Values "smtp4dev" "enabled" }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: smtp4dev + namespace: {{ .Release.Namespace }} + labels: + app: smtp4dev +spec: + replicas: 1 + selector: + matchLabels: + app: smtp4dev + template: + metadata: + labels: + app: smtp4dev + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/os + operator: In + values: + - linux + containers: + - name: smtp4dev + image: rnwood/smtp4dev:3.6.1 + resources: + limits: + memory: "512Mi" + cpu: "500m" + ports: + - containerPort: {{ .Values.smtp4dev.ports.http }} + - containerPort: {{ .Values.smtp4dev.ports.smtp }} +{{ end }} diff --git a/charts/umbrella/templates/smtp-ingress.yaml b/charts/umbrella/templates/smtp-ingress.yaml new file mode 100644 index 0000000..cbf2394 --- /dev/null +++ b/charts/umbrella/templates/smtp-ingress.yaml @@ -0,0 +1,20 @@ +{{ if index .Values "smtp4dev" "enabled" }} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: smtp4dev-ingress + labels: + name: smtp4dev-ingress +spec: + rules: + - host: {{ .Values.smtp4dev.ingress.url }} + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: smtp4dev + port: + number: {{ .Values.smtp4dev.ports.http }} +{{ end }} diff --git a/charts/umbrella/templates/smtp-service.yaml b/charts/umbrella/templates/smtp-service.yaml new file mode 100644 index 0000000..f2e366a --- /dev/null +++ b/charts/umbrella/templates/smtp-service.yaml @@ -0,0 +1,18 @@ +{{ if index .Values "smtp4dev" "enabled" }} +apiVersion: v1 +kind: Service +metadata: + name: smtp4dev +spec: + selector: + app: smtp4dev + ports: + - name: smtp + protocol: TCP + port: {{ .Values.smtp4dev.ports.smtp }} + targetPort: 25 + - name: http + protocol: TCP + port: {{ .Values.smtp4dev.ports.http }} + targetPort: 80 +{{ end }} diff --git a/charts/umbrella/values-adopter-portal.yaml b/charts/umbrella/values-adopter-portal.yaml index dbbfccc..18b82f6 100644 --- a/charts/umbrella/values-adopter-portal.yaml +++ b/charts/umbrella/values-adopter-portal.yaml @@ -20,6 +20,15 @@ portal: enabled: true + # -- uncomment the following for SMTP mail mock + # backend: + # mailing: + # host: "smtp4dev" + # port: "25" + # user: "portal-user" + # senderEmail: "portal-admin@tx.test" + # password: "portal-password" + # -- uncomment the following for persistance # postgresql: # primary: @@ -76,3 +85,7 @@ ssi-credential-issuer: # Set 'enabled' to true if onboarding is required ssi-dim-wallet-stub: enabled: false + +# Set 'enabled' to true if onboarding is required +smtp4dev: + enabled: false diff --git a/charts/umbrella/values.yaml b/charts/umbrella/values.yaml index 012152b..098a49a 100644 --- a/charts/umbrella/values.yaml +++ b/charts/umbrella/values.yaml @@ -1509,3 +1509,11 @@ ssi-dim-wallet-stub: port: 8080 keycloak: enabled: false + +smtp4dev: + enabled: false + ingress: + url: smtp.tx.test + ports: + smtp: 25 + http: 80 diff --git a/docs/user/network/README.md b/docs/user/network/README.md index c0d039b..bb8f8d0 100644 --- a/docs/user/network/README.md +++ b/docs/user/network/README.md @@ -242,12 +242,26 @@ If DNS resolution does not work, update the `/etc/hosts` (Linux/macOS) or `C:\Wi business-partners.tx.test pgadmin4.tx.test ssi-dim-wallet-stub.tx.test + smtp.tx.test ``` Replace `` with the output of the following command: ```bash minikube ip ``` +## Configure the SMTP server + +Once we have the cluster deployed, before launching the data space, it is first necessary to launch the local SMTP server. + +### Apply the files to your kubernetes cluster + +```shell +kubectl apply -f ./charts/umbrella/smtp/smtp-deployment.yaml -n umbrella +kubectl apply -f ./charts/umbrella/smtp/smtp-service.yaml -n umbrella +kubectl apply -f ./charts/umbrella/smtp/smtp-ingress.yaml -n umbrella +``` + +You can now access your SMTP server using this hostname: [smtp.tx.test](http://smtp.tx.test) ## Verify Network Setup