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
Know the basics of Kubernetes: https://www.youtube.com/watch?v=PH-2FfFD2PU&t=3s
Know the basics of kubectl commands
Know kubernetes manifests: https://www.youtube.com/watch?v=ohSUtEfDefc
Know how to manage env values, secrets of any service deployed in kubernetes https://www.youtube.com/watch?v=OW244LxB4oI
Know how to port forward to a pod running inside k8s cluster and work locally https://www.youtube.com/watch?v=TT3nd5n5Yus
Know sops to secure your keys/creds: https://www.youtube.com/watch?v=DWzJ87KbwxA
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.yamlReplace 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.
$ vi config-as-code/environments/egov-demo-secrets.yamlcredentials, secrets (You need to encrypt using sops and create a <env>-secret.yaml separately)
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 -
Option 1: Generate PGP keys https://fedingo.com/how-to-generate-pgp-key-in-ubuntu
Option 2: Create AWS KMS keys when you want to use the AWS cloud provider.
Option 3: Create Azure Key Vault when you want to use the MS Azure cloud provider.
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.
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.
New GitHub users should be enabled to access the earlier forked repos.
Add the ssh private key that you generated in the previous step to egov-demo-secrets.yaml under the git-sync section.
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.yamlStep 6: Update the deployment configs for the below as per your specification:
Number of replicas/scale of each service (depending on whether dev or prod load).
Update the SMS Gateway, Email Gateway, and Payment Gateway details for the notification and payment gateway services, etc.
Update the config, MDMS GitHub repos wherever marked
Update GMap key (In case you are using Google Map services in respective services)
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>.
URL/DNS on which the DIGIT will be exposed.
SSL certificate for the above URL.
Any specific endpoint configs (Internal/external).
$ vi config-as-code/environments/egov-demo.yamlStep 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?