From ac5a7c86e24641b6742efe5f38ea0f0ebcf3617c Mon Sep 17 00:00:00 2001 From: Govind Kamtamneni Date: Thu, 20 Jun 2024 07:43:06 -0700 Subject: [PATCH] fix order-service --- .../src/main/resources/application-dev.yaml | 50 +++++++++++ .../src/main/resources/application-prod.yaml | 50 +++++++++++ .../src/main/resources/application.yaml | 18 +--- .../resources/config/order-service-dev.yaml | 2 +- config-server/order-service-dev.yaml | 2 +- config-server/order-service-prod.yaml | 2 +- docs/initial-setup.md | 2 +- .../src/main/resources/application.yaml | 2 +- .../src/main/resources/application-dev.yaml | 58 +++++++++++++ .../src/main/resources/application-prod.yaml | 58 +++++++++++++ .../src/main/resources/application.yaml | 18 +--- .../src/main/resources/application-dev.yaml | 87 +++++++++++++++++++ .../src/main/resources/application-prod.yaml | 87 +++++++++++++++++++ .../src/main/resources/application.yaml | 18 +--- order-service/pom.xml | 22 +++-- .../src/main/resources/application-dev.yaml | 67 ++++++++++++++ .../src/main/resources/application-prod.yaml | 57 ++++++++++++ .../src/main/resources/application.yaml | 19 +--- .../src/main/resources/application-dev.yaml | 63 ++++++++++++++ .../src/main/resources/application-prod.yaml | 63 ++++++++++++++ .../src/main/resources/application.yaml | 18 +--- scripts/walk-the-dog.sh | 4 +- .../src/main/resources/application-dev.yaml | 48 ++++++++++ .../src/main/resources/application-prod.yaml | 48 ++++++++++ .../src/main/resources/application.yaml | 18 +--- .../src/main/resources/application-dev.yaml | 34 ++++++++ .../src/main/resources/application-prod.yaml | 34 ++++++++ .../src/main/resources/application.yaml | 18 +--- 28 files changed, 835 insertions(+), 132 deletions(-) create mode 100644 accounting-service/src/main/resources/application-dev.yaml create mode 100644 accounting-service/src/main/resources/application-prod.yaml create mode 100644 loyalty-service/src/main/resources/application-dev.yaml create mode 100644 loyalty-service/src/main/resources/application-prod.yaml create mode 100644 makeline-service/src/main/resources/application-dev.yaml create mode 100644 makeline-service/src/main/resources/application-prod.yaml create mode 100644 order-service/src/main/resources/application-dev.yaml create mode 100644 order-service/src/main/resources/application-prod.yaml create mode 100644 receipt-generation-service/src/main/resources/application-dev.yaml create mode 100644 receipt-generation-service/src/main/resources/application-prod.yaml create mode 100644 virtual-customers/src/main/resources/application-dev.yaml create mode 100644 virtual-customers/src/main/resources/application-prod.yaml create mode 100644 virtual-worker/src/main/resources/application-dev.yaml create mode 100644 virtual-worker/src/main/resources/application-prod.yaml diff --git a/accounting-service/src/main/resources/application-dev.yaml b/accounting-service/src/main/resources/application-dev.yaml new file mode 100644 index 0000000..d14def6 --- /dev/null +++ b/accounting-service/src/main/resources/application-dev.yaml @@ -0,0 +1,50 @@ +spring: + application: + name: accounting-service + kafka: + producer: + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + properties: + spring: + json: + type: + mapping: ordersummary:com.microsoft.gbb.reddog.accountingservice.dto.OrderSummaryDto + sasl: + mechanism: ${KAFKASASLMECHANISM:PLAIN} + jaas: + config: ${KAFKASASLJAASCONFIG} + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + config: + import: optional:classpath:.env[.properties] + banner: + location: static/banner.txt +cosmos: + queryMetricsEnabled: 'true' + key: ${AZURECOSMOSDBKEY} + secondaryKey: ${AZURECOSMOSDBSECONDARYKEY} + databaseName: ${AZURECOSMOSDBDATABASENAME} + uri: ${AZURECOSMOSDBURI} +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +server: + port: '8707' +topic: + name: + producer: ${KAFKATOPICNAME:reddog.orders} +logging: + level: + org: + hibernate: + stat: DEBUG + SQL: DEBUG +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true \ No newline at end of file diff --git a/accounting-service/src/main/resources/application-prod.yaml b/accounting-service/src/main/resources/application-prod.yaml new file mode 100644 index 0000000..d14def6 --- /dev/null +++ b/accounting-service/src/main/resources/application-prod.yaml @@ -0,0 +1,50 @@ +spring: + application: + name: accounting-service + kafka: + producer: + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + properties: + spring: + json: + type: + mapping: ordersummary:com.microsoft.gbb.reddog.accountingservice.dto.OrderSummaryDto + sasl: + mechanism: ${KAFKASASLMECHANISM:PLAIN} + jaas: + config: ${KAFKASASLJAASCONFIG} + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + config: + import: optional:classpath:.env[.properties] + banner: + location: static/banner.txt +cosmos: + queryMetricsEnabled: 'true' + key: ${AZURECOSMOSDBKEY} + secondaryKey: ${AZURECOSMOSDBSECONDARYKEY} + databaseName: ${AZURECOSMOSDBDATABASENAME} + uri: ${AZURECOSMOSDBURI} +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +server: + port: '8707' +topic: + name: + producer: ${KAFKATOPICNAME:reddog.orders} +logging: + level: + org: + hibernate: + stat: DEBUG + SQL: DEBUG +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true \ No newline at end of file diff --git a/accounting-service/src/main/resources/application.yaml b/accounting-service/src/main/resources/application.yaml index f815877..caf4dfc 100755 --- a/accounting-service/src/main/resources/application.yaml +++ b/accounting-service/src/main/resources/application.yaml @@ -1,19 +1,3 @@ spring: profiles: - active: dev, key-vault - application: - name: accounting-service - config: - import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} ---- -spring: - config: - activate: - on-profile: key-vault - cloud: - azure: - keyvault: - secret: - property-sources: - - name: key-vault-property-source - endpoint: ${AZURE_KEY_VAULT_ENDPOINT} + active: dev \ No newline at end of file diff --git a/ancillary/local-config-service/src/main/resources/config/order-service-dev.yaml b/ancillary/local-config-service/src/main/resources/config/order-service-dev.yaml index 47fbcd3..09a79df 100644 --- a/ancillary/local-config-service/src/main/resources/config/order-service-dev.yaml +++ b/ancillary/local-config-service/src/main/resources/config/order-service-dev.yaml @@ -27,7 +27,7 @@ spring: jms: servicebus: connection-string: ${SERVICEBUSCONNECTIONSTRING} - pricing-tier: ${SERVICEBUSPRICINGTIER:Basic} + pricing-tier: ${SERVICEBUSPRICINGTIER:standard} datasource: driverClassName: com.mysql.cj.jdbc.Driver password: ${MYSQLPASSWORD} diff --git a/config-server/order-service-dev.yaml b/config-server/order-service-dev.yaml index 47fbcd3..09a79df 100644 --- a/config-server/order-service-dev.yaml +++ b/config-server/order-service-dev.yaml @@ -27,7 +27,7 @@ spring: jms: servicebus: connection-string: ${SERVICEBUSCONNECTIONSTRING} - pricing-tier: ${SERVICEBUSPRICINGTIER:Basic} + pricing-tier: ${SERVICEBUSPRICINGTIER:standard} datasource: driverClassName: com.mysql.cj.jdbc.Driver password: ${MYSQLPASSWORD} diff --git a/config-server/order-service-prod.yaml b/config-server/order-service-prod.yaml index 47fbcd3..09a79df 100644 --- a/config-server/order-service-prod.yaml +++ b/config-server/order-service-prod.yaml @@ -27,7 +27,7 @@ spring: jms: servicebus: connection-string: ${SERVICEBUSCONNECTIONSTRING} - pricing-tier: ${SERVICEBUSPRICINGTIER:Basic} + pricing-tier: ${SERVICEBUSPRICINGTIER:standard} datasource: driverClassName: com.mysql.cj.jdbc.Driver password: ${MYSQLPASSWORD} diff --git a/docs/initial-setup.md b/docs/initial-setup.md index a11dd49..ae9b2a5 100755 --- a/docs/initial-setup.md +++ b/docs/initial-setup.md @@ -162,7 +162,7 @@ Follow the steps below to deploy Red Dog to your Azure Spring Apps instance depl --memory 2Gi \ --instance-count 1 \ --system-assigned true \ - --env AZURECOSMOSDBURI=$AZURECOSMOSDBURI AZURECOSMOSDBDATABASENAME='reddog' KAFKABOOTSTRAPSERVERS=$KAFKABOOTSTRAPSERVERS KAFKASECURITYPROTOCOL='SASL_SSL' KAFKASASLMECHANISM='PLAIN' KAFKATOPICNAME='reddog' MYSQLURL=$MYSQLURL AZUREREDISHOST=$AZUREREDISHOST AZUREREDISPORT=6380 AZURESTORAGEACCOUNTNAME=$AZURESTORAGEACCOUNTNAME AZURESTORAGEENDPOINT=$AZURESTORAGEENDPOINT KAFKATOPICGROUP=$SERVICE_NAME KAFKACONSUMERGROUPID=$SERVICE_NAME KAFKACOMPLETEDORDERSTOPIC='make-line-completed' AZURE_KEY_VAULT_ENDPOINT=$AZURE_KEY_VAULT_ENDPOINT + --env AZURECOSMOSDBURI=$AZURECOSMOSDBURI AZURECOSMOSDBDATABASENAME='reddog' KAFKABOOTSTRAPSERVERS=$KAFKABOOTSTRAPSERVERS KAFKASECURITYPROTOCOL='SASL_SSL' KAFKASASLMECHANISM='PLAIN' KAFKATOPICNAME='reddog' MYSQLURL=$MYSQLURL AZUREREDISHOST=$AZUREREDISHOST AZUREREDISPORT=6380 AZURESTORAGEACCOUNTNAME=$AZURESTORAGEACCOUNTNAME AZURESTORAGEENDPOINT=$AZURESTORAGEENDPOINT KAFKATOPICGROUP=$SERVICE_NAME KAFKACONSUMERGROUPID=$SERVICE_NAME KAFKACOMPLETEDORDERSTOPIC='make-line-completed' AZUREKEYVAULTENDPOINT=$AZUREKEYVAULTENDPOINT # Set the access policy for this app APP_MANAGED_IDENTITY_OBJECT_ID=$(az spring app identity show \ diff --git a/gateway-service/src/main/resources/application.yaml b/gateway-service/src/main/resources/application.yaml index af4096b..80085df 100644 --- a/gateway-service/src/main/resources/application.yaml +++ b/gateway-service/src/main/resources/application.yaml @@ -16,4 +16,4 @@ spring: secret: property-sources: - name: key-vault-property-source - endpoint: ${AZURE_KEY_VAULT_ENDPOINT} + endpoint: ${AZUREKEYVAULTENDPOINT} diff --git a/loyalty-service/src/main/resources/application-dev.yaml b/loyalty-service/src/main/resources/application-dev.yaml new file mode 100644 index 0000000..25248f0 --- /dev/null +++ b/loyalty-service/src/main/resources/application-dev.yaml @@ -0,0 +1,58 @@ +spring: + config: + import: optional:file:.env[.properties] + application: + name: loyalty-service + banner: + location: static/banner.txt + redis: + host: ${AZUREREDISHOST} + port: ${AZUREREDISPORT} + password: ${AZUREREDISACCESSKEY} + ssl: true + connect-timeout: 5000 + kafka: + topic: + name: ${KAFKATOPICNAME} + group: ${KAFKATOPICGROUP:loyalty-service} + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + consumer: + group-id: ${KAFKA_CONSUMER_GROUP_ID:loyaltyservice} + auto-offset-reset: latest + properties: + spring: + json: + trusted.packages: "*" + type.mapping: ordersummary:com.microsoft.gbb.reddog.loyaltyservice.dto.OrderSummaryDto + sasl: + jaas.config: ${KAFKASASLJAASCONFIG} + mechanism: ${KAFKASASLMECHANISM:PLAIN} + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +server: + port: 8703 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: loyalty-service \ No newline at end of file diff --git a/loyalty-service/src/main/resources/application-prod.yaml b/loyalty-service/src/main/resources/application-prod.yaml new file mode 100644 index 0000000..25248f0 --- /dev/null +++ b/loyalty-service/src/main/resources/application-prod.yaml @@ -0,0 +1,58 @@ +spring: + config: + import: optional:file:.env[.properties] + application: + name: loyalty-service + banner: + location: static/banner.txt + redis: + host: ${AZUREREDISHOST} + port: ${AZUREREDISPORT} + password: ${AZUREREDISACCESSKEY} + ssl: true + connect-timeout: 5000 + kafka: + topic: + name: ${KAFKATOPICNAME} + group: ${KAFKATOPICGROUP:loyalty-service} + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + consumer: + group-id: ${KAFKA_CONSUMER_GROUP_ID:loyaltyservice} + auto-offset-reset: latest + properties: + spring: + json: + trusted.packages: "*" + type.mapping: ordersummary:com.microsoft.gbb.reddog.loyaltyservice.dto.OrderSummaryDto + sasl: + jaas.config: ${KAFKASASLJAASCONFIG} + mechanism: ${KAFKASASLMECHANISM:PLAIN} + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +server: + port: 8703 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: loyalty-service \ No newline at end of file diff --git a/loyalty-service/src/main/resources/application.yaml b/loyalty-service/src/main/resources/application.yaml index f52c367..caf4dfc 100755 --- a/loyalty-service/src/main/resources/application.yaml +++ b/loyalty-service/src/main/resources/application.yaml @@ -1,19 +1,3 @@ spring: profiles: - active: dev, key-vault - application: - name: loyalty-service - config: - import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} ---- -spring: - config: - activate: - on-profile: key-vault - cloud: - azure: - keyvault: - secret: - property-sources: - - name: key-vault-property-source - endpoint: ${AZURE_KEY_VAULT_ENDPOINT} + active: dev \ No newline at end of file diff --git a/makeline-service/src/main/resources/application-dev.yaml b/makeline-service/src/main/resources/application-dev.yaml new file mode 100644 index 0000000..6357f5a --- /dev/null +++ b/makeline-service/src/main/resources/application-dev.yaml @@ -0,0 +1,87 @@ +spring: + application: + name: makeline-service + main: + allow-bean-definition-overriding: true + banner: + location: static/banner.txt + redis: + host: ${AZUREREDISHOST} + port: ${AZUREREDISPORT} + password: ${AZUREREDISACCESSKEY} + ssl: true + connect-timeout: 5000 + # cloud: + # stream: + # default-binder: kafka + kafka: + topic: + name: ${KAFKATOPICNAME} + completed-orders-name: ${KAFKA_COMPLETED_ORDERS_TOPIC:orderscompleted} + group: ${KAFKATOPICGROUP:makeline-service} + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + producer: + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + properties: + sasl: + mechanism: ${KAFKASASLMECHANISM:PLAIN} + jaas: + config: ${KAFKASASLJAASCONFIG} + spring: + json: + type: + mapping: ordersummary:com.microsoft.gbb.reddog.makelineservice.dto.OrderSummaryDto + consumer: + group-id: ${KAFKA_CONSUMER_GROUP_ID:makelineservice} + auto-offset-reset: latest + properties: + spring: + json: + trusted.packages: "*" + type.mapping: ordersummary:com.microsoft.gbb.reddog.makelineservice.dto.OrderSummaryDto + sasl: + jaas: + config: ${KAFKASASLJAASCONFIG} + mechanism: ${KAFKASASLMECHANISM:PLAIN} + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer +messaging: + pubsub: + enabled: true + TOPIC_NAME: makeline-service-topic + SUB_NAME: pubsub +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +cosmos: + uri: ${AZURECOSMOSDBURI} + key: ${AZURECOSMOSDBKEY} + secondaryKey: ${AZURECOSMOSDBSECONDARYKEY} + databaseName: ${AZURECOSMOSDBDATABASENAME} + queryMetricsEnabled: true + containerName: ${AZURE_COSMOSDB_CONTAINER_NAME:reddog} + requestUnits: ${AZURE_COSMOSDB_REQUEST_UNITS:400} +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +server: + port: 8704 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: makeline-service \ No newline at end of file diff --git a/makeline-service/src/main/resources/application-prod.yaml b/makeline-service/src/main/resources/application-prod.yaml new file mode 100644 index 0000000..6357f5a --- /dev/null +++ b/makeline-service/src/main/resources/application-prod.yaml @@ -0,0 +1,87 @@ +spring: + application: + name: makeline-service + main: + allow-bean-definition-overriding: true + banner: + location: static/banner.txt + redis: + host: ${AZUREREDISHOST} + port: ${AZUREREDISPORT} + password: ${AZUREREDISACCESSKEY} + ssl: true + connect-timeout: 5000 + # cloud: + # stream: + # default-binder: kafka + kafka: + topic: + name: ${KAFKATOPICNAME} + completed-orders-name: ${KAFKA_COMPLETED_ORDERS_TOPIC:orderscompleted} + group: ${KAFKATOPICGROUP:makeline-service} + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + producer: + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + properties: + sasl: + mechanism: ${KAFKASASLMECHANISM:PLAIN} + jaas: + config: ${KAFKASASLJAASCONFIG} + spring: + json: + type: + mapping: ordersummary:com.microsoft.gbb.reddog.makelineservice.dto.OrderSummaryDto + consumer: + group-id: ${KAFKA_CONSUMER_GROUP_ID:makelineservice} + auto-offset-reset: latest + properties: + spring: + json: + trusted.packages: "*" + type.mapping: ordersummary:com.microsoft.gbb.reddog.makelineservice.dto.OrderSummaryDto + sasl: + jaas: + config: ${KAFKASASLJAASCONFIG} + mechanism: ${KAFKASASLMECHANISM:PLAIN} + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer +messaging: + pubsub: + enabled: true + TOPIC_NAME: makeline-service-topic + SUB_NAME: pubsub +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +cosmos: + uri: ${AZURECOSMOSDBURI} + key: ${AZURECOSMOSDBKEY} + secondaryKey: ${AZURECOSMOSDBSECONDARYKEY} + databaseName: ${AZURECOSMOSDBDATABASENAME} + queryMetricsEnabled: true + containerName: ${AZURE_COSMOSDB_CONTAINER_NAME:reddog} + requestUnits: ${AZURE_COSMOSDB_REQUEST_UNITS:400} +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +server: + port: 8704 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: makeline-service \ No newline at end of file diff --git a/makeline-service/src/main/resources/application.yaml b/makeline-service/src/main/resources/application.yaml index ec7f22c..caf4dfc 100755 --- a/makeline-service/src/main/resources/application.yaml +++ b/makeline-service/src/main/resources/application.yaml @@ -1,19 +1,3 @@ spring: profiles: - active: dev, key-vault - application: - name: makeline-service - config: - import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} ---- -spring: - config: - activate: - on-profile: key-vault - cloud: - azure: - keyvault: - secret: - property-sources: - - name: key-vault-property-source - endpoint: ${AZURE_KEY_VAULT_ENDPOINT} + active: dev \ No newline at end of file diff --git a/order-service/pom.xml b/order-service/pom.xml index 830d056..abe913d 100755 --- a/order-service/pom.xml +++ b/order-service/pom.xml @@ -68,11 +68,6 @@ org.flywaydb flyway-mysql - - org.springframework.cloud - spring-cloud-starter-sleuth - 3.1.11 - org.springframework.boot spring-boot-devtools @@ -108,11 +103,28 @@ mapstruct ${org.mapstruct.version} + + io.micrometer + micrometer-tracing-bridge-otel + 1.3.1 + + + io.opentelemetry + opentelemetry-exporter-zipkin + 1.39.0 + + org.springdoc springdoc-openapi-ui ${springdoc-openapi-ui.version} + + org.springdoc + springdoc-openapi-webmvc-core + 1.8.0 + + com.azure.spring spring-cloud-azure-starter-servicebus-jms diff --git a/order-service/src/main/resources/application-dev.yaml b/order-service/src/main/resources/application-dev.yaml new file mode 100644 index 0000000..638cc4b --- /dev/null +++ b/order-service/src/main/resources/application-dev.yaml @@ -0,0 +1,67 @@ +spring: + application: + name: order-service + kafka: + topic: + name: ${KAFKATOPICNAME} + group: ${KAFKATOPICGROUP:order-service} + producer: + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + properties: + sasl: + mechanism: ${KAFKASASLMECHANISM:PLAIN} + jaas: + config: ${KAFKASASLJAASCONFIG} + spring: + json: + type: + mapping: ordersummary:com.microsoft.gbb.reddog.orderservice.dto.OrderSummaryDto + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + jpa: + properties: + hibernate: + dialect: org.hibernate.dialect.MySQLDialect + show-sql: 'true' + config: + import: optional:classpath:.env[.properties] + jms: + servicebus: + connection-string: ${SERVICEBUSCONNECTIONSTRING} + pricing-tier: ${SERVICEBUSPRICINGTIER:standard} + datasource: + driverClassName: com.mysql.cj.jdbc.Driver + password: ${MYSQLPASSWORD} + username: ${MYSQLUSER} + url: ${MYSQLURL} + flyway: + baseline-on-migrate: 'true' + banner: + location: static/banner.txt + web: + resources: + static-locations: classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/ +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +springdoc: + swagger-ui: + enabled: true + path: /swagger-ui.html + api-docs: + path: /v3/api-docs +topic: + name: + producer: ${KAFKATOPICNAME} +server: + port: '8702' +management: + tracing: + enabled: false +logging: + level: + org.apache.kafka: DEBUG + org.springframework.kafka: DEBUG diff --git a/order-service/src/main/resources/application-prod.yaml b/order-service/src/main/resources/application-prod.yaml new file mode 100644 index 0000000..719ec5e --- /dev/null +++ b/order-service/src/main/resources/application-prod.yaml @@ -0,0 +1,57 @@ +spring: + application: + name: order-service + kafka: + topic: + name: ${KAFKATOPICNAME} + group: ${KAFKATOPICGROUP:order-service} + producer: + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + properties: + sasl: + mechanism: ${KAFKASASLMECHANISM:PLAIN} + jaas: + config: ${KAFKASASLJAASCONFIG} + spring: + json: + type: + mapping: ordersummary:com.microsoft.gbb.reddog.orderservice.dto.OrderSummaryDto + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + jpa: + properties: + hibernate: + dialect: org.hibernate.dialect.MySQL5Dialect + show-sql: 'true' + config: + import: optional:classpath:.env[.properties] + jms: + servicebus: + connection-string: ${SERVICEBUSCONNECTIONSTRING} + pricing-tier: ${SERVICEBUSPRICINGTIER:standard} + datasource: + driverClassName: com.mysql.cj.jdbc.Driver + password: ${MYSQLPASSWORD} + username: ${MYSQLUSER} + url: ${MYSQLURL} + flyway: + baseline-on-migrate: 'true' + banner: + location: static/banner.txt +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +springdoc: + swagger-ui: + enabled: 'true' + path: /swagger + api-docs: + path: /api-docs +topic: + name: + producer: ${KAFKATOPICNAME} +server: + port: '8702' diff --git a/order-service/src/main/resources/application.yaml b/order-service/src/main/resources/application.yaml index 69e7a6c..caf4dfc 100755 --- a/order-service/src/main/resources/application.yaml +++ b/order-service/src/main/resources/application.yaml @@ -1,20 +1,3 @@ spring: profiles: - active: dev, key-vault - application: - name: order-service - config: - import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} - ---- -spring: - config: - activate: - on-profile: key-vault - cloud: - azure: - keyvault: - secret: - property-sources: - - name: key-vault-property-source - endpoint: ${AZURE_KEY_VAULT_ENDPOINT} + active: dev \ No newline at end of file diff --git a/receipt-generation-service/src/main/resources/application-dev.yaml b/receipt-generation-service/src/main/resources/application-dev.yaml new file mode 100644 index 0000000..7b0b648 --- /dev/null +++ b/receipt-generation-service/src/main/resources/application-dev.yaml @@ -0,0 +1,63 @@ +spring: + config: + import: optional:file:.env[.properties] + application: + name: receipt-generation-service + banner: + location: static/banner.txt + kafka: + topic: + name: ${KAFKATOPICNAME} + group: ${KAFKATOPICGROUP:receipt-service} + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + consumer: + group-id: ${KAFKA_CONSUMER_GROUP_ID:receiptservice} + auto-offset-reset: latest + properties: + spring: + json: + trusted.packages: "*" + type.mapping: ordersummary:com.microsoft.gbb.reddog.receiptgenerationservice.dto.OrderSummaryDto + sasl: + jaas.config: ${KAFKASASLJAASCONFIG} + mechanism: ${KAFKASASLMECHANISM:PLAIN} + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer + cloud: + azure: + storage: + blob: + account-name: ${AZURESTORAGEACCOUNTNAME} + account-key: ${AZURESTORAGEACCOUNTKEY} + endpoint: ${AZURESTORAGEENDPOINT} +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +data: + BLOB: + CONTAINER: ${BLOB_CONTAINER:reddogasa} + FILE_NAME: ${BLOB_FILE_NAME:receipts.txt} +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +server: + port: 8705 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: receipt-generation-service \ No newline at end of file diff --git a/receipt-generation-service/src/main/resources/application-prod.yaml b/receipt-generation-service/src/main/resources/application-prod.yaml new file mode 100644 index 0000000..7b0b648 --- /dev/null +++ b/receipt-generation-service/src/main/resources/application-prod.yaml @@ -0,0 +1,63 @@ +spring: + config: + import: optional:file:.env[.properties] + application: + name: receipt-generation-service + banner: + location: static/banner.txt + kafka: + topic: + name: ${KAFKATOPICNAME} + group: ${KAFKATOPICGROUP:receipt-service} + bootstrap-servers: ${KAFKABOOTSTRAPSERVERS:localhost:9092} + security: + protocol: ${KAFKASECURITYPROTOCOL:PLAINTEXT} + consumer: + group-id: ${KAFKA_CONSUMER_GROUP_ID:receiptservice} + auto-offset-reset: latest + properties: + spring: + json: + trusted.packages: "*" + type.mapping: ordersummary:com.microsoft.gbb.reddog.receiptgenerationservice.dto.OrderSummaryDto + sasl: + jaas.config: ${KAFKASASLJAASCONFIG} + mechanism: ${KAFKASASLMECHANISM:PLAIN} + value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer + cloud: + azure: + storage: + blob: + account-name: ${AZURESTORAGEACCOUNTNAME} + account-key: ${AZURESTORAGEACCOUNTKEY} + endpoint: ${AZURESTORAGEENDPOINT} +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +data: + BLOB: + CONTAINER: ${BLOB_CONTAINER:reddogasa} + FILE_NAME: ${BLOB_FILE_NAME:receipts.txt} +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +server: + port: 8705 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: receipt-generation-service \ No newline at end of file diff --git a/receipt-generation-service/src/main/resources/application.yaml b/receipt-generation-service/src/main/resources/application.yaml index 86f5be8..caf4dfc 100755 --- a/receipt-generation-service/src/main/resources/application.yaml +++ b/receipt-generation-service/src/main/resources/application.yaml @@ -1,19 +1,3 @@ spring: profiles: - active: dev, key-vault - application: - name: receipt-generation-service - config: - import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} ---- -spring: - config: - activate: - on-profile: key-vault - cloud: - azure: - keyvault: - secret: - property-sources: - - name: key-vault-property-source - endpoint: ${AZURE_KEY_VAULT_ENDPOINT} \ No newline at end of file + active: dev \ No newline at end of file diff --git a/scripts/walk-the-dog.sh b/scripts/walk-the-dog.sh index 90136e4..ff07fb5 100755 --- a/scripts/walk-the-dog.sh +++ b/scripts/walk-the-dog.sh @@ -124,7 +124,7 @@ printf "export SERVICEBUSCONNECTIONSTRING='%s'\n" $SB_CONNECT_STRING >> $VARIABL printf "export OPENAI_API_BASE='%s'\n" $OPENAI_API_BASE >> $VARIABLES_FILE printf "export OPENAI_API_KEY='%s'\n" $OPENAI_API_KEY >> $VARIABLES_FILE printf "export AZURE_KEY_VAULT_NAME='%s'\n" $KEY_VAULT_NAME >> $VARIABLES_FILE -printf "export AZURE_KEY_VAULT_ENDPOINT='%s'\n" $KEY_VAULT_URI >> $VARIABLES_FILE +printf "export AZUREKEYVAULTENDPOINT='%s'\n" $KEY_VAULT_URI >> $VARIABLES_FILE printf "apiVersion: v1\n" > $CONFIGMAP_FILE printf "kind: ConfigMap\n" >> $CONFIGMAP_FILE @@ -156,7 +156,7 @@ printf " ORDER_SVC_URL: 'http://order-service.reddog.svc.cluster.local:8702'\n" printf " OPENAI_API_BASE: '%s'\n" $OPENAI_API_BASE >> $CONFIGMAP_FILE printf " OPENAI_API_KEY: '%s'\n" $OPENAI_API_KEY >> $CONFIGMAP_FILE printf " AZURE_KEY_VAULT_NAME: '%s'\n" $KEY_VAULT_NAME >> $CONFIGMAP_FILE -printf " AZURE_KEY_VAULT_ENDPOINT: '%s'\n" $KEY_VAULT_URI >> $CONFIGMAP_FILE +printf " AZUREKEYVAULTENDPOINT: '%s'\n" $KEY_VAULT_URI >> $CONFIGMAP_FILE echo '' echo 'Local variables file created: ' $VARIABLES_FILE diff --git a/virtual-customers/src/main/resources/application-dev.yaml b/virtual-customers/src/main/resources/application-dev.yaml new file mode 100644 index 0000000..c45dffe --- /dev/null +++ b/virtual-customers/src/main/resources/application-dev.yaml @@ -0,0 +1,48 @@ +spring: + application: + name: virtual-customers + banner: + location: static/banner.txt +data: + STORE_ID: ${STORE_ID:Redmond} + CREATE_ORDER_CRON_SCHEDULE: ${CREATE_ORDER_CRON_SCHEDULE:*/5 * * * * *} + MAX_UNIQUE_ITEMS_PER_ORDER: ${MAX_UNIQUE_ITEMS_PER_ORDER:10} + ORDER_SVC_URL: ${ORDER_SVC_URL:http://localhost:8702} +messaging: + pubsub: + enabled: true + TOPIC_NAME: virtual-customers-topic + SUB_NAME: pubsub +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +server: + port: 8701 +eureka: + client: + register-with-eureka: true + fetch-registry: true + enabled: true +org: + jobrunr: + background-job-server: + enabled: true + dashboard: + enabled: true + port: 8001 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: virtual-customers \ No newline at end of file diff --git a/virtual-customers/src/main/resources/application-prod.yaml b/virtual-customers/src/main/resources/application-prod.yaml new file mode 100644 index 0000000..3e094e1 --- /dev/null +++ b/virtual-customers/src/main/resources/application-prod.yaml @@ -0,0 +1,48 @@ +spring: + application: + name: virtual-customers + banner: + location: static/banner.txt +data: + STORE_ID: ${STORE_ID:Redmond} + CREATE_ORDER_CRON_SCHEDULE: ${CREATE_ORDER_CRON_SCHEDULE:*/5 * * * * *} + MAX_UNIQUE_ITEMS_PER_ORDER: ${MAX_UNIQUE_ITEMS_PER_ORDER:10} + ORDER_SVC_URL: ${ORDER_SVC_URL:http://localhost:8702} +messaging: + pubsub: + enabled: true + TOPIC_NAME: virtual-customers-topic + SUB_NAME: pubsub +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +server: + port: 8701 +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +org: + jobrunr: + background-job-server: + enabled: true + dashboard: + enabled: true + port: 8001 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: virtual-customers \ No newline at end of file diff --git a/virtual-customers/src/main/resources/application.yaml b/virtual-customers/src/main/resources/application.yaml index 04183f3..caf4dfc 100755 --- a/virtual-customers/src/main/resources/application.yaml +++ b/virtual-customers/src/main/resources/application.yaml @@ -1,19 +1,3 @@ spring: profiles: - active: dev, key-vault - application: - name: virtual-customers - config: - import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} ---- -spring: - config: - activate: - on-profile: key-vault - cloud: - azure: - keyvault: - secret: - property-sources: - - name: key-vault-property-source - endpoint: ${AZURE_KEY_VAULT_ENDPOINT} + active: dev \ No newline at end of file diff --git a/virtual-worker/src/main/resources/application-dev.yaml b/virtual-worker/src/main/resources/application-dev.yaml new file mode 100644 index 0000000..7321891 --- /dev/null +++ b/virtual-worker/src/main/resources/application-dev.yaml @@ -0,0 +1,34 @@ +spring: + application: + name: virtual-worker + banner: + location: static/banner.txt +# TODO: Refactor with Eureka and Feign +data: + MAKELINE_SVC_URL: ${MAKELINE_SVC_URL:http://localhost:8704/} +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +eureka: + client: + register-with-eureka: true + fetch-registry: true + enabled: true +server: + port: 8706 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: virtual-worker \ No newline at end of file diff --git a/virtual-worker/src/main/resources/application-prod.yaml b/virtual-worker/src/main/resources/application-prod.yaml new file mode 100644 index 0000000..234117f --- /dev/null +++ b/virtual-worker/src/main/resources/application-prod.yaml @@ -0,0 +1,34 @@ +spring: + application: + name: virtual-worker + banner: + location: static/banner.txt +# TODO: Refactor with Eureka and Feign +data: + MAKELINE_SVC_URL: ${MAKELINE_SVC_URL:http://localhost:8704/} +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS +eureka: + client: + register-with-eureka: false + fetch-registry: false + enabled: false +server: + port: 8706 +springdoc: + api-docs: + path: /api-docs + swagger-ui: + path: /swagger + enabled: true +--- +spring: + profiles: dev + application: + name: virtual-worker \ No newline at end of file diff --git a/virtual-worker/src/main/resources/application.yaml b/virtual-worker/src/main/resources/application.yaml index 26cee1b..caf4dfc 100755 --- a/virtual-worker/src/main/resources/application.yaml +++ b/virtual-worker/src/main/resources/application.yaml @@ -1,19 +1,3 @@ spring: profiles: - active: dev, key-vault - application: - name: virtual-worker - config: - import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} ---- -spring: - config: - activate: - on-profile: key-vault - cloud: - azure: - keyvault: - secret: - property-sources: - - name: key-vault-property-source - endpoint: ${AZURE_KEY_VAULT_ENDPOINT} + active: dev \ No newline at end of file