Azure Configuration for the Service Request Microservice
| PROPERTY | DEFAULT VALUE | DESCRIPTION |
| For PostgreSQL Database | ||
| DATABASE_KEY | postgresql | name of the database key |
| POSTGRESQL_CONNECTIONURL | jdbc:postgresql://postgresdb:5432/servicerequestdb | URL to connect to the postgresql instance |
| POSTGRESQL_USERNAME | servicerequestusr | Username |
| POSTGRESQL_PASSWORD | servicerequestpass | Password |
| For Mongo Database | ||
| DATABASE_KEY | mongodb | name of the database key |
| MONGODB_DBNAME | ms_servicerequest | name of the database |
| MONGODB_CONNECTIONSTR | mongodb://ms-servicerequest-mongo-node1:27017,ms-servicerequest-mongo-node2:27017,ms-servicerequest-mongo-node3:27017 | URL to connect to the mongodb instance. |
| Common Properties | ||
| temn.msf.name | ms-servicerequest | Microservice Framework will identify the respective microservice with this property |
| temn.msf.stream.vendor | kafka | Data stream vendor |
| temn.msf.stream.kafka.bootstrap.servers | kafka:29092 | Change to IP address of kafka instance. |
| temn.msf.exec.env | server | |
| temn.msf.security.authz.enabled | "false" | |
| temn.msf.ingest.source.stream | ms-servicerequest-outbox | Ingest source stream |
| temn.msf.service.name | "inboxOutbox" | |
| tmn.inbox.source.namespace | servicerequest-inbox | Name of the inbox cache |
| tmn.outbox.source.namespace | servicerequest-outbox | Name of the outbox cache |
| temn.msf.stream.outbox.topic | ms-servicerequest-outbox-topic | Stream outbox topic |
| tmn.inbox.thread.pool.count | 10 | Number of threads kept in inbox reserve for executing tasks |
| tmn.outbox.thread.pool.count | 10 | Number of threads kept in outbox reserve for executing tasks |
| temn.queue.impl | kafka | Queue Implementation |
| temn.msf.ingest.is.cloud.event | "true" | Ingester cloud event |
| temn.msf.disable.outbox.cleanup | "true" | |
| temn.msf.service.name | inboxOutbox | |
| temn.msf.tracer.enabled | "false" | Optional |
| temn.tracer.host | jaeger | Optional |
| temn.tracer.port | 14,268 | Optional |
| temn.meter.disabled | "true" | |
| temn.msf.logger.root_level | ERROR | |
| temn.msf.disable.bian.naming | "true" | |
| class.inbox.dao | com.temenos.microservice.framework.core.inbox.InboxDaoImpl | Framework Implementation class for Inbox Dao |
| class.outbox.dao | com.temenos.microservice.framework.core.outbox.OutboxDaoImpl | Framework Implementation class for Outbox Dao |
| class.package.name | com.temenos.microservice.servicerequestv2.function | CDP Resolve Implementations class path |
| Service | ||
| servicerequestinboxoutbox: | ||
| type: LoadBalancer | A Service in Kubernetes is a REST object, similar to a Pod. Like all of the REST objects, you can POST a Service definition to the API server to create a new instance.Specifies the port, type for the adapterms API, and ingester service.When the Service type is set to LoadBalancer, Kubernetes provides functionality equivalent to type equals ClusterIP to pods within the cluster and extends it by programming the (external to Kubernetes) load balancer with entries for the nodes hosting the relevant Kubernetes pod's. | |
| port: 12534 | ||
| inboxingester: | ||
| memoryrequest: 500M | Resource management for pods/Containers -- Kubernetes uses to control resources such as CPU and memorycan declare limits for CPU and memory for all pod containers.cpulimit --The CPU limit defines a hard ceiling on how much CPU time the container can use. it should not be less than 1m. can a specific CPU limit be 1m or 0.001.memorylimit – If you specify a memory limit for every container in a Pod, Kubernetes can infer the Pod-level memory limit by adding up the limits for its containersheapLimitTo change the value of experimental flags, you must unlock them first. You can do this by setting -XX:+UnlockExperimentalVMOptions explicitly on the command line before any experimental flagsThe flag -XX:+UseCGroupMemoryLimitForHeap lets the JVM detect what the max heap size in a container should be.MaxRAMPercentage parameter allows setting the maximum heap size for a JVM running with a large amount of memory (greater than 200 MB). | |
| Name | Value | Description | Component |
| PAGE_SIZE | 100 | Pagination Config, to default page size in API response | API |
| STREAM_TOPIC | order-event | Stream topic to which API produces data to | API |
| AzureWebJobsDashboard | DefaultEndpointsProtocol=https;AccountName=733ce10a25ee46a9a422;AccountKey=Vn0tck/K3/Prl+ieTvrUW33dUsb7ygIq4JviWIa6VyjJzc8gJFrmc9IyF9fVtCHX6SLRJlU4EjJMzwcCWBK58Q== | Azure related property, do not modify | Azure |
| AzureWebJobsStorage | DefaultEndpointsProtocol=https;AccountName=733ce10a25ee46a9a422;AccountKey=Vn0tck/K3/Prl+ieTvrUW33dUsb7ygIq4JviWIa6VyjJzc8gJFrmc9IyF9fVtCHX6SLRJlU4EjJMzwcCWBK58Q== | Azure related property, do not modify | Azure |
| FUNCTIONS_EXTENSION_VERSION | ~2 | Azure related property, do not modify | Azure |
| FUNCTIONS_WORKER_RUNTIME | java | Azure related property, do not modify | Azure |
| JAVA_OPTS | -Djava.net.preferIPv4Stack=true | Java property | Azure |
| WEBSITE_CONTENTAZUREFILECONNECTIONSTRING | DefaultEndpointsProtocol=https;AccountName=733ce10a25ee46a9a422;AccountKey=Vn0tck/K3/Prl+ieTvrUW33dUsb7ygIq4JviWIa6VyjJzc8gJFrmc9IyF9fVtCHX6SLRJlU4EjJMzwcCWBK58Q== | Azure related property, do not modify | Azure |
| WEBSITE_CONTENTSHARE | pg-ms-servicerequestapp1ae43910 | Azure related property, do not modify | Azure |
| WEBSITE_RUN_FROM_PACKAGE | 1 | Azure related property, do not modify | Azure |
| DATABASE_KEY | postgresql | Database key, to differentiate between databases | DB |
| DATABASE_NAME | servicerequestdb | Database Name in POSTGRES DB | DB |
| POSTGRESQL_CONNECTIONURL | jdbc:postgresql://pg-servicerequest.postgres.database.azure.com:5432/servicerequestdb | POSTGRES DB Connection String | DB |
| POSTGRESQL_PASSWORD | Passw0rd! | POSTGRES DB Password | DB |
| POSTGRESQL_USERNAME | myadmin@pg-servicerequest | POSTGRES DB Username | DB |
| temn.keystore.database.driver | org.postgresql.Driver | POSTGRES DB Driver | DB |
| temn.keystore.database.password | Passw0rd! | POSTGRES DB Password | DB |
| temn.keystore.database.url | jdbc:postgresql://pg-servicerequest.postgres.database.azure.com:5432/servicerequestdb | POSTGRES DB Connection String | DB |
| temn.keystore.database.user | myadmin@pg-servicerequest | POSTGRES DB Username | DB |
| temn_entitlement_service_api_key | <x-api-key here> | Entitlement related property, configure the API key, when using entitlement MS | Entitlement |
| temn_entitlement_service_base_path | http://localhost:8095/ms-entitlement-api/api/v1.0.0 | Base path of Entitlement service | Entitlement |
| temn_entitlement_service_enabled | FALSE | Enable Entitlement flow if required | Entitlement |
| temn_entitlement_service_resource_path | system/entitlements/users/{userId}/roles | Resource path of Entitlement service | Entitlement |
| temn_entitlement_stubbed_service_enabled | FALSE | Stubbing Entitlement if required | Entitlement |
| temn_msf_security_authz_enabled | TRUE | Enable if you want entitlement | Entitlement |
| eventHubConnection | Endpoint=sb://pg-servicerequestkafkaapp.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=ZgA5ETiFfdTSgMYyGInq14GW71ym7U9T14JUmKMQiNw= | Connection String for the event hub, APIs produce data to this event hub. | Event Hub |
| eventHubConsumerGroup | $Default | Event Hub Consumer Group | Event Hub |
| eventHubName | acknowledgement-event | Event Hub topic, Ingester function actively listens to this | Event Hub |
| temn.msf.stream.kafka.bootstrap.servers | pg-servicerequestkafkaapp.servicebus.windows.net:9093 | Event Hub bootstrap server, to produce data | Event Hub |
| temn.msf.stream.kafka.sasl.enabled | TRUE | Event Hub property to set SASL Auth | Event Hub |
| temn.msf.stream.kafka.sasl.jaas.config | org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://pg-servicerequestkafkaapp.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=ZgA5ETiFfdTSgMYyGInq14GW71ym7U9T14JUmKMQiNw="; | SASL JAAS config, required to produce data in event hub securely | Event Hub |
| BasePathKony | https://100026481.auth.konycloud.com | Fabric Identity Service, base path, configure this if you wish to use fabric server events as your stream | Fabric Server Events |
| contenttype | application/json | contentType Header, used as header to send events to Fabric Server Events, do not modify | Fabric Server Events |
| konyPassword | Kony@1234 | Password of the user present in userstore, fabric server events require authentication | Fabric Server Events |
| KonyProviderResourcePath | /login | Fabric UserStore Identity Service, resource path, used to authenticate user to publish data into fabric server events | Fabric Server Events |
| KonyServicesResourcePath | https://dbxdbpdev.konycloud.com/services/ServerEvents | Fabric API used to publish data into fabric server events | Fabric Server Events |
| konyUserId | externaluser@temenos.com | Fabric UserStore User ID, that is used to authenticate before pusing data into fabric server events | Fabric Server Events |
| XKonyAppKey | a2df7bd164ae0d2937154f52dba12b41 | App key of UserStore Identity Service, used to authenticate before pushing data into Fabric Server Events | Fabric Server Events |
| XKonyAppSecret | 4e313630a805a07fd2b481332a2ef48 | App Secret of UserStore Identity Service, used to authenticate before pushing data into Fabric Server Events | Fabric Server Events |
| temn.msf.ingest.is.avro.event.ingester | FALSE | Using generic Ingester, hence avro is disabled, do not modify | Ingester |
| temn_ingester_mapping_enabled | FALSE | Ingester Related Property, mapping for avro schema, disabled as its not used, do not modify | Ingester |
| temn_msf_ingest_event_ingester | com.temenos.microservice.framework.core.ingester.MicroserviceIngester | Classpath of MSF Ingester, do not modify | Ingester |
| temn_msf_ingest_generic_ingester | com.temenos.microservice.servicerequestv2.ingester.ServiceReqIngesterV2 | Classpath of Service Request Ingester, do not modify | Ingester |
| temn_msf_ingest_sink_error_stream | error | Error topic to produce data into | Ingester |
| ID_TOKEN_SIGNED | TRUE | JWT related property, enable if you are using a signed JWT | JWT |
| JWT_TOKEN_ISSUER | Fabric | JWT related property, use the issuer you have configured to generate the token, will be validated | JWT |
| JWT_TOKEN_PRINCIPAL_CLAIM | FABRICUSER | JWT related property, use the principle claim you have configured to generate the token, will be validated | JWT |
| JWT_TOKEN_PUBLIC_KEY | TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFzYjJubnNMMzkycjNpd1JmYUdaUzFsVXRkYitFeXZ2OUZmZlhNR2NSNHJmTm5ITHkvRUlHbFFvNWh0NUNwUG91ODYwZkhnREpHZHk1ckVKWEJXVVdEUGI5OGkxMitQMkJGY1FyVnhmM3BWODM0ME10U0NEY3RwYmY2R2x3SkZZRHBjSVZSYWttWWpva0R2VEljanAxWnd2MHQvV2k5SjhHeERXWWhpNmhyd3VGY0c5SUdBSEJQWk8vY2dMR2pmYW9oYUY5OFhFOUtYTGMvV0NxQ1QycUIraEZjeWNlQTVMWU4vdURkRnZHbW5DOHUycWRIWDRoRW96bU8wTmpUaFBhRndiSm9NSXhENEtQa1VGN0Q1VXRkSWRYNUdIcXFOd1RSWnU4S0NEWWJUT1RvN2s3a2syeTB6SytkMllXQWdhWWw4djRTeEtCbVZzMVliZGRwUk1TVFFJREFRQUI | JWT related property, Base 64 encoded public key value, that will be used to generate the token | JWT |
| ms_security_tokencheck_enabled | Y | JWT related property, enable if you want JWT Authentication, disable if not | JWT |
| class_inbox_dao | com.temenos.microservice.framework.core.inbox.InboxDaoImpl | Class path for Inbox Data Access Object, do not modify | MSF |
| class_outbox_dao | com.temenos.microservice.framework.core.outbox.OutboxDaoImpl | Class path for Outbox Data Access Object, do not modify | MSF |
| className_getHealthCheck | com.temenos.microservice.framework.core.health.GetHealthCheckImpl | Class path for MSF(Framework) health check API, do not modify | MSF |
| DEPLOYMENT_ENV | azure | Signifies stack of deployment | MSF |
| tem_msf_disableInbox | FALSE | To disable or enable Inbox config | MSF |
| temn.msf.stream.vendor.outbox | kafka | Stream vendor for outbox | MSF |
| temn_msf_name | ms-servicerequest | Name of Microservice | MSF |
| temn_msf_outbox_stream_vendor | kafka | Stream vendor for outbox, potential duplicate | MSF |
| temn_msf_stream_vendor | kafka | Stream vendor used | MSF |
| PDP_CONFIG | classpath:xacml/pdp-config.xml | PDP related property, classpath to PDP xml | PDP |
| temn_msf_pdp_resource_manager | SERVICEREQUEST | PDP related property, name of resource manager | PDP |
| temn_msf_pdp_resource_type | API | PDP related property, type of resource | PDP |
| temn_msf_schema_registry_url | acknowledgement-event | Schema registry, not used for generic ingester | PDP |
| file_path | configuration/release | ||
| temn_msf_raise_commandprocessed_event_enabled | FALSE | To disable the commandProcessed events in topic | MSF |
Below mentioned Command Ingester and Inbox-Outbox configurations are related to GDPR.
| Name | Value | Description | Component |
| temn_msf_name | "ms-servicerequest" | ||
| temn_msf_security_authz_enabled | "false" | ||
| EVENT_HUB_NAME_SPACE | "servicerequestkafkaapp" | ||
| file_path | "configuration/release" | ||
| temn.msf.stream.kafka.sasl.jaas.config | "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$ConnectionString\" password=\"%eventHubConnection%\"; " | ||
| DATABASE_KEY | "postgresql" or "mongodb" | ||
| DB_NAME_SPACE | "servicerequest" | ||
| DB_NAME | "servicerequestdb" | ||
| POSTGRESQL_CONNECTIONURL | "jdbc:postgresql://%DB_NAME_SPACE:"=%.postgres.database.azure.com:5432/servicerequestdb" | ||
| POSTGRESQL_USERNAME | %DATABASE_USERNAME%@%DB_NAME_SPACE% | ||
| POSTGRESQL_PASSWORD | "Passw0rd!" | ||
| DATABASE_USERNAME_WITH_HOST | %DATABASE_USERNAME%@%DB_NAME_SPACE% | ||
| MONGODB_DBNAME | "ms_servicerequest" | ||
| MONGODB_CONNECTIONSTR | "mongodb://root:root@cluster0-shard-00-00.youb1.azure.mongodb.net:27017,cluster0-shard-00-01.youb1.azure.mongodb.net:27017,cluster0-shard-00-02.youb1.azure.mongodb.net:27017/ms_servicerequest?authSource=admin&gssapiServiceName=mongodb&replicaSet=atlas-6k7thb-shard-0&ssl=true" | ||
| MONGOSHELL_CONNECT_STR | "mongodb+srv://root:root@cluster0.youb1.azure.mongodb.net" | ||
| DATABASE_NAME | "servicerequestdb" | ||
| DATABASE_USERNAME | "myadmin" | ||
| temn.msf.stream.vendor | "kafka" | ||
| temn.msf.ingest.source.stream | "ms-servicerequest-inbox-topic" | ||
| temn.msf.ingest.source.stream.consumergroup.id | "ms-servicerequest-ingester-consumer" | ||
| temn.msf.ingest.sink.error.stream | "ms-servicerequest-inbox-error-topic" | ||
| temn.msf.ingest.sink.error.stream.producer.id | "ms-servicerequest-ingester-error-producer" | ||
| temn.msf.ingest.generic.ingester | "com.temenos.microservice.framework.core.ingester.GenericCommandSTBinaryIngester" | ||
| temn.msf.exec.env | "serverless" | ||
| temn.msf.raise.received.event | "false" | ||
| class_inbox_dao | "com.temenos.microservice.framework.core.inbox.InboxDaoImpl" | ||
| class_outbox_dao | "com.temenos.microservice.framework.core.outbox.OutboxDaoImpl" | ||
| class.package.name | "com.temenos.microservice.servicerequestv2.function" | ||
| temn.msf.ingest.is.avro.event.ingester | "false" | ||
| temn.msf.ingest.outbox.cache.namespace | "ms-servicerequest-outbox" | ||
| temn.msf.ingest.inbox.cache.namespace | "ms-servicerequest-inbox" | ||
| temn.msf.service.name | "CommandIngester" | ||
| temn.msf.raise.commandprocessed.event.disabled | "true" | ||
| eventHubConnection | "TEST" | ||
| eventHubConsumerGroup | "$Default" | ||
| eventHubName | "ms-servicerequest-inbox-topic" | ||
| temn.msf.stream.kafka.bootstrap.servers | "%EVENT_HUB_NAME_SPACE:"=%.servicebus.windows.net:9093" |
Below mentioned Command Ingester and Inbox-Outbox configurations are related to GDPR.
| Name | Value | Description | Component |
| temn_msf_name | "ms-servicerequest" | ||
| EVENT_HUB_NAME_SPACE | "servicerequestkafkaapp" | ||
| file_path | "configuration/release" | ||
| temn.msf.stream.kafka.sasl.jaas.config | "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$ConnectionString\" password=\"%eventHubConnection%\"; " | ||
| DATABASE_KEY | "postgresql" or "mongodb" | ||
| DB_NAME_SPACE | "servicerequest" | ||
| DB_NAME | "servicerequestdb" | ||
| POSTGRESQL_CONNECTIONURL | "jdbc:postgresql://%DB_NAME_SPACE:"=%.postgres.database.azure.com:5432/servicerequestdb" | ||
| POSTGRESQL_USERNAME | %DATABASE_USERNAME%@%DB_NAME_SPACE% | ||
| POSTGRESQL_PASSWORD | "Passw0rd!" | ||
| DATABASE_USERNAME_WITH_HOST | %DATABASE_USERNAME%@%DB_NAME_SPACE% | ||
| MONGODB_DBNAME | "ms_servicerequest" | ||
| MONGODB_CONNECTIONSTR | "mongodb://root:root@cluster0-shard-00-00.youb1.azure.mongodb.net:27017,cluster0-shard-00-01.youb1.azure.mongodb.net:27017,cluster0-shard-00-02.youb1.azure.mongodb.net:27017/ms_servicerequest?authSource=admin&gssapiServiceName=mongodb&replicaSet=atlas-6k7thb-shard-0&ssl=true" | ||
| MONGOSHELL_CONNECT_STR | "mongodb+srv://root:root@cluster0.youb1.azure.mongodb.net" | ||
| DATABASE_NAME | "servicerequestdb" | ||
| DATABASE_USERNAME | "myadmin" | ||
| tem_msf_disableInbox | "true" | ||
| temn.msf.ingest.is.cloud.event | "true" | ||
| temn.msf.ingest.is.avro.event.ingester | "false" | ||
| temn.msf.stream.vendor.outbox | "kafka" | ||
| temn.msf.stream.vendor | "kafka" | ||
| temn.msf.ingest.source.stream | "ms-servicerequest-outbox" | ||
| temn.queue.impl | "kafka" | ||
| temn.msf.ingest.generic.ingester | "com.temenos.microservice.framework.core.ingester.MSKafkaOutboxEventListener" | ||
| temn.msf.exec.env | "serverless" | ||
| temn.msf.stream.kafka.sasl.enabled | "true" | ||
| class_inbox_dao | "com.temenos.microservice.framework.core.inbox.InboxDaoImpl" | ||
| class_outbox_dao | "com.temenos.microservice.framework.core.outbox.OutboxDaoImpl" | ||
| class.package.name | "com.temenos.microservice.servicerequestv2.function" | ||
| temn_msf_security_authz_enabled | "false" | ||
| eventHubConnection | "TEST" | ||
| eventHubConsumerGroup | "$Default" | ||
| eventHubName | "ms-servicerequest-outbox" | ||
| temn.msf.stream.kafka.bootstrap.servers | "%INBOX_OUTBOX_EVENT_HUB_NAME_SPACE:"=%.servicebus.windows.net:9093" |
In this topic