diff --git a/SecretProvider.yaml b/SecretProvider.yaml new file mode 100644 index 00000000..0f52e177 --- /dev/null +++ b/SecretProvider.yaml @@ -0,0 +1,35 @@ +apiVersion: secrets-store.csi.x-k8s.io/v1alpha1 +kind: SecretProviderClass +metadata: + name: azure-kvname + namespace: api +spec: + provider: azure + parameters: + usePodIdentity: "false" + useVMManagedIdentity: "true" + userAssignedIdentityID: "4293cc82-3323-41cb-bf31-9f4c7372238a" + keyvaultName: "aks2-kv" + objects: | + array: + - | + objectName: SQL-DBNAME + objectAlias: SQL_DBNAME + objectType: secret + objectVersion: "" + - | + objectName: SQL-FQDN + objectAlias: SQL_SERVER + objectType: secret + objectVersion: "" + - | + objectName: SQL-PASSWORD + objectAlias: SQL_PASSWORD + objectType: secret + objectVersion: "" + - | + objectName: SQL-USER + objectAlias: SQL_USER + objectType: secret + objectVersion: "" + tenantId: "TENANT" diff --git a/exampledeployment.yaml b/exampledeployment.yaml new file mode 100644 index 00000000..ef8dd36e --- /dev/null +++ b/exampledeployment.yaml @@ -0,0 +1,38 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: user-java + name: user-java + namespace: openhack +spec: + replicas: 2 + selector: + matchLabels: + app: user-java + template: + metadata: + labels: + app: user-java + spec: + containers: + - image: registryrfq6839.azurecr.io/user-java:v1.0 + imagePullPolicy: Always + name: user-java + ports: + - containerPort: 80 + env: + - name: SQL_SERVER + value: "sqlserverrfq6839.database.windows.net" + - name: SQL_DBNAME + value: "mydrivingDB" + - name: SQL_USER + valueFrom: + secretKeyRef: + name: sqlauth + key: username + - name: SQL_PASSWORD + valueFrom: + secretKeyRef: + name: sqlauth + key: password diff --git a/ingress-api.yml b/ingress-api.yml new file mode 100644 index 00000000..f6e973bd --- /dev/null +++ b/ingress-api.yml @@ -0,0 +1,41 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: nginx-ingress + namespace: api + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" +spec: + rules: + - http: + paths: + - path: /api/poi(/|$)(.*) + pathType: Prefix + backend: + service: + name: poi + port: + number: 80 + - path: /api/trips(/|$)(.*) + pathType: Prefix + backend: + service: + name: trips + port: + number: 80 + - path: /api/user(/|$)(.*) + pathType: Prefix + backend: + service: + name: userprofile + port: + number: 80 + - path: /api/user-java(/|$)(.*) + pathType: Prefix + backend: + service: + name: user-java + port: + number: 80 diff --git a/ingress-web.yml b/ingress-web.yml new file mode 100644 index 00000000..3ec949d1 --- /dev/null +++ b/ingress-web.yml @@ -0,0 +1,21 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: web-ingress + namespace: web + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$1 +spec: + rules: + - http: + paths: + - path: /(.*) + pathType: Prefix + backend: + service: + name: tripviewer + port: + number: 80 diff --git a/src/insurance.yaml b/src/insurance.yaml new file mode 100644 index 00000000..596ddaf7 --- /dev/null +++ b/src/insurance.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: insurance-deployment + labels: + deploy: insurance +spec: + replicas: 1 + selector: + matchLabels: + app: insurance + template: + metadata: + labels: + app: insurance + spec: + containers: + - image: "registryrfq6839.azurecr.io/insurance:1.0" + resources: + requests: + memory: "512Mi" + cpu: "100m" + limits: + memory: "6.5Gi" + cpu: "1800m" + imagePullPolicy: Always + name: insurance + ports: + - containerPort: 8081 + name: http + protocol: TCP +--- +apiVersion: v1 +kind: Service +metadata: + name: insurance +spec: + type: ClusterIP + selector: + app: insurance + ports: + - protocol: TCP + name: insurance-http + port: 80 + targetPort: 8081 diff --git a/src/poi/deployment.yaml b/src/poi/deployment.yaml new file mode 100644 index 00000000..fe389f8a --- /dev/null +++ b/src/poi/deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: poi + name: poi + namespace: api +spec: + replicas: 2 + selector: + matchLabels: + app: poi + template: + metadata: + labels: + app: poi + spec: + containers: + - image: registryrfq6839.azurecr.io/poi:v1.0 + imagePullPolicy: Always + name: poi + ports: + - containerPort: 80 + volumeMounts: + - name: secrets-store-inline + mountPath: "/secrets" + readOnly: true + volumes: + - name: secrets-store-inline + csi: + driver: secrets-store.csi.k8s.io + readOnly: true + volumeAttributes: + secretProviderClass: "azure-kvname" diff --git a/src/poi/service.yaml b/src/poi/service.yaml new file mode 100644 index 00000000..908ecb57 --- /dev/null +++ b/src/poi/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: poi + namespace: api +spec: + ports: + - port: 80 + selector: + app: poi diff --git a/src/trips/deployment.yaml b/src/trips/deployment.yaml new file mode 100644 index 00000000..99c317ca --- /dev/null +++ b/src/trips/deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: trips + name: trips + namespace: api +spec: + replicas: 2 + selector: + matchLabels: + app: trips + template: + metadata: + labels: + app: trips + spec: + containers: + - image: registryrfq6839.azurecr.io/trips:chris + imagePullPolicy: Always + name: trips + ports: + - containerPort: 80 + volumeMounts: + - name: secrets-store-inline + mountPath: "/secrets" + readOnly: true + volumes: + - name: secrets-store-inline + csi: + driver: secrets-store.csi.k8s.io + readOnly: true + volumeAttributes: + secretProviderClass: "azure-kvname" diff --git a/src/trips/service.yaml b/src/trips/service.yaml new file mode 100644 index 00000000..7768849c --- /dev/null +++ b/src/trips/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: trips + namespace: api +spec: + ports: + - port: 80 + selector: + app: trips diff --git a/src/tripviewer/deployment.yaml b/src/tripviewer/deployment.yaml new file mode 100644 index 00000000..be4af2cb --- /dev/null +++ b/src/tripviewer/deployment.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tripviewer-deployment + labels: + app: tripviewer + namespace: web +spec: + replicas: 2 + selector: + matchLabels: + app: tripviewer + template: + metadata: + labels: + app: tripviewer + spec: + containers: + - image: registryrfq6839.azurecr.io/tripviewer:v1.0 + imagePullPolicy: Always + name: tripviewer + ports: + - containerPort: 80 + env: + - name: TRIPS_API_ENDPOINT + value: "http://trips.api" + - name: USERPROFILE_API_ENDPOINT + value: "http://userprofile.api" + - name: ASPNETCORE_ENVIRONMENT + value: "Development" + + + diff --git a/src/tripviewer/service.yaml b/src/tripviewer/service.yaml new file mode 100644 index 00000000..23ec815b --- /dev/null +++ b/src/tripviewer/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: tripviewer + namespace: web +spec: + ports: + - port: 80 + selector: + app: tripviewer diff --git a/src/user-java/deployment.yaml b/src/user-java/deployment.yaml new file mode 100644 index 00000000..b02f8e60 --- /dev/null +++ b/src/user-java/deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: user-java + name: user-java + namespace: api +spec: + replicas: 2 + selector: + matchLabels: + app: user-java + template: + metadata: + labels: + app: user-java + spec: + containers: + - image: registryrfq6839.azurecr.io/user-java:v1.0 + imagePullPolicy: Always + name: user-java + ports: + - containerPort: 80 + volumeMounts: + - name: secrets-store-inline + mountPath: "/secrets" + readOnly: true + volumes: + - name: secrets-store-inline + csi: + driver: secrets-store.csi.k8s.io + readOnly: true + volumeAttributes: + secretProviderClass: "azure-kvname" diff --git a/src/user-java/service.yaml b/src/user-java/service.yaml new file mode 100644 index 00000000..8da17dbb --- /dev/null +++ b/src/user-java/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: user-java + namespace: api +spec: + ports: + - port: 80 + selector: + app: user-java diff --git a/src/userprofile/deployment.yaml b/src/userprofile/deployment.yaml new file mode 100644 index 00000000..2b6baad5 --- /dev/null +++ b/src/userprofile/deployment.yaml @@ -0,0 +1,37 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: userprofile + name: userprofile + namespace: api +spec: + replicas: 2 + selector: + matchLabels: + app: userprofile + template: + metadata: + labels: + app: userprofile + spec: + containers: + - image: registryrfq6839.azurecr.io/userprofile:v1.0 + imagePullPolicy: Always + name: userprofile + ports: + - containerPort: 80 + volumeMounts: + - name: secrets-store-inline + mountPath: "/secrets" + readOnly: true + volumes: + - name: secrets-store-inline + csi: + driver: secrets-store.csi.k8s.io + readOnly: true + volumeAttributes: + secretProviderClass: "azure-kvname" + + + diff --git a/src/userprofile/service.yaml b/src/userprofile/service.yaml new file mode 100644 index 00000000..96741c39 --- /dev/null +++ b/src/userprofile/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: userprofile + namespace: api +spec: + ports: + - port: 80 + selector: + app: userprofile