From 8694e4e0e04a57708636c8526cac67cab4488851 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Thu, 19 Jun 2025 05:07:52 +0000 Subject: [PATCH] Initial manifest files for smarketing services --- smarketing/common/common-config.yaml | 22 +++++ smarketing/common/ingress.yaml | 41 ++++++++++ .../ai-recommend/ai-recommend-deployment.yaml | 80 ++++++++++++++++++ .../marketing-content-deployment.yaml | 80 ++++++++++++++++++ .../deployments/member/member-deployment.yaml | 82 +++++++++++++++++++ .../deployments/store/store-deployment.yaml | 80 ++++++++++++++++++ 6 files changed, 385 insertions(+) create mode 100644 smarketing/common/common-config.yaml create mode 100644 smarketing/common/ingress.yaml create mode 100644 smarketing/deployments/ai-recommend/ai-recommend-deployment.yaml create mode 100644 smarketing/deployments/marketing-content/marketing-content-deployment.yaml create mode 100644 smarketing/deployments/member/member-deployment.yaml create mode 100644 smarketing/deployments/store/store-deployment.yaml diff --git a/smarketing/common/common-config.yaml b/smarketing/common/common-config.yaml new file mode 100644 index 0000000..7e9aaca --- /dev/null +++ b/smarketing/common/common-config.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: common-config + namespace: smarketing +data: + ALLOWED_ORIGINS: "http://20.249.154.194" + JPA_DDL_AUTO: "update" + JPA_SHOW_SQL: "true" + MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: "*" + MANAGEMENT_ENDPOINT_HEALTH_SHOW_DETAILS: "always" + MANAGEMENT_ENDPOINT_HEALTH_ENABLED: "true" + MANAGEMENT_ENDPOINTS_WEB_BASE_PATH: "/actuator" +--- +apiVersion: v1 +kind: Secret +metadata: + name: common-secret + namespace: smarketing +stringData: + JWT_SECRET_KEY: "8O2HQ13etL2BWZvYOiWsJ5uWFoLi6NBUG8divYVoCgtHVvlk3dqRksMl16toztDUeBTSIuOOPvHIrYq11G2BwQ" +type: Opaque diff --git a/smarketing/common/ingress.yaml b/smarketing/common/ingress.yaml new file mode 100644 index 0000000..077bb08 --- /dev/null +++ b/smarketing/common/ingress.yaml @@ -0,0 +1,41 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: smarketing-ingress + namespace: smarketing + annotations: + kubernetes.io/ingress.class: nginx +spec: + ingressClassName: nginx + rules: + - host: smarketing.20.249.184.228.nip.io + http: + paths: + - path: /api/auth + pathType: Prefix + backend: + service: + name: member + port: + number: 80 + - path: /api/store + pathType: Prefix + backend: + service: + name: store + port: + number: 80 + - path: /api/content + pathType: Prefix + backend: + service: + name: marketing-content + port: + number: 80 + - path: /api/recommend + pathType: Prefix + backend: + service: + name: ai-recommend + port: + number: 80 diff --git a/smarketing/deployments/ai-recommend/ai-recommend-deployment.yaml b/smarketing/deployments/ai-recommend/ai-recommend-deployment.yaml new file mode 100644 index 0000000..d63a0ed --- /dev/null +++ b/smarketing/deployments/ai-recommend/ai-recommend-deployment.yaml @@ -0,0 +1,80 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: ai-recommend-config + namespace: smarketing +data: + SERVER_PORT: "8084" + POSTGRES_HOST: "psql-digitalgarage-02.postgres.database.azure.com" + POSTGRES_PORT: "5432" + POSTGRES_DB: "AiRecommendationDB" + REDIS_HOST: "redis-digitalgarage-02.redis.cache.windows.net" + REDIS_PORT: "6380" + JPA_DDL_AUTO: "create-drop" + JPA_SHOW_SQL: "true" +--- +apiVersion: v1 +kind: Secret +metadata: + name: ai-recommend-secret + namespace: smarketing +stringData: + POSTGRES_USER: "pgadmin" + POSTGRES_PASSWORD: "DG_Won!" + REDIS_PASSWORD: "bOpPbvYhUF8toxgHDfOJlG62HTtgX2AwxAzCaDajg2w=" +type: Opaque +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ai-recommend + namespace: smarketing + labels: + app: ai-recommend +spec: + replicas: 1 + selector: + matchLabels: + app: ai-recommend + template: + metadata: + labels: + app: ai-recommend + spec: + imagePullSecrets: + - name: acr-secret + containers: + - name: ai-recommend + image: acrdigitalgarage02.azurecr.io/smarketing/ai-recommend:latest + imagePullPolicy: Always + ports: + - containerPort: 8084 + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + envFrom: + - configMapRef: + name: common-config + - configMapRef: + name: ai-recommend-config + - secretRef: + name: common-secret + - secretRef: + name: ai-recommend-secret +--- +apiVersion: v1 +kind: Service +metadata: + name: ai-recommend + namespace: smarketing +spec: + selector: + app: ai-recommend + ports: + - port: 80 + targetPort: 8084 + type: ClusterIP diff --git a/smarketing/deployments/marketing-content/marketing-content-deployment.yaml b/smarketing/deployments/marketing-content/marketing-content-deployment.yaml new file mode 100644 index 0000000..d5e1748 --- /dev/null +++ b/smarketing/deployments/marketing-content/marketing-content-deployment.yaml @@ -0,0 +1,80 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: marketing-content-config + namespace: smarketing +data: + SERVER_PORT: "8083" + POSTGRES_HOST: "psql-digitalgarage-02.postgres.database.azure.com" + POSTGRES_PORT: "5432" + POSTGRES_DB: "MarketingContentDB" + REDIS_HOST: "redis-digitalgarage-02.redis.cache.windows.net" + REDIS_PORT: "6380" + JPA_DDL_AUTO: "create-drop" + JPA_SHOW_SQL: "true" +--- +apiVersion: v1 +kind: Secret +metadata: + name: marketing-content-secret + namespace: smarketing +stringData: + POSTGRES_USER: "pgadmin" + POSTGRES_PASSWORD: "DG_Won!" + REDIS_PASSWORD: "bOpPbvYhUF8toxgHDfOJlG62HTtgX2AwxAzCaDajg2w=" +type: Opaque +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: marketing-content + namespace: smarketing + labels: + app: marketing-content +spec: + replicas: 1 + selector: + matchLabels: + app: marketing-content + template: + metadata: + labels: + app: marketing-content + spec: + imagePullSecrets: + - name: acr-secret + containers: + - name: marketing-content + image: acrdigitalgarage02.azurecr.io/smarketing/marketing-content:latest + imagePullPolicy: Always + ports: + - containerPort: 8083 + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + envFrom: + - configMapRef: + name: common-config + - configMapRef: + name: marketing-content-config + - secretRef: + name: common-secret + - secretRef: + name: marketing-content-secret +--- +apiVersion: v1 +kind: Service +metadata: + name: marketing-content + namespace: smarketing +spec: + selector: + app: marketing-content + ports: + - port: 80 + targetPort: 8083 + type: ClusterIP diff --git a/smarketing/deployments/member/member-deployment.yaml b/smarketing/deployments/member/member-deployment.yaml new file mode 100644 index 0000000..b2266db --- /dev/null +++ b/smarketing/deployments/member/member-deployment.yaml @@ -0,0 +1,82 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: member-config + namespace: smarketing +data: + SERVER_PORT: "8081" + POSTGRES_HOST: "psql-digitalgarage-02.postgres.database.azure.com" + POSTGRES_PORT: "5432" + POSTGRES_DB: "MemberDB" + REDIS_HOST: "redis-digitalgarage-02.redis.cache.windows.net" + REDIS_PORT: "6380" + JPA_DDL_AUTO: "create-drop" + JPA_SHOW_SQL: "true" +--- +apiVersion: v1 +kind: Secret +metadata: + name: member-secret + namespace: smarketing +stringData: + JWT_ACCESS_TOKEN_VALIDITY: "3600000" + JWT_REFRESH_TOKEN_VALIDITY: "86400000" + POSTGRES_USER: "pgadmin" + POSTGRES_PASSWORD: "DG_Won!" + REDIS_PASSWORD: "bOpPbvYhUF8toxgHDfOJlG62HTtgX2AwxAzCaDajg2w=" +type: Opaque +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: member + namespace: smarketing + labels: + app: member +spec: + replicas: 1 + selector: + matchLabels: + app: member + template: + metadata: + labels: + app: member + spec: + imagePullSecrets: + - name: acr-secret + containers: + - name: member + image: acrdigitalgarage02.azurecr.io/smarketing/member:latest + imagePullPolicy: Always + ports: + - containerPort: 8081 + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + envFrom: + - configMapRef: + name: common-config + - configMapRef: + name: member-config + - secretRef: + name: common-secret + - secretRef: + name: member-secret +--- +apiVersion: v1 +kind: Service +metadata: + name: member + namespace: smarketing +spec: + selector: + app: member + ports: + - port: 80 + targetPort: 8081 + type: ClusterIP diff --git a/smarketing/deployments/store/store-deployment.yaml b/smarketing/deployments/store/store-deployment.yaml new file mode 100644 index 0000000..61a41da --- /dev/null +++ b/smarketing/deployments/store/store-deployment.yaml @@ -0,0 +1,80 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: store-config + namespace: smarketing +data: + SERVER_PORT: "8082" + POSTGRES_HOST: "psql-digitalgarage-02.postgres.database.azure.com" + POSTGRES_PORT: "5432" + POSTGRES_DB: "StoreDB" + REDIS_HOST: "redis-digitalgarage-02.redis.cache.windows.net" + REDIS_PORT: "6380" + JPA_DDL_AUTO: "create-drop" + JPA_SHOW_SQL: "true" +--- +apiVersion: v1 +kind: Secret +metadata: + name: store-secret + namespace: smarketing +stringData: + POSTGRES_USER: "pgadmin" + POSTGRES_PASSWORD: "DG_Won!" + REDIS_PASSWORD: "bOpPbvYhUF8toxgHDfOJlG62HTtgX2AwxAzCaDajg2w=" +type: Opaque +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: store + namespace: smarketing + labels: + app: store +spec: + replicas: 1 + selector: + matchLabels: + app: store + template: + metadata: + labels: + app: store + spec: + imagePullSecrets: + - name: acr-secret + containers: + - name: store + image: acrdigitalgarage02.azurecr.io/smarketing/store:latest + imagePullPolicy: Always + ports: + - containerPort: 8082 + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + envFrom: + - configMapRef: + name: common-config + - configMapRef: + name: store-config + - secretRef: + name: common-secret + - secretRef: + name: store-secret +--- +apiVersion: v1 +kind: Service +metadata: + name: store + namespace: smarketing +spec: + selector: + app: store + ports: + - port: 80 + targetPort: 8082 + type: ClusterIP