1. Prepare Deployment Configuration

Steps to prepare the deployment configuration file

Topics covered:

Overview

It's important to prepare a global deployment configuration yaml file that contains all necessary user-specific custom values like URL, gateways, persistent storage ids, DB details etc.

Pre-reads

Post-Kubernetes Cluster setup, the deployment consists of 2 stages. We will be deploying HCM and show the required configurations. The deployment steps are similar for all other modules except that the prerequisites differ depending on required features like SMS Gateway, Payment Gateway, etc.

Steps To Prepare Deployment Configuration File

Navigate to the following file in your local machine from the previously cloned DevOps git repository.

Deployment Config Template
global:
   domain: <domain_name> ## Add your Domain Name "Eg: site.mydomain.com" Do not use the dummy domain 
   setup: fullsetup

cluster-configs:
    namespaces:  
      create: true
      values: [ backbone, cert-manager, egov, es-cluster, kafka-kraft, logging, monitoring, playground, zookeeper-cluster ]
      
    root-ingress:
      cert-issuer: letsencrypt-prod
    configmaps:
        egov-config:
            namespace: [ egov, es-cluster, monitoring ]
            data:
                db-host: <db_host_name> ## Add db-host name example: egov-demo.database.azure.com
                db-name: <db_name> ## Add db-name
                db-url: "jdbc:postgresql://<db_host_name>/<db_name>" ## example: jdbc:postgresql://egov-demo.postgres.database.azure.com:5432/egov_demo
                db-url-no-schema: "jdbc:postgresql://<db_host_name>/<db_name>" ## example: jdbc:postgresql://egov-demo.postgres.database.azure.com:5432/egov_demo
                domain: <domain_name> ## Add your Domain Name
                egov-services-fqdn-name: https://<domain_name>/ ## Add your Domain Name
                egov-state-level-tenant-id: "mz"
                s3-assets-bucket: "(pg-health-egov-assets|egov-health-playground-assets)"
                es-host: "elasticsearch-data.es-cluster"
                es-host-6: "elasticsearch-data.es-cluster"
                es-indexer-host: "https://elasticsearch-master.es-cluster:9200/"
                es-indexer-host-8: "https://elasticsearch-master.es-cluster:9200/"
                flyway-locations: "filesystem:/flyway/sql,filesystem:/flyway/seed,filesystem:/flyway/qa"
                kafka-brokers: "release-name-kafka-controller-headless.kafka-kraft:9092"
                kafka-infra-brokers: "kafka-v2-infra.kafka-cluster:9092"
                logging-level-jdbc: "DEBUG"
                mobile-validation-workaround: "true"
                serializers-timezone-in-ist: "true"
                server-tomcat-max-connections: "500"
                server-tomcat-max-threads: "10"
                sms-enabled: "true"
                spring-datasource-tomcat-initialSize: "1"
                spring-datasource-tomcat-max-active: "2"
                spring-jpa-show-sql: "true"
                timezone: "UTC"
                tracer-errors-provideexceptionindetails: "true"
                egov-internal-microservice-user-uuid: fa0f820c-49df-46bb-8e62-8a0ec5d9af5e
                kibana-base-path: kibana-upgrade 
                kibana-host: "http://kibana-v1.es-upgrade:5601/"

        egov-service-host:
            namespace: [ egov, es-cluster, monitoring ]
            data:
              asset-services: "http://asset-services:8080/"
              boundary-service: 'http://boundary-service.egov:8080/'
              asset-services-maha: "http://asset-services-maha:8080/"
              billing-service: "http://billing-service:8080/"
              collection-services: "http://collection-services:8080/"
              collection-masters: "http://collection-masters:8080/"
              collection-search-indexer: "http://collection-search-indexer:8080/"
              citizen-indexer: "http://citizen-indexer:8080/"
              citizen-services: "http://citizen-services:8080/"
              dashboard-analytics: "http://dashboard-analytics.egov:8080/"
              dashboard-ingest: "http://dashboard-ingest.egov:8080/"
              demand-services: "http://demand-services:8080/"
              data-sync-employee: "http://data-sync-employee:8080/"
              egov-common-masters: "http://egov-common-masters:8080/"
              egf-masters: "http://egf-masters:8080/"
              egf-master: "http://egf-master:8080/"
              egf-instrument: "http://egf-instrument:8080/"
              egf-voucher: "http://egf-voucher:8080/"
              egf-bill: "http://egf-bill:8080/"
              egov-enc-service: "http://egov-enc-service.egov:8080/"
              egf-voucher-workflow: "http://egf-voucher-workflow:8080/"
              egov-accesscontrol: "http://egov-accesscontrol:8080/"
              egov-user: "http://egov-user:8080/"
              egov-user-egov: "http://egov-user.egov:8080/"
              egov-location: "http://egov-location:8080/"
              egov-filestore: "http://egov-filestore:8080/"
              egov-localization: "http://egov-localization:8080/"
              egov-idgen: "http://egov-idgen:8080/"
              egov-otp: "http://egov-otp:8080/"
              egov-mdms-service: "http://mdms-v2:8080/"
              mdms-v2: "http://mdms-v2:8080/"
              egov-workflow: "http://egov-workflow:8080/"
              egov-workflow-v2: "http://egov-workflow-v2:8080/"
              egov-searcher: "http://egov-searcher:8080/"
              egov-data-uploader: "http://egov-data-uploader:8080/"
              egov-indexer: "http://egov-indexer:8080/"
              egov-hrms: "http://egov-hrms:8080/"
              es-client: "http://elasticsearch-data-v1.es-cluster:9200"
              health-attendance: "http://attendance:8080/"
              location: "http://location:8080/"
              performance-assessment: "http://performance-assessment:8080/"
              pdf-service: "http://pdf-service.egov:8080/"
              report: "http://report:8080/"
              user-otp: "http://user-otp:8080/"
              minio-url: "https://minio-uat.digit.org/"
              zuul: "http://zuul:8080/"
              egov-url-shortening: "http://egov-url-shortening:8080/"
              inbox: "http://inbox.egov:8080/"
              pgr-services: "http://pgr-services.egov:8080/"
              egov-pdf: "http://egov-pdf.egov:8080/"
              audit-service: "http://audit-service:8080/"
              project: "http://project:8080/"
              product: "http://product:8080/"
              household: "http://household:8080/"
              individual: "http://individual:8080/"
              stock: "http://stock:8080/"
              facility: "http://facility:8080/"
              service-request: "http://service-request:8080/"
              plan-service: "http://plan-service.egov:8080/"
              census-service: "http://census-service.egov:8080/"
              project-factory: "http://project-factory.egov:8080/"
              mdms-service-v2: 'http://mdms-v2.egov:8080/'
              health-expense: 'http://expense.egov:8080/'
              health-expense-calculator: 'http://health-expense-calculator.egov:8080/'
              health-muster-roll: 'http://muster-roll.egov:8080/'
              beneficiary-idgen: 'http://beneficiary-idgen.egov:8080/'

employee:
  dashboard-url: "https://dashboard-pbuat.egovernments.org/s/w---s/app/kibana#/dashboard/4e687470-f3c7-11e8-8d09-b151e2b1cf8e?embed=true&_g=(refreshInterval%3A(pause%3A!f%2Cvalue%3A300000)%2Ctime%3A(from%3Anow-15m%2Cmode%3Aquick%2Cto%3Anow))"
  custom-js-injection: |
    sub_filter.conf: "
      sub_filter  '<head>' '<head>
      <script src=https://unpkg.com/@egovernments/[email protected]/dist/egov-telemetry-1557467338.js type=text/javascript></script>
      <script src=https://egov-health-demo-assets.s3.ap-south-1.amazonaws.com/globalConfigs.js type=text/javascript></script>
      ';"

citizen:
  custom-js-injection: |
    sub_filter.conf: "
      sub_filter  '<head>' '<head>
      <script src=https://unpkg.com/@egovernments/[email protected]/dist/egov-telemetry-1557467338.js type=text/javascript></script>
      <script src=https://egov-health-demo-assets.s3.ap-south-1.amazonaws.com/globalConfigs.js type=text/javascript></script>
      ';"

workbench-ui:
  custom-js-injection: |
    sub_filter.conf: "
      sub_filter  '<head>' '<head>
      <script src=https://egov-dev-assets.s3.ap-south-1.amazonaws.com/hcm/workbenchGlobalConfigs.js type=text/javascript></script>';" 

microplan-ui:
  custom-js-injection: |
    sub_filter.conf: "
      sub_filter  '<head>' '<head>
      <script src=https://egov-dev-assets.s3.ap-south-1.amazonaws.com/analytics/analytics.js type=text/javascript></script>      
      <script src=https://egov-dev-assets.s3.ap-south-1.amazonaws.com/hcm/globalConfigsMicroplanDemo.js type=text/javascript></script>
      ';" 

digit-ui:
  custom-js-injection: |
    sub_filter.conf: "
      sub_filter  '<head>' '<head>
      <script src=https://egov-health-demo-assets.s3.ap-south-1.amazonaws.com/globalConfigs.js type=text/javascript></script>
      ';"

payments-ui:
  custom-js-injection: |
    sub_filter.conf: "
      sub_filter  '<head>' '<head>
      <script src=https://egov-dev-assets.s3.ap-south-1.amazonaws.com/analytics/analytics.js type=text/javascript></script>     
      <script src=https://egov-dev-assets.s3.ap-south-1.amazonaws.com/globalConfigsPaymentDev.js type=text/javascript></script>
      ';"  
egov-filestore:
  volume: /opt/eGov/filestore
  is-bucket-fixed: "true"
  minio.url : "http://minio.backbone:9000/"
  aws.s3.url : "https://s3.amazonaws.com"
  is-s3-enabled: "false"
  minio-enabled: false
  allowed-file-formats-map: "{jpg:{'image/jpg','image/jpeg'},jpeg:{'image/jpeg','image/jpg'},png:{'image/png'},pdf:{'application/pdf'},odt:{'application/vnd.oasis.opendocument.text'},ods:{'application/vnd.oasis.opendocument.spreadsheet'},docx:{'application/x-tika-msoffice','application/x-tika-ooxml','application/vnd.oasis.opendocument.text','application/msword'},doc:{'application/x-tika-msoffice','application/x-tika-ooxml','application/vnd.oasis.opendocument.text','application/msword'},dxf:{'text/plain','application/dxf','application/octet-stream','image/vnd.dxf','image/vnd.dxf; format=ascii','image/vnd.dxf; format=binary','image/vnd.dxb'},csv:{'text/plain'},txt:{'text/plain'},xlsx:{'application/x-tika-ooxml','application/x-tika-msoffice','application/vnd.ms-excel','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','application/zip','multipart/form-data'},xls:{'application/x-tika-ooxml','application/x-tika-msoffice','application/vnd.ms-excel','multipart/form-data'},zip:{'application/zip','application/octet-stream'},geojson:{'application/json','text/plain','application/geo+json','multipart/form-data'},json:{'application/json','text/plain'}}"
  allowed-file-formats: "jpg,jpeg,png,doc,docx,pdf,odt,ods,text,dxf,xls,xlsx,zip,geojson,json"
  filestore-url-validity: 3600
  fixed-bucketname: egov-demo-filestore  ## Add filestore bucket name

egov-idgen:
  replicas : 1
  idformat-from-mdms: "true"
  java-args: -Dspring.profiles.active=monitoring
  heap: "-Xmx512m -Xms256m"
  memory_limits: 512Mi
  autocreate-new-seq: "true"

pgr-services:
  central-instance-build: true
  central-instance-name: egov
  central-instance-enabled: false

household:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false


service-request:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false

referralmanagement:
  central-instance-build: true
  central-instance-name: egov
  central-instance-enabled: false
  memory_limits: 768Mi
  heap: "-Xmx384m -Xms384m"
  egov-mdms-service-host-key: 'mdms-service-v2'
  egov-mdms-service-endpoint-key: "/mdms-v2/v1/_search"

stock:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false 

egov-otp:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  memory_limits: "512Mi"
  heap: "-Xmx256m -Xms256m"   

egov-notification-sms:
  sms-provider-url: "sms provider url" ## Add sms provider url
  sms.provider.class: "Generic"
  sms.provider.contentType:  "application/x-www-form-urlencoded"
  sms-config-map: "{'User':'$username', 'passwd': '$password', 'sid':'$senderid', 'mobilenumber':'$mobileno', 'message':'$message', 'mtype':'N', 'DR':'N', 'smsservicetype':'singlemsg'}"
  sms-gateway-to-use: "sms provider name" ## Add sms provider name
  sms-sender: "sms sender" ## Add sms sender
  sms-sender-requesttype: "GET"
  sms-custom-config: "true"
  sms-extra-req-params: "mtype=N&DR=Y"
  sms-sender-req-param-name: "sid"
  sms-sender-username-req-param-name: "User"
  sms-sender-password-req-param-name: "passwd"
  sms-destination-mobile-req-param-name: "mobilenumber"
  sms-message-req-param-name: "message"
  sms-error-codes: "401,403,404,405,406,407,408,409,410,411,412,413,414"

egov-user:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  replicas: 1
  heap: "-Xmx512m -Xms256m"
  memory_limits: 512Mi
  otp-validation: "true"
  citizen-otp-enabled: "true"
  employee-otp-enabled: "false"
  access-token-validity: 10080
  refresh-token-validity: 20160
  default-password-expiry: 90
  mobile-number-validation: "false"
  roles-state-level: "true"
  citizen-registration-withlogin: "true"
  citizen-otp-fixed: "123456"
  citizen-otp-fixed-enabled: "true"
  egov-state-level-tenant-id: "mz"
  state-level-tenant-id: "mz"
  decryption-abac-enabled: "false"

chatbot:
  kafka-topics-partition-count: 3
  kafka-topics-replication-factor: 2
  kafka-consumer-poll-ms: 10
  kafka-producer-linger-ms: 5

  contact-card-whatsapp-number: "+918744960111"
  contact-card-whatsapp-name: "mSeva Punjab"
  valuefirst-whatsapp-number: "918744960111"
  valuefirst-notification-assigned-templateid: "194781"
  valuefirst-notification-resolved-templateid: "194783"
  valuefirst-notification-rejected-templateid: "194785"
  valuefirst-notification-reassigned-templateid: "194787"
  valuefirst-notification-commented-templateid: "194789"
  valuefirst-notification-welcome-templateid: "194791"
  valuefirst-notification-root-templateid: "194795"
  valuefirst-send-message-url: "https://api.myvaluefirst.com/psms/servlet/psms.JsonEservice"

  user-service-chatbot-citizen-passwrord: "123456"


ws-services:
  wcid-format: "WS/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]"

bpa-services:
  memory_limits: 384Mi
  java-args: -Dspring.profiles.active=monitoring
  java-debug: true
  tracing-enabled: "true"
  egov.idgen.bpa.applicationNum.format: PB-BP-[cy:yyyy-MM-dd]-[SEQ_EG_BP_APN]

bpa-calculator:
  memory_limits: 384Mi
  java-args: -Dspring.profiles.active=monitoring
  java-debug: true
  tracing-enabled: "true"

sw-services:
  scid-format: "SW/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]"

audit-service:
  persist-yml-path: "https://raw.githubusercontent.com/egovernments/configs/UNIFIED-DEV/works/egov-persister/attendance-service-persister.yml,https://raw.githubusercontent.com/egovernments/configs/UNIFIED-DEV/works/egov-persister/muster-service-persister.yml,https://raw.githubusercontent.com/egovernments/configs/UNIFIED-DEV/works/egov-persister/estimate-service.yml,https://raw.githubusercontent.com/egovernments/configs/UNIFIED-DEV/works/egov-persister/contract-service-persister.yml,https://raw.githubusercontent.com/egovernments/configs/UNIFIED-DEV/works/egov-persister/bankaccounts-persister.yml,https://raw.githubusercontent.com/egovernments/configs/UNIFIED-DEV/works/egov-persister/expense-bill-payment-persister.yaml,https://raw.githubusercontent.com/egovernments/configs/UNIFIED-DEV/egov-persister/mdms-persister.yml,https://raw.githubusercontent.com/egovernments/health-campaign-config/DEMO/egov-persister/boundary-persister.yml"
  initContainers:
    gitSync:
      repo: "[email protected]:egovernments/configs" 
      branch: "UNIFIED-DEV"

egov-pg-service:
  axis: true

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
egov-mdms-service:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  replicas: 1
  heap: "-Xmx512m -Xms512m"
  images:
    - egovio/egov-mdms-service
  mdms-path: "/work-dir/health-campaign-mdms/data"
  initContainers:
    gitSync:
      repo: "[email protected]:egovernments/health-campaign-mdms"   ##### Change repo url with Your fork Repo url
      branch: "DEMO"                                        ##### Change repo branch with Your fork Repo branch
  mdms-folder: "health-campaign-mdms"
  masters-config-url: "file:///work-dir/health-campaign-mdms/master-config.json"
  java-args: -Dspring.profiles.active=monitoring

egov-indexer:
  heap: "-Xmx512m -Xms512m"
  memory_limits: "768Mi"
  initContainers:
    gitSync:
      repo: "https://github.com/egovernments/health-campaign-config"        ##### Change repo url with Your fork Repo urls
      branch: "DEMO"                                      ##### Change repo branch with Your fork Repo branches
  egov-indexer-yaml-repo-path: "file:///work-dir/health-campaign-config/egov-indexer/error-queue.yml,file:///work-dir/health-campaign-config/egov-indexer/product-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/project-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/individual-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/household-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/project-task-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/stock-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/facility-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/project-staff-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/egov-error-queue-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/pgr-services.yml,file:///work-dir/health-campaign-config/egov-indexer/service-request-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/transformer-pgr-services.yml,file:///work-dir/health-campaign-config/egov-indexer/referral-management-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/census-service-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/plan-service-indexer.yml,file:///work-dir/health-campaign-config/egov-indexer/attendance-service-indexer.yml"

egov-persister:
  replicas: 1
  heap: '-Xmx256m -Xms256m'
  images:
    - egovio/egov-persister
  persist-yml-path: "file:///work-dir/health-campaign-config/egov-persister/hrms-employee-persister.yml,file:///work-dir/health-campaign-config/egov-persister/product-persister.yml,file:///work-dir/health-campaign-config/egov-persister/project-persister.yml,file:///work-dir/health-campaign-config/egov-persister/individual-persister.yml,file:///work-dir/health-campaign-config/egov-persister/household-persister.yml,file:///work-dir/health-campaign-config/egov-persister/project-task-persister.yml,file:///work-dir/health-campaign-config/egov-persister/stock-persister.yml,file:///work-dir/health-campaign-config/egov-persister/facility-persister.yml,file:///work-dir/health-campaign-config/egov-persister/service-request-persister.yml,file:///work-dir/health-campaign-config/egov-persister/pgr-services-persister.yml,file:///work-dir/health-campaign-config/egov-persister/egov-workflow-v2-persister.yml,file:///work-dir/health-campaign-config/egov-persister/mdms-persister.yml,file:///work-dir/health-campaign-config/egov-persister/referral-management-persister.yml,file:///work-dir/health-campaign-config/egov-persister/project-factory-persister.yml,file:///work-dir/health-campaign-config/egov-persister/attendance-service-persister.yml,file:///work-dir/health-campaign-config/egov-persister/irs-persister.yml,file:///work-dir/health-campaign-config/egov-persister/census-service-persister.yml,file:///work-dir/health-campaign-config/egov-persister/plan-service-persister.yml,file:///work-dir/health-campaign-config/egov-persister/boundary-persister.yml"
  initContainers:
    gitSync:
      repo: "https://github.com/egovernments/health-campaign-config"      ##### Change repo url with Your fork Repo url
      branch: "DEMO"                                    ##### Change repo branch with Your fork Repo branch

egov-data-uploader:
  initContainers:
    gitSync:
      repo: "[email protected]:egovernments/health-campaign-config"      ##### Change repo url with Your fork Repo url
      branch: "DEMO"                                    ##### Change repo branch with Your fork Repo branch

egov-searcher:
  search-yaml-path: ""
  initContainers:
    gitSync:
      repo: "[email protected]:egovernments/health-campaign-config"     ##### Change repo url with Your fork Repo url
      branch: "DEMO"                                   ##### Change repo branch with Your fork Repo branch

dashboard-analytics:
  config-schema-paths: "file:///work-dir/health-campaign-config/egov-dss-dashboards/dashboard-analytics/*.json"
  initContainers:
    gitSync:
      repo: "[email protected]:egovernments/health-campaign-config"      ##### Change repo url with Your fork Repo url
      branch: "DEMO"                                    ##### Change repo branch with Your fork Repo branch

dashboard-ingest:
  config-schema-paths: "file:///work-dir/health-campaign-config/egov-dss-dashboards/dashboard-ingest/*.json"
  initContainers:
    gitSync:
      repo: "[email protected]:egovernments/health-campaign-config"      ##### Change repo url with Your fork Repo url
      branch: "DEMO"

# reportinfra >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
report:
  heap: "-Xmx512m -Xms512m"
  tracing-enabled: "true"
  spring-datasource-tomcat-max-active: 5
  initContainers:
    gitSync:
      repo: "[email protected]:egovernments/health-campaign-config"     ##### Change repo url with Your fork Repo url
      branch: "DEMO"                                   ##### Change repo branch with Your fork Repo branch
  report-locationsfile-path: "file:///work-dir/health-campaign-config/reports/reportFileLocationsv1.txt"

pdf-service:
  initContainers:
    gitSync:
      repo: "https://github.com/egovernments/health-campaign-config"     ##### Change repo url with Your fork Repo url
      branch: "DEMO"                                   ##### Change repo branch with Your fork Repo branch
  data-config-urls: "file:///work-dir/health-campaign-config/pdf-service/data-config/tradelicense-receipt.json,file:///work-dir/health-campaign-config/pdf-service/data-config/property-receipt.json,file:///work-dir/health-campaign-config/pdf-service/data-config/property-bill.json,file:///work-dir/health-campaign-config/pdf-service/data-config/tradelicense-bill.json,file:///work-dir/health-campaign-config/pdf-service/data-config/firenoc-receipt.json,file:///work-dir/health-campaign-config/pdf-service/data-config/pt-receipt.json,file:///work-dir/health-campaign-config/pdf-service/data-config/tl-receipt.json,file:///work-dir/health-campaign-config/pdf-service/data-config/consolidatedbill.json,file:///work-dir/health-campaign-config/pdf-service/data-config/consolidatedreceipt.json,file:///work-dir/health-campaign-config/pdf-service/data-config/tlapplication.json,file:///work-dir/health-campaign-config/pdf-service/data-config/passvehicle-certificate.json,file:///work-dir/health-campaign-config/pdf-service/data-config/ws-consolidatedacknowlegment.json,file:///work-dir/health-campaign-config/pdf-service/data-config/ws-consolidatedsewerageconnection.json,file:///work-dir/health-campaign-config/pdf-service/data-config/buildingpermit.json,file:///work-dir/health-campaign-config/pdf-service/data-config/ptmutationcertificate.json,file:///work-dir/health-campaign-config/pdf-service/data-config/tlrenewalcertificate.json,file:///work-dir/health-campaign-config/pdf-service/data-config/bpa-revocation.json,file:///work-dir/health-campaign-config/pdf-service/data-config/buildingpermit-low.json,file:///work-dir/health-campaign-config/pdf-service/data-config/misc-receipt.json,file:///work-dir/health-campaign-config/pdf-service/data-config/ws-applicationwater.json,file:///work-dir/health-campaign-config/pdf-service/data-config/ws-sanctionletter.json,file:///work-dir/health-campaign-config/pdf-service/data-config/ws-estimationnotice.json,file:///work-dir/health-campaign-config/pdf-service/data-config/ws-applicationsewerage.json,file:///work-dir/health-campaign-config/pdf-service/data-config/tlcertificate.json,file:///work-dir/health-campaign-config/pdf-service/data-config/detailed-estimate.json,file:///work-dir/health-campaign-config/pdf-service/data-config/deviation-statement.json,file:///work-dir/health-campaign-config/pdf-service/data-config/measurement-book.json,file:///work-dir/health-campaign-config/pdf-service/data-config/fsm-receipt.json,file:///work-dir/health-campaign-config/pdf-service/data-config/pqm-adhoctest.json,file:///work-dir/health-campaign-config/works/pdf-service/data-config/analysis-statement.json,file:///work-dir/health-campaign-config/works/pdf-service/data-config/utilization-statement.json,file:///work-dir/health-campaign-config/health/pdf-service/data-config/health-bill-payment.json"
  format-config-urls: "file:///work-dir/health-campaign-config/pdf-service/format-config/tradelicense-receipt.json,file:///work-dir/health-campaign-config/pdf-service/format-config/property-receipt.json,file:///work-dir/health-campaign-config/pdf-service/format-config/property-bill.json,file:///work-dir/health-campaign-config/pdf-service/format-config/tradelicense-bill.json,file:///work-dir/health-campaign-config/pdf-service/format-config/firenoc-receipt.json,file:///work-dir/health-campaign-config/pdf-service/format-config/pt-receipt.json,file:///work-dir/health-campaign-config/pdf-service/format-config/tl-receipt.json,file:///work-dir/health-campaign-config/pdf-service/format-config/consolidatedbill.json,file:///work-dir/health-campaign-config/pdf-service/format-config/consolidatedreceipt.json,file:///work-dir/health-campaign-config/pdf-service/format-config/tlapplication.json,file:///work-dir/health-campaign-config/pdf-service/format-config/passvehicle-certificate.json,file:///work-dir/health-campaign-config/pdf-service/format-config/ws-consolidatedacknowlegment.json,file:///work-dir/health-campaign-config/pdf-service/format-config/ws-consolidatedsewerageconnection.json,file:///work-dir/health-campaign-config/pdf-service/format-config/buildingpermit.json,file:///work-dir/health-campaign-config/pdf-service/format-config/ptmutationcertificate.json,file:///work-dir/health-campaign-config/pdf-service/format-config/tlrenewalcertificate.json,file:///work-dir/health-campaign-config/pdf-service/format-config/bpa-revocation.json,file:///work-dir/health-campaign-config/pdf-service/format-config/buildingpermit-low.json,file:///work-dir/health-campaign-config/pdf-service/format-config/misc-receipt.json,file:///work-dir/health-campaign-config/pdf-service/format-config/ws-applicationwater.json,file:///work-dir/health-campaign-config/pdf-service/format-config/ws-sanctionletter.json,file:///work-dir/health-campaign-config/pdf-service/format-config/ws-estimationnotice.json,file:///work-dir/health-campaign-config/pdf-service/format-config/ws-applicationsewerage.json,file:///work-dir/health-campaign-config/pdf-service/format-config/tlcertificate.json,file:///work-dir/health-campaign-config/pdf-service/format-config/detailed-estimate.json,file:///work-dir/health-campaign-config/pdf-service/format-config/deviation-statement.json,file:///work-dir/health-campaign-config/pdf-service/format-config/measurement-book.json,file:///work-dir/health-campaign-config/pdf-service/format-config/fsm-receipt.json,file:///work-dir/health-campaign-config/pdf-service/format-config/pqm-adhoctest.json,file:///work-dir/health-campaign-config/works/pdf-service/format-config/analysis-statement.json,file:///work-dir/health-campaign-config/works/pdf-service/format-config/utilization-statement.json,file:///work-dir/health-campaign-config/health/pdf-service/format-config/health-bill-payment.json"

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

# financials >>>>>>>>>>>>>>>>>>>>>>>>>>>>

egf-master:
  db-url: "jdbc:postgresql://health-eks-demo-db.cqqfmghbjssw.ap-south-1.rds.amazonaws.com:5432/healthdemo"
  memory_limits: 512Mi
  heap: "-Xmx256m -Xms256m"
# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
egov-custom-consumer:
  erp-host: "https://mohali-qa.egovernments.org/"

egov-apportion-service:
  memory_limits: 512Mi
  heap: -Xmx256m -Xms256m

# docs >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
redoc:
  replicas: 1
  images:
    - egovio/redoc:v1.0.5
  service_type: LoadBalancer
# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

# gateway >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

nginx-ingress:
  images:
    - quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
  replicas: 1
  default-backend-service: "egov/nginx"
  namespace: egov
  cert-issuer: "letsencrypt-prod"
  ssl-protocols: "TLSv1.2 TLSv1.3"
  ssl-ciphers: "EECDH+CHACHA20:EECDH+AES"
  ssl-ecdh-curve: "X25519:prime256v1:secp521r1:secp384r1"
  controller:
    image:
      repository: egovio/nginx-ingress-controller
      tag: "0.26.1"
    metrics:            #To collect the matrics data from nginx-ingress.
      enabled: true
    serviceMonitor:   #To enable the service monitoring of nginx-ingress
      enabled: true
    service:
      prometheusRule:
        enabled: true

cert-manager:
  email: "[email protected]"     ### Add email-id which used by cert-manager for certificates validation.


zuul:
  replicas: 1
  custom-filter-property: "false"
  tracing-enabled: "true"
  heap: "-Xmx704m -Xms512m"
  server-tomcat-max-threads: "350"
  server-tomcat-max-connections: "1500"
  egov-open-endpoints-whitelist: "/user/oauth/token,/user-otp/v1/_send,/otp/v1/_validate,/user/citizen/_create,/localization/messages,/localization/messages/v1/_search,/user/password/nologin/_update,/pgr/servicedefinition/v1/_search,/pgr/servicecategories/v1/_search,/pgr/v1/otp/_send,/pgr-master/receivingmode/v1/_search,/tenant/v1/tenant/_search,/egov-location/boundarys,/egov-location/boundarys/boundariesByBndryTypeNameAndHierarchyTypeName,/pgr-master/service/v1/_search,/egov-location/boundarys/getLocationByLocationName,/pgr-master/OTPConfig/_search,/pgr-master/serviceGroup/v1/_search,/egov-location/boundarys/isshapefileexist,/pgr/services/v1/_search,/hr-masters/hrconfigurations/_search,/collection-services/receipts/_view,/pgr-master/service/v2/_search,/pgr-master/servicedefinition/v1/_search,/citizen-services,/citizen-services/v1/requests/receipt/_create,/citizen-services/v1/pgresponse,/citizen-services/v1/requests/anonymous/_search,/egov-mdms-service/v1/_search,/egov-mdms-service/v1/_get,/egov-mdms-service/v1/_reload,/egov-mdms-service/v1/_reloadobj,/egov-location/boundarys/getshapefile,/egov-indexer/index-operations/_index,/egov-indexer/index-operations/_reload,/egov-mdms-service-test/v1/_search,/egov-mdms-create/v1/_update,/egov-mdms-create/v1/_create,/egov-mdms-service-test/v1/_reload,/filestore/v1/files/url,/egov-url-shortening,/whatsapp-webhook/messages,/edcr/rest/dcr/downloadfile,/dashboard-ingest/ingest/upload,/egov-searcher/water-services/wateropensearch/_get,/egov-searcher/sewerage-services/sewerageopensearch/_get,/xstate-chatbot/status,/xstate-chatbot/reminder,/nlp-engine/fuzzy/city,/nlp-engine/fuzzy/locality,/mdms-v2/schema/v1/_search,/mdms-v2/v2/_search,/mdms-v2/v2/_create,/mdms-v2/v1/_search,/mdms-v2/v2/_create/ACCESSCONTROL-ACTIONS-TEST.actions-test,/mdms-v2/v2/_create/ACCESSCONTROL-ROLES.roles,/mdms-v2/v2/_create/ACCESSCONTROL-ROLEACTIONS.roleactions,/mdms-v2/v2/_create,/boundary-service/boundary/_search"
  egov-mixed-mode-endpoints-whitelist: "/pgr/seva/v1/_create,/pgr/seva/v1/_search,/pgr/seva/v1/_count,/workflow/history/v1/_search,/filestore/v1/files/id,/filestore/v1/files,/filestore/v1/files/tag,/egov-common-masters/departments/_search,/pt-property/property/propertytypes/_search,/pt-property/properties/_search,/pt-property/property/usages/_search,/egov-idgen/id/_generate,/egf-masters/financialyears/_search,/egov-common-workflows/process/_start,/egov-common-workflows/process/_search,/egov-common-workflows/tasks,/egov-common-workflows/tasks/{id}/_update,/user/_search,/billing-service/demand/_dues,/billing-service/bill/_generate,/billing-service/demand/_create,/wcms/masters/waterchargesconfig/_search,/wcms/masters/usagetypes/_search,/wcms/masters/pipesizes/_search,/wcms-connection/connection/_getbillingtypes,/wcms-connection/connection/_getconnectiontypes,/wcms/masters/sourcetypes/_search,/wcms/masters/supplytypes/_search,/wcms/masters/storagereservoirs/_search,/wcms/masters/treatmentplants/_search,/wcms/masters/documenttypes-applicationtypes/_search,/wcms/masters/donations/_search,/wcms/masters/nonmeterwaterrates/_search,/wcms-connection/connection/_create,/egov-common-masters/genders/_search,/egov-common-workflows/designations/_search,/access/v1/actions/mdms/_get,/tl-services/v1/BPAREG/_create,/tl-services/v1/BPAREG/_update,/tl-calculator/v1/BPAREG/_getbill,/property-services/property/_search,/billing-service/bill/v2/_search,/egov-location/location/v11/boundarys/_search,/pg-service/transaction/v1/_create,/collection-services/payments/_search,/pdf-service/v1/_create,/billing-service/bill/v2/_fetchbill,/pg-service/transaction/v1/_update,/ws-services/wc/_search,/sw-services/swc/_search,/edcr/rest/dcr/scrutinydetails,/edcr/rest/dcr/occomparison,/egov-pdf/download/PAYMENT/consolidatedreceipt,/collection-services/payments/PT/_search,/collection-services/payments/WS/_search,/collection-services/payments/SW/_search,/collection-services/payments/WS.ONE_TIME_FEE/_search,/collection-services/payments/SW.ONE_TIME_FEE/_search,/turn-io-adapter/_transform,/egov-user-event/v1/events/_search"


collection-services:
  receiptnumber-servicebased: "true"
  receipt-search-paginate: "true"
  receipt-search-defaultsize: 30
  user-create-enabled: "true"

collection-receipt-voucher-consumer:
  jalandhar-erp-host: "https://jalandhar-qa.egovernments.org/"
  mohali-erp-host: "https://mohali-qa.egovernments.org/"
  nayagaon-erp-host: "https://nayagaon-qa.egovernments.org/"
  amritsar-erp-host: "https://amritsar-qa.egovernments.org/"
  kharar-erp-host: "https://kharar-qa.egovernments.org/"
  zirakpur-erp-host: "https://zirakpur-qa.egovernments.org/"

finance-collections-voucher-consumer:
  erp-env-name: "demo"
  erp-domain-name: "egovernments.org"

# rainmaker-pgr >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
rainmaker-pgr:
  notification-sms-enabled: "true"
  notification-email-enabled: "false"
  new-complaint-enabled: "true"
  reassign-complaint-enabled: "true"
  reopen-complaint-enabled: "true"
  comment-by-employee-notif-enabled: "false"
  notification-allowed-status: "open,assigned,rejected,resolved"

pt-services-v2:
  pt-userevents-pay-link: "/citizen/otpLogin?mobileNo=$mobile&redirectTo=egov-common/pay?consumerCode=$consumerCode&tenantId=$tenantId"

pt-calculator-v2:
  logging-level: "DEBUG"

tl-services:
  heap: "-Xmx128m -Xms64m"
  memory_limits: 384Mi
  java-args: -Dspring.profiles.active=monitoring
  tl-application-num-format: "APP-[SEQ_EG_TL_APL]"
  tl-license-num-format: "MP-LEP-[SEQ_EG_PT_LN]"
  tl-userevents-pay-link: "citizen/otpLogin?mobileNo=$mobile&redirectTo=egov-common/pay?consumerCode=$applicationNo&tenantId=$tenantId"
  tl-payment-topic-name: "egov.collection.payment-create"
  host-link: "https://egov-demo.egovernments.org/citizen/"
  pdf-link: "https://egov-demo.egovernments.org/egov-pdf/download/epass?tenantId={TENANTID}&uuid={UUID}"
  tl-search-default-limit: "100"


egov-workflow-v2:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  logging-level: "DEBUG"
  java-args: -Dspring.profiles.active=monitoring
  heap: "-Xmx192m -Xms192m"
  workflow-statelevel: "false"
  host-link: "https://egov-demo.egovernments.org/citizen/"
  pdf-link: "/download/epass?tenantId={TENANTID}&ids={UUID}"

egov-hrms:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  java-args: -Dspring.profiles.active=monitoring
  replicas : 1
  heap: '-Xmx512m -Xms256m'
  memory_limits: 512Mi
  employee-applink: "https://egov-demo.egovernments.org/employee/user/login"


egov-weekly-impact-notifier:
  mail-to-address: "[email protected]"

  mail-interval-in-secs: "604800"
  schedule: "30 07 * * *"

egov-enc-service:
  replicas: 1
  heap: '-Xmx512m -Xms256m'
  memory_limits: 512Mi

egov-accesscontrol:
  replicas : 1
  heap: "-Xmx512m -Xms256m"

# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Health Services

facility:
  central-instance-build: true
  central-instance-name: egov
  central-instance-enabled: false
  replicas: 1
  heap: '-Xmx512m -Xms256m'
  memory_limits: 512Mi

project:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  replicas: 1
  memory_limits: 768Mi
  heap: '-Xmx768m -Xms512m'

individual:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  replicas: 1
  heap: '-Xmx512m -Xms256m'
  memory_limits: 512Mi
  egov-beneficiary-idgen-host-key: "beneficiary-idgen"
  egov-idgen-generate-path: "egov-idgen/id/_generate"
  egov-beneficiary-idgen-idpool-search-path: "beneficiary-idgen/id/id_pool/_search"
  egov-beneficiary-idgen-idpool-update-path: "beneficiary-idgen/id/id_pool/_update"

product:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  heap: "-Xmx512m -Xms256m"
  replicas: 1
  memory_limits: 512Mi

beneficiary-idgen:
  idformat-from-mdms: "true"
  java-args: -Dspring.profiles.active=monitoring
  autocreate-new-seq: "true"
  mdmsSearchPath: "/mdms-v2/v1/_search"
  redis-ttl-in-days: 1
  java-enable-debug: true
  kafka:
    topics:
      saveInIdPool: "save-in-id-pool"
      updateIdPoolStatus: "update-id-pool-status"
      saveInDispatchLog: "save-dispatch-id-log"
  spring:
    redis:
      host: "redis.backbone"
      port: 6379
      cache:
        type: "redis"
        timeToLive: 86400
        autoExpiry: true
  redisson:
    redis:
      host: "redis.backbone"
      port: 6379
      timeout: 10000
      connectionPoolSize: 20
      connectionMinimumIdleSize: 10
      threads: 4
      nettyThreads: 4
  multiLock:
    waitTime: 5
    leaseTime: 10
  idPool:
    validation:
      enabled: true
    create:
      maxBatchSize: 500
  idgen:
    pool:
      seqCode: "id.pool.number.random"
    random:
      buffer: 5
    limit:
      perUser: 100
    fetch:
      limitFromDb: 100

project-factory:
  logLevel: 'info'
  defaultLocale: 'en_MZ'
  splitBoundariesOn: 'ADMIN_DISTRITO'
  replicas: 1
  namespace: 'egov'
  maxDebugChar: '2000'
  egov-mdms-service-host-key: 'mdms-service-v2'
  mdmsV2SearchEndpoint: 'mdms-v2/v2/_search'
  mdmsV1SearchEndpoint: 'mdms-v2/v1/_search'
  validateCampaignIdInMetadata: 'true'
  notCreateUserIfAlreadyThere: 'true'

plan-service:
  egov-mdms-service-host-key: 'mdms-service-v2'
  egov-mdms-service-endpoint-key: "/mdms-v2/v1/_search"
  egov-mdms-service-v2-endpoint-key: "/mdms-v2/v2/_search"
  memory_limits: 768Mi
  kafka-producer-max-request-size: "5000000"

census-service:
  kafka-producer-max-request-size: "5000000"

resource-generator:
  egov-mdms-service-host-key: 'mdms-service-v2'
  egov-mdms-service-endpoint-key: "/mdms-v2/v1/_search"
  egov-mdms-service-v2-endpoint-key: "/mdms-v2/v2/_search"


attendance:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  heap: "-Xmx256m -Xms256m"
  memory_limits: 512Mi
  egov-mdms-service-host-key: 'mdms-service-v2'
  egov-mdms-service-endpoint-key: "/mdms-v2/v1/_search"

health-expense-calculator:
  tracing-enabled: true
  java-enable-debug: true
  egov-mdms-service-endpoint-key: "/mdms-v2/v1/_search"
  report-header-title: "Health Campaign Payment Report"
  is-attendance-approval-required: "true"
  register-batch-size: 15
  bill-generation-async-enabled: "true"
  bill-generation-async-topic: "bill-generation-async-topic"
  egov-musterroll-search-endpoint: "/health-muster-roll/v1/_search"

expense:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  tracing-enabled: true
  java-enable-debug: true
  business-workflow-status-map: "{'EXPENSE.WAGES':'false'}"
  expense-billing-default-offset: 0
  expense-billing-default-limit: 100
  expense-billing-search-max-limit: 200
  spring-kafka-producer-properties-max-request-size: "10485760"

muster-roll:
  central-instance-name: egov
  central-instance-build: true
  central-instance-enabled: false
  tracing-enabled: true
  java-enable-debug: true
  musterroll-default-offset: 0
  musterroll-default-limit: 100
  musterroll-search-max-limit: 200
  musterroll-workflow-business-service: "HCMMUSTERROLL"
  attendance-log-search-endpoint: "health-attendance/log/v1/_search"
  attendance-register-search-endpoint: "health-attendance/v1/_search"
  attendance-register-update-endpoint: "health-attendance/v1/_update"
  attendance-register-search-limit: 100
  individual-search-endpoint: "individual/v1/_search"
  expense-calculator-endpoint: "health-expense-calculator/v1/_estimate"
  muster-restricted-search-roles: "PLACEHOLDER_ROLE"
  notification-sms-enabled: "false"
  musterroll-update-recompute-attendance-enabled: "false"
  musterroll-individual-entry-roles-enabled: "false"
  musterroll-validate-start-date-monday-enabled: "false"
  musterroll-add-bank-account-details-enabled: "false"
  musterroll-update-attendance-register-review-status-enabled: "true"
  musterroll-workflow-enabled: "true"
  musterroll-set-default-duration-enabled: "false"
  musterroll-validate-attendance-register-enabled: "true"

# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
kafka-config:
  topics: "egov.pgr.validated:1:1,egov.pgr.locationupdated:1:1,egov.pgr.workflowupdated:1:1,egov.pgr.saved:1:1,egov.pgr.indexing:1:1,egov.core.notification.email:1:1,egov.core.notification.sms:1:1,attendance-save-db:1:1,egov.employee:1:1,save-asset-db:1:1,update-asset-db:1:1,save-assetcategory-db:1:1,agreement-save-db:1:1,agreement-update-db:1:1,lams-workflow-start:1:1,lams-workflow-update:1:1,egov-common-holiday:1:1,egov.leaveopeningbalance-create:1:1,egov.leaveopeningbalance-update:1:1,egov-hr-leavetype:1:1,egov.leaveallotment-create:1:1,egov.leaveallotment-update:1:1,egov.designation-create:1:1,egov.designation-update:1:1,egov.position-create:1:1,egov.position-update:1:1,egov.egf.masters.validated.topic:1:1,egov.egf.masters.completed:1:1,egov.wcms.category-create:1:1,property-create-validated:1:1,property-create-tax-calculated:1:1,property-create-user-validated:1:1,property-create-workflow-started:1:1,property-create-workflow-updated:1:1,save-bill-db:1:1,update-bill-db:1:1,save-bill:1:1,update-bill:1:1,save-demand:1:1,update-demand:1:1,egov.collection.receipt-create:1:1,save-taxHeadMaster-db:1:1,update-taxHeadMaster:1:1,save-glCodeMaster-db:1:1,save-glCodeMaster:1:1,update-glCodeMaster-db:1:1,update-glCodeMaster:1:1,save-taxperiod-db:1:1,save-taxperiod:1:1,update-taxperiod-db:1:1,update-taxperiod:1:1,save-businessservicedetail-db:1:1,save-businessservicedetail:1:1,update-businessservicedetail-db:1:1,update-businessservicedetail:1:1,property-update-workflow-approved:1:1,property-update-user-validated:1:1,property-update-workflow-started:1:1,property-titletransfer-create-user-validated:1:1,property-titletransfer-update-user-validated:1:1,property-titletransfer-create-workflow-started:1:1,property-titletransfer-approved:1:1,property-titletransfer-workflow-updated:1:1,property-update-tax-calculated:1:1,property-update-validated:1:1,property-titletransfer-cretae-validated:1:1,property-titletransfer-update-validated:1:1,property-create-tax-generated:1:1,create-legacy-tradelicense-validated:1:1,egov.pgr.servicedefinition-create:1:1,demand-bill-update:1:1,egov.pgr.servicedefinition-update:1:1,egov-common-department-create:1:1,egov-common-department-update:1:1,egov.services.tl-services.create.legacy.tradelicense.validated:1:1,save-service-db:1:1,update-service-db:1:1,update-legacy-tradelicense-validated:1:1,tradelicense-validated:1:1,tradelicense-persisted:1:1,tradelicense-workflow-populated:1:1,demand-bill-update:1:1,egov.wcms.newconnection-create:1:1,egov.wcms.newconnection-update:1:1,update-newconn-workflow:1:1,initiated-newconn-workflow:1:1,works-offlinestatus-create-validated:1:1,works-offlinestatus-update-validated:1:1,works-contractor-create-validated:1:1,works-contractor-update-validated:1:1,works-letterofacceptance-create-validated:1:1,works-letterofacceptance-update-validated:1:1,works-measurementbook-create-update:1:1,works-revision-detailed-estimate-create-update:1:1,works-workorder-createupdate-validated:1:1,lcms-create-summon-validated:1:1,lcms-create-case:1:1,lcms-create-vakalatnama:1:1,lcms-parawisecomment-create:1:1,lcms-parawisecomment-update:1:1,lcms-assign-advocate:1:1,lcms-update-assign-advocate:1:1,lcms-advocate-create:1:1,lcms-advocate-update:1:1,advocate-payment-create:1:1,advocate-payment-update:1:1,lcms-opinion-create:1:1,lcms-opinion-update:1:1,legacy-case-create:1:1,legacy-hearing-create:1:1,legacy-case-voucher-create:1:1,legacy-case-advocate-create:1:1,lcms-hearingdetails-create:1:1,lcms-hearingdetails-update:1:1,lcms-notice-create:1:1,lcms-notice-update:1:1,lcms-register-create:1:1,lcms-register-update:1:1,lcms-evidence-create:1:1,lcms-evidence-update:1:1,lcms-agency-create:1:1,lcms-agency-update:1:1,lcms-personal-details-create:1:1,Lcms-event-create:1:1,lcms-create-summon-indexer:1:1,lcms-legacy-casecreate-indexer:1:1,works-abstract-estimate-createandupdate:1:1,works-detailed-estimate-createandupdate:1:1,works-revision-loa-create-update:1:1,works-sorrate-saveorupdate-validated:1:1,works-estimatetemplate-saveorupdate-validated:1:1,lcms-update-summon-validated:1:1,mdms.create.gitpushprocess:1:1,works-contractoradvance-saveorupdate-validated:1:1,works-qualitytesting-createandupdate:1:1,works-abstract-estimate-backupdate:1:1,works-detailedestimate-backupdate:1:1,works-abstract-estimate-backupdate-oncreate-detailedestimate:1:1,works-abstract-estimate-backupdate-oncancel-detailedestimate:1:1,works-detailedestimate-backupdate-oncreate-loa:1:1,works-detailedestimate-backupdate-oncancel-loa:1:1,swm-vehicleschedule-save-topic:1:1,works-projectcode-create:1:1,works-projectcode-update:1:1,works-masters-remarks-createandupdate:1:1,works-milestonetemplate-saveorupdate-validated:1:1,works-contractorbill-create-update:1:1,works-measurementbook-backupdate-for-billstatus:1:1,works-notice-createupdate-validated:1:1,works-milestone-saveorupdate-validated:1:1,works-trackmilestone-saveorupdate-validated:1:1,swm-shift-save-topic:1:1,swm-shift-update-topic:1:1,swm-shift-indexer-topic:1:1,works-letterofacceptance-backupdate-oncreate-workorder:1:1,works-letterofacceptance-backupdate-oncancel-workorder:1:1,works-loa-backupdate-oncreate-milestone:1:1,works-loa-backupdate-oncancel-milestone:1:1,works-loa-backupdate-oncreate-contractoradvance:1:1,works-loa-backupdate-oncancel-contractoradvance:1:1,works-loa-backupdate-onupdate-withallofflinestatusandworkorder:1:1,works-workorder-backupdate-oncreate-milestone:1:1,works-workorder-backupdate-oncancel-contractoradvance:1:1,works-loa-backupdate-onupdate-offlinestatus:1:1,works-workorder-backupdate-onupdate-offlinestatus:1:1,works-loa-backupdate-onupdate-withallofflinestatus:1:1,works-workorder-backupdate-onupdate-withallofflinestatus:1:1,works-loa-backupdate-oncreate-bill:1:1,works-loa-backupdate-oncancel-bill:1:1,works-loa-backupdate-oncreatemb:1:1,works-loa-backupdate-oncancelmb:1:1,works-loa-backupdate-oncreatembandnobill:1:1,works-loa-backupdate-oncreatembandbill:1:1,works-workorder-backupdate-oncreate-bill:1:1,works-workorder-backupdate-oncancel-bill:1:1,works-workorder-backupdate-oncreatembandnobill:1:1,works-workorder-backupdate-oncreatembandbill:1:1,egov.error:1:1,save-pt-property:1:1,update-pt-property:1:1,save-pt-billingslab:1:1,update-pt-billingslab:1:1,save-pg-txns:1:1,update-pg-txns:1:1,save-pg-txns-dump:1:1,update-pg-txns-dump:1:1,save-pt-drafts:1:1,update-pt-drafts:1:1,egov.collectionmasters.bankaccountservicemapping-create:1:1,bankaccountservicemapping-create:1:1,update-pt-property-index:1:1"
  zookeeper-connect: "zookeeper-v2.zookeeper-cluster:2181"
  kafka-brokers: "kafka-v2.kafka-cluster:9092"

logging-config:
  es-host: "elasticsearch-client-v1.es-cluster"
  es-port: "9200"

jaeger-config:
  host: ""
  port: ""
  sampler-type: ""
  sampler-param: ""
  sampling-strategies: |
    {
        "service_strategies": [
          {
            "service": "tl-services",
            "type": "probabilistic",
            "param": 0.5
          },
          {
            "service": "tl-calculator",
            "type": "probabilistic",
            "param": 0.5
          },
          {
            "service": "report-service",
            "type": "probabilistic",
            "param": 0.5
          },
          {
            "service": "pt-services-v2",
            "type": "probabilistic",
            "param": 0.5
          },
          {
            "service": "pt-calculator-v2",
            "type": "probabilistic",
            "param": 0.5
          },
          {
            "service": "collection-services",
            "type": "probabilistic",
            "param": 0.2
          },
          {
            "service": "billing-service",
            "type": "probabilistic",
            "param": 0.2
          },
          {
            "service": "egov-data-uploader",
            "type": "probabilistic",
            "param": 0.2
          },
          {
            "service": "egov-hrms",
            "type": "probabilistic",
            "param": 0.5
          },
          {
            "service": "rainmaker-pgr",
            "type": "probabilistic",
            "param": 0.5
          }
        ],
        "default_strategy": {
          "type": "probabilistic",
          "param": 0.05
        }
      }

# redis >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
redis:
  replicas: 1
  images:
    - egovio/redis:3.2
# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

playground:
  replicas: 1
  images:
    - egovio/playground:2.0


### Kafka Connect <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
kafka-connect:
  image:
    tag: "7.5.2"  

### Grafana >>>>>>>>>>>>>>>>>>>>
grafana:
  github:
    allowed_organizations: ["egovernments"]
    role_attribute_path: contains(groups[*], '@egovernments/micro-service-dev') && 'Viewer'
# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

### Prometheus & Alertmanager >>>>>>>>>>>>>>>>>>>>
prometheus:
  prometheusSpec:
    retention: 7d
    storageSpec:
      volumeClaimTemplate:
        spec:
          accessModes: ["ReadWriteOnce"]
          resources:
            requests:
              storage: 30Gi
    alertmanager:
      enabled: false
    externalLabels:
      cluster: <cluster-name>                         ## provide cluster name
    additionalScrapeConfigs:
      - job_name: 'nginx-ingress-metrics'
        static_configs:
          - targets: [ 'ingress-nginx-controller-metrics.egov:10254' ]
      - job_name: 'redis-exporter'
        static_configs:
          - targets: [ 'prometheus-redis-exporter.backbone:9121' ]
      - job_name: 'blackbox'
        metrics_path: /probe
        params:
          module: [ http_2xx ]
        static_configs:
          - targets:
              - <list of urls to be monitored>         ## add all URLs to monitor example -  https://demo.digit.org/digit-ui
        relabel_configs:
          - source_labels: [ __address__ ]
            target_label: __param_target
          - source_labels: [ __param_target ]
            target_label: instance
          - target_label: __address__
            replacement: blackbox-prometheus-blackbox-exporter:9115
      - job_name: 'blackbox_exporter'
        static_configs:
          - targets: [ 'blackbox-prometheus-blackbox-exporter:9115' ]
# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

### loki-stack >>>>>>>>>>>>>>>>>>>>>>>>>>
loki:
  persistence:
    enabled: true
    accessModes:
      - ReadWriteOnce
    size: 30Gi
  serviceAccount:
    annotations: {}
  additionalConfigs:
    schema_config:
      configs:
        - from: 2020-10-24
          store: boltdb-shipper
          object_store: filesystem                 ## local filesystem as storage
          schema: v11
          index:
            prefix: index_
            period: 24h
    storage_config:
      boltdb_shipper:
        active_index_directory: /data/loki/index
        cache_location: /data/loki/index_cache
        shared_store: filesystem                  ## local filesystem as storage
        cache_ttl: 24h
      filesystem:
        directory: /data/loki/chunks
    compactor:
      working_directory: /data/loki/boltdb-shipper-compactor
      shared_store: filesystem                    ## local filesystem as storage
      retention_enabled: true
      compaction_interval: 72h                    ## compaction in hours
    table_manager:
      retention_deletes_enabled: true
      retention_period: 72h                       ## retention in hours
# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

### kafka-ui >>>>>>>>>>>>>>>>>>>>>>>>>>>>
kafka-ui:
  yamlApplicationConfig:
    kafka:
      clusters:
        - name: kafka-kraft
          bootstrapServers: release-name-kafka-controller-headless.kafka-kraft:9092
          readonly: true
# <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Secrets File Template
cluster-configs:
    secrets:
        db:          # update the postgres db credentials 
            username: <db_username>
            password: <db_password>  # must be more than 8 characters
            flywayUsername: <db_username>
            flywayPassword: <db_password>  # must be more than 8 characters
        egov-notification-sms: # To work sms notification service add the sms provider details
            username: demo
            password: demo
        egov-filestore:   # To work Filestore service add the IAM user details which has access on the filestore s3 bucket.
            aws-key: aswedfghew
            aws-secret-key: xdefghgdxc
        egov-location:  # To work Location service add your gmap key
            gmapskey: AIzaSyAQOd09-sdfegv
        egov-pg-service:    # To work pg service add your respective bank details
            axis-merchant-id: demo
            axis-merchant-secret-key: demo
            axis-merchant-user: demo
            axis-merchant-pwd: demo
            axis-merchant-access-code: demo
            payu-merchant-key: demo
            payu-merchant-salt: demo
        pgadmin:  # To work pgadmin service add details
            admin-email: [email protected]
            admin-password:  demo
            read-email: [email protected]
            read-password: demo
        egov-enc-service:  # To work egov-enc service add the details
            master-password: demo
            master-salt: q7.fr.cr
            master-initialvector: 9J&asfgrU-H2
        egov-notification-mail:  # To work mail notification service add respective mail details
            mailsenderusername: demo@demo
            mailsenderpassword: demo
        git-sync:   # To clone the config and mdms repos, Create github user and add your ssh private key below. This private should have access to config and mdms repo.  
            ssh: |
                -----BEGIN PRIVATE KEY-----
                MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC/YgncsvOvQkO1
                2JG2uovvBU33mWKCsxiKcb+jVkHOP9IwWpJQXAqQXuw6aLTU1Y6v9rXaNaAB5TUh
                tugq0OI8eq+AklORZII/cB2E/lsa5l7XwYsPkdTTRyc2fVGWYxnB1YYL/Wa4yAfD
                gEXrvCKe81iQS8pQBj8ozoZU/Znpg/q+9a+auAv/BR3WDUf9IefP9bu84jgeBHbm
                +Xg9Oj4vbrBxQud1t5Sn76r1NWJWwLZeLn8FFQIVBGHs9lkPQPmISJVRiZOiqipg
                uFYafV8Jcy8xFxdiIAA3Xj8DbFrtRvlYlTd5wpW/lnsi7d3tVCbXblwmUtI5CIB0
                Nmt2eKKLAgMBAAECggEAChDnAeOrq4EpvIvKhjjjmUvHIQnBQ6yV0tpOwRGNXoK+
                1Go/HdjpeVR0ylGtiTA+VAT+5Z5CbzcWB1LufSoFbDbrujB4EsKdkyabdt5F/nE1
                ddWpMcVy0zX/2v7WZrmJpkdLyJ+oYnmq5t59TvvTOlcERnqmBnV9pvDN4fSAvuZp
                4hjikWYYterJJbDZAPI2mwnQG3Hy2UTsnWpsmeV0HnCN9w8ALe2euuXRfYmtQqEx
                IINeewwvas/6tMGv+VWpTpZQMz37m4p7btCoU2Ku00ciV3p0+G6A6Ju5sAU4gPGY
                JVq8w6UIzB/RFdqPuM2zwwDpgKpB5cbHbPV7R2lIUQKBgQDVatCx86I3H3F4dwlc
                vtwyo9iBVJLtyY7W1qbET5KsasTo8Kz+nVBxOh3LWfzPxd/vdu/X+COffq9sKKQ5
                1YWazVC88Cok4K889Lvl6u+BLmu+SjXNKVR1k9+z26GXyLh13PelivcnnTy/D0Ng
                j8zcL9IoHyxsxtxbw25csiUwQwKBgQDlkbq9KtxXIzKS19lP5BhwFbqED8db6kYa
                SGRgk5BllkUw6qRfwLn41dPsk6IfIaqBaS0NNi+pNz1z94k/msCYau+eCgVIeJjl
                dAARHsTiF3xdxQduGfBaW0JdbPEeoMyFMeBm507/1c8102Bm+9XTGx7NWO+xkVCE
                9e5vsaSkGQKBgQC85XFYwLMopR0TKhFQVOKjs+ATAN+XtppGT/GFuoSxNUOahkQo
                jOdBgNYUQk8BPDwsQRKjDs/BASmVyxco1XQPA4Fd6hjzUSfqBRg2tc5Ngd/9qsOa
                FuXZuAv9rv2FUjTqpa1QigKevo6g8YqKcl052t3hg04X7Z/nXMBXLZq67wKBgByh
                EOW4a6QeSpdPfdVdv8Jyo0EG6rjGvZlXf9UfcfmJRPW1vWwHj+m9WOF/A8/YFfhv
                kmO8ZzM2JV7J9v7MoMohQ+K0ozYHfCHZVozMBoefoC3dfXC4oWXTTbJy/JryOK8/
                qhmLLSnwkxfGVZZiP6dFEZFQTwwY8C60sNiTEdI5AoGBAIBxKaXlxvDYPTEt4Tpa
                WCISkpeSwYB3Q1pf9GjxRM+t0A3Dx3TWRWf4Ts78j1kBYJO3Idv0PIaGGq/jx5F0
                1odzA+61QtV/Wzf5zocB02V4MguhXo5GYPc/J3pWCTgk6dB5dVUDr6o7bIW292ac
                p1kJUq2YjDGq2VHa/306PIgN
                -----END PRIVATE KEY-----
            known-hosts: github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
        kibana:    # Add Kibana details
            namespace: es-cluster
            credentials: demo
        egov-si-microservice:  # Add finance service details
            si-microservice-user: demo
            si-microservice-password: demo
            mail-sender-password: demo
        egov-edcr-notification:  # Add edcr service details
            edcr-mail-username: [email protected]
            edcr-mail-password: demo
            edcr-sms-username: demo
            edcr-sms-password: demo
        chatbot:     # Add chatbot details
            valuefirst-username: demo
            valuefirst-password: demo
        egov-user-chatbot:  # Add user chatbot details
            citizen-login-password-otp-fixed-value: "546941"
        oauth2-proxy:   # To work oauth2-proxy service, create and add your github OAuth Apps details
            clientID: qwgethjymnbv
            clientSecret: 3a08079easd9d8055470475696fd3baad5292
            cookieSecret: QVbnq0L8npoyfxZs96wtBg==
        elasticsearch-master-creds:
            password: 8fwbD6HbJh6HU0oddsHm8TEI

Step 1: Clone the following health-campaign-devops repo (If not already done as part of Infra setup), you may need to install git and then run git clone it to your machine.

$ git clone -b azure-install https://github.com/egovernments/health-campaign-devops

Step 2: After cloning the repo CD to the health-campaign-devops folder, type the "code ." command to open the visual editor and open all the files from the health-campaign-devops repo.

$ cd health-campaign-devops
$ code .

Step 3: Update the deployment config file with your details, you can use the following template egov-demo-sample.

  • $ vi config-as-code/environments/egov-demo.yaml
  • Replace the following as per the applicable values -

    • Important: Add your domain name here, which you want to use for accessing DIGIT. ( Do not use the dummy domain )

    • SMS gateway to receive OTP, transaction mobile notification, etc.

    • MDMS, Config repo URL, here is where you provide master data, tenants and various user/role access details.

    • GMap key for the location service

    • Payment gateway, in case you use Payment module.

Step 4: Update your credentials and sensitive data in the secret file as per your details.

  1. $ vi config-as-code/environments/egov-demo-secrets.yaml
  2. credentials, secrets (You need to encrypt using sops and create a <env>-secret.yaml separately)

  3. SOPS expects an encryption key to encrypt/decrypt a specified plain text and keep the details secured. The following are the options to generate the encryption key -

  4. Once you generate your encryption key, create a .sops.yaml configuration file under the /helm directory of the cloned repo to define the keys used for specific files. Refer to the SOP doc for more details.

Note: For demo purposes, you can use the egov-demo-secrets.yaml as it is without sops configuration, but make sure you update your specific details like Git SSH, URL etc. When you decide to push these configurations into any git or public space, make sure you follow the sops configuration mentioned in this article sops to encrypt your secrets.

Step 5: Fork the following repos that contain the master data and default configs which you would customize as per your specific implementation later. Like (Master Data, ULB, Tenant details, Users, etc) to your respective GitHub organization account.

  1. fork both the mdms, and config repos into your GitHub organization account

  2. Once you fork the repos into your GitHub organization account, Create a github user account, generate an SSH authentication key generate new SSH key and add it to above user account.

  3. New GitHub users should be enabled to access the earlier forked repos.

  4. Add the ssh private key that you generated in the previous step to egov-demo-secrets.yaml under the git-sync section.

  5. Modify the services git-Sync repo and branch with your fork repo and branch in egov-demo.yaml.​

vi config-as-code/environments/egov-demo-secrets.yaml

Step 6: Update the deployment configs for the below as per your specification:

  1. Number of replicas/scale of each service (depending on whether dev or prod load).

  2. Update the SMS Gateway, Email Gateway, and Payment Gateway details for the notification and payment gateway services, etc.

  3. Update the config, MDMS GitHub repos wherever marked

  4. Update GMap key (In case you are using Google Map services in respective services)

  5. Create one private S3 bucket for Filestore and one public bucket for logos. Add the bucket details respectively and create an IAM user with the s3 bucket access. Add IAM user details to <env-secrets.yaml>.

  6. URL/DNS on which the DIGIT will be exposed.

  7. SSL certificate for the above URL.

  8. Any specific endpoint configs (Internal/external).

$ vi config-as-code/environments/egov-demo.yaml

Step 7: Create s3 compatible storage service:

  • AWS S3 Update IAM aws-key & aws-secret-key (the IAM credential must have write access to s3 bucket) under filestore in <env>-secret.yaml

  • Azure Blob Storage Update aws-key as storage account name & aws-secret-key as access key generated in Azure storage account.

Update the environment flags in egov-filestore/values.yaml as per the selected Cloud Provider.

Last updated

Was this helpful?