Deploying services in new namespace in the unified environment
First, prepare the env.yaml and env-secrets.yaml to deploy the services , secrets and configmaps in your namespace
global:
domain: unified-dev.digit.org ## Add your Domain Name "Eg: site.mydomain.com" Do not use the dummy domain
setup: fullsetup
cluster-configs:
namespaces:
create: true
values:
[
backbone,
egov,
monitoring,
health,
]
root-ingress:
cert-issuer: letsencrypt-prod
configmaps:
egov-config:
namespace: [ monitoring, <namespace> ]
data:
db-host: unified-dev-db.czvokiourya9.ap-south-1.rds.amazonaws.com ## Add db-host name eg: egov-demo.database.azure.com
db-name: unifieddevdb ## Add db-name
db-url: jdbc:postgresql://unified-dev-db.czvokiourya9.ap-south-1.rds.amazonaws.com:5432/unifieddevdb ## example: jdbc:postgresql://egov-demo.postgres.database.azure.com:5432/egov_demo
health-db-url: jdbc:postgresql://unified-dev-db.czvokiourya9.ap-south-1.rds.amazonaws.com:5432/unifieddevdb?currentSchema=health
domain: 'https://unified-dev.digit.org' ## Add your Domain Name
egov-services-fqdn-name: 'https://unified-dev.digit.org/' ## Add your Domain Name
egov-state-level-tenant-id: 'pg'
s3-assets-bucket: '(pg-egov-assets|egov-playground-assets)'
kibana-host: http://kibana-v1.es-cluster:5601/
es-host: 'elasticsearch-data.es-upgrade'
es-indexer-host: 'https://elasticsearch-master.es-upgrade: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: Asia/Kolkata
tracer-errors-provideexceptionindetails: 'true'
egov-bnd-freedownload-tenants: 'pg.testing'
egov-bnd-live-citizen-tenants: 'pg.testing'
egov-service-host:
namespace: [ monitoring, <namespace>]
data:
asset-services: 'http://asset-services:8080/'
asset-services-maha: 'http://asset-services-maha:8080/'
audit-service: 'http://audit-service.egov:8080/'
billing-service: 'http://billing-service.egov:8080/'
boundary-service: 'http://boundary-service.egov:8080/'
collection-services: 'http://collection-services.egov: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.egov:8080/'
egov-user: 'http://egov-user.egov:8080/'
egov-user-egov: 'http://egov-user.egov:8080/'
egov-location: 'http://egov-location.egov:8080/'
egov-filestore: 'http://egov-filestore.egov:8080/'
mdms-service-v2: 'http://mdms-v2.egov:8080/'
egov-localization: 'http://egov-localization.egov:8080/'
egov-idgen: 'http://egov-idgen.egov:8080/'
egov-otp: 'http://egov-otp.egov:8080/'
egov-common-workflows: 'http://egov-common-workflows:8080/'
egov-mdms-service: 'http://egov-mdms-service.egov:8080/'
egov-mdms-service-test: 'http://egov-mdms-service-test.egov:8080/'
egov-mdms-create: 'http://egov-mdms-create.egov:8080/'
egov-eis: 'http://egov-eis:8080/'
egov-workflow: 'http://egov-workflow.egov:8080/'
egov-workflow-v2: 'http://egov-workflow-v2.egov:8080/'
egov-searcher: 'http://egov-searcher.egov:8080/'
egov-data-uploader: 'http://egov-data-uploader.egov:8080/'
egov-indexer: 'http://egov-indexer.egov:8080/'
egov-hrms: 'http://egov-hrms.egov:8080/'
health-hrms: 'http://health-hrms.health:8080/'
es-client: 'https://elasticsearch-master.es-upgrade:9200'
hr-masters: 'http://hr-masters:8080/'
hr-employee: 'http://hr-employee:8080/'
hr-masters-v2: 'http://hr-masters-v2:8080/'
hr-employee-v2: 'http://hr-employee-v2:8080/'
hr-attendance: 'http://hr-attendance:8080/'
hr-leave: 'http://hr-leave:8080/'
hr-employee-movement: 'http://hr-employee-movement:8080/'
inventory-services: 'http://inventory-services:8080/'
lams-services: 'http://lams-services:8080/'
lcms-workflow: 'http://lcms-workflow:8080/'
lcms-services: 'http://lcms-services:8080/'
location: 'http://location:8080/'
performance-assessment: 'http://performance-assessment:8080/'
pt-property: 'http://pt-property:8080/'
pt-workflow: 'http://pt-workflow:8080/'
pt-tax-enrichment: 'http://pt-tax-enrichment:8080/'
pt-calculator: 'http://pt-calculator:8080/'
pt-calculator-v2: 'http://pt-calculator-v2:8080/'
pt-services-v2: 'http://pt-services-v2:8080/'
property-services: 'http://property-services.egov:8080/'
pgr-master: 'http://pgr-master:8080/'
pgr-rest: 'http://pgr-rest:8080/'
pdf-service: 'http://pdf-service.egov:8080/'
project-factory: "http://project-factory.health:8080/"
report: 'http://report:8080/'
swm-services: 'http://swm-services:8080/'
tenant: 'http://tenant:8080/'
tl-masters: 'http://tl-masters:8080/'
tl-services: 'http://tl-services:8080/'
tl-workflow: 'http://tl-workflow:8080/'
tl-indexer: 'http://tl-indexer:8080/'
tl-calculator: 'http://tl-calculator:8080/'
user-otp: 'http://user-otp:8080/'
firenoc-services: 'http://firenoc-services:8080/'
firenoc-calculator: 'http://firenoc-calculator:8080/'
egov-apportion-service: 'http://egov-apportion-service:8080/'
bpa-services: 'http://bpa-services.egov:8080/'
bpa-calculator: 'http://bpa-calculator.egov:8080/'
rainmaker-pgr: 'http://rainmaker-pgr:8080/'
ws-calculator: 'http://ws-calculator.egov:8080/'
ws-services: 'http://ws-services.egov:8080/'
sw-services: 'http://sw-services.egov:8080/'
sw-calculator: 'http://sw-calculator.egov:8080/'
land-services: 'http://land-services.egov:8080/'
noc-services: 'http://noc-services.egov:8080/'
minio-url: 'https://minio-uat.digit.org/'
egov-user-chatbot: 'http://egov-user-chatbot:8080/'
zuul: 'http://zuul:8080/'
egov-url-shortening: 'http://egov-url-shortening.egov:8080/'
fsm-calculator: 'http://fsm-calculator.egov:8080/'
fsm: 'http://fsm.egov:8080/'
vehicle: 'http://vehicle.egov:8080'
vendor: 'http://vendor.egov:8080'
egov-edcr: 'http://egov-edcr.egov:8080/'
echallan-calculator: 'http://echallan-calculator.egov:8080/'
echallan-services: 'http://echallan-services.egov:8080/'
inbox: 'http://inbox.egov:8080/'
turn-io-adapter: 'http://turn-io-adapter.egov:8080/'
pgr-services: 'http://pgr-services.health:8080/'
birth-death-services: 'http://birth-death-services.egov:8080/'
egov-pdf: 'http://egov-pdf.egov:8080/'
health-registration-service: 'http://health-registration-service:8080/'
health-delivery-service: 'http://health-delivery-service:8080/'
project: 'http://project.egov:8080/'
product: 'http://product.health:8080/'
household: 'http://household.health:8080/'
individual: 'http://individual.egov:8080/'
stock: 'http://stock.health:8080/'
facility: 'http://facility.health:8080/'
service-request: 'http://service-request:8080/'
health-project: 'http://health-project.health:8080/'
health-individual: 'http://health-individual.health:8080/'
plan-service: 'http://plan-service.health:8080/'
health-attendance: 'http://health-attendance.health:8080/'
census-service: 'http://census-service.health: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/telemetry@0.0.2/dist/egov-telemetry-1557467338.js type=text/javascript></script>
<script src=https://egov-health-dev-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/telemetry@0.0.2/dist/egov-telemetry-1557467338.js type=text/javascript></script>
<script src=https://egov-health-dev-assets.s3.ap-south-1.amazonaws.com/globalConfigs.js type=text/javascript></script>
';"
health-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-health-dev-assets.s3.ap-south-1.amazonaws.com/globalConfigsHealthImpl.js type=text/javascript></script>
';"
health-project:
heap: "-Xmx256m -Xms256m"
memory_limits: 512Mi
tracing-enabled: true
java-enable-debug: true
project-default-offset: 0
project-default-limit: 100
project-search-max-limit: 200
health-individual:
heap: "-Xmx256m -Xms256m"
memory_limits: 512Mi
tracing-enabled: true
java-enable-debug: true
state-level-tenant-id: "pg"
aadhaar-pattern: "\\d{12}"
mobile-pattern: "\\d+"
notification-sms-disabled-roles: "ORG_ADMIN"
health-attendance:
heap: "-Xmx256m -Xms256m"
memory_limits: 512Mi
transformer:
egov-boundary-hierarchy-name: "HCM-Moz-Hierarchy"
facility:
heap: "-Xmx256m -Xms256m"
memory_limits: 512Mi
# 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'
pgr-services:
namespace: health
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"
java-enable-debug: "true"
time-before-closing-complaint: "3600000"
health-hrms:
java-args: -Dspring.profiles.active=monitoring
employee-applink: 'https://egov-demo.egovernments.org/employee/user/login'
heap: '-Xmx256m -Xms256m'
memory_limits: 512Mi
project-factory:
logLevel: 'debug'
defaultLocale: 'en_MZ'
splitBoundariesOn: 'District'
mdmsV2SearchEndpoint: 'mdms-v2/v2/_search'
mdmsV1SearchEndpoint: 'mdms-v2/v1/_search'
egov-weekly-impact-notifier:
mail-to-address: 'lata.naik@egovernments.org'
mail-interval-in-secs: '604800'
schedule: '30 07 * * *'
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"
cluster-configs:
secrets:
db: // Create postgres db user and mention the details
username: <db_username> ## REPLACE: Needs be the DB username provisioned during infra provisioning step
password: <db_password> ## REPLACE: DB password created during infra provisioning
flywayUsername: <db_username> ## REPLACE: Same as DB username above
flywayPassword: <db_password> ## REPLACE: Same as DB password above
egov-notification-sms: // To work sms notification service add the sms provider details
username: <sms_username> ## REPLACE
password: <sms_password> ## REPLACE
egov-filestore: // To work Filestore service add the IAM user details which has access on the filestore s3 bucket.
aws-key: <filestore_aws_key> ## REPLACE
aws-secret-key: <filestore_aws_secret_key> ## REPLACE
egov-location: // To work Location service add your gmap key
gmapskey: <gmap_key> ## REPLACE
egov-pg-service: ## To work pg service add your respective bank details
axis-merchant-id: demo ## REPLACE
axis-merchant-secret-key: demo ## REPLACE
axis-merchant-user: demo ## REPLACE
axis-merchant-pwd: demo ## REPLACE
axis-merchant-access-code: demo ## REPLACE
payu-merchant-key: demo ## REPLACE
payu-merchant-salt: demo ## REPLACE
pgadmin: ## To work pgadmin service add details
admin-email: demo@demo.com ## REPLACE
admin-password: demo ## REPLACE
read-email: demo@demo.com ## REPLACE
read-password: demo ## REPLACE
egov-enc-service: ## To work egov-enc service add the details
master-password: demo ## REPLACE if needed and store it somewhere safe
master-salt: q7.fr.cr ## REPLACE if needed and store it somewhere safe
master-initialvector: 9J&asfgrU-H2 ## REPLACE if needed and store it somewhere safe
egov-notification-mail: ## To work mail notification service add respective mail details
mailsenderusername: demo@demo ## REPLACE
mailsenderpassword: demo ## REPLACE
# Dummy key below. Replace with the user's private key below. The corresponding public key needs to be in GitHub SSH keys.
git-sync: ## REPLACE 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 RSA PRIVATE KEY-----
MIIJKQIBAAKCAgEAxN3yoWfXEl7227hAXUTpeN5SiGUe22sIlGSYk3fx2Zl1xW0t
B5Y/RfxG3KocwtGCmxq+eMur9ZZsP5B8qFguG1ZhJXRZrFTn8S6bmVSP1YBRv93O
wvGNiLrSkqeKTbAflj/j1QxbkYArtkEY/1kLkmjEo7KO9ahHOI5qG
Tx9oJsBVAtHfO5Q3q4laEmbl9t1UE7XSp/0RD4+jqSlVS4q/Z3+MLHKfNu3Pps4A
Zq1WmaMch5NxB9qo1zj6x7LENVkzX29urHhlOnhJKZG8A/2Iz6rqzZTwV5g1kxSJ
dbfLg7K++zgyaJzluchWo5KCidC2icORklwvdnoDpu6qKD7hZBf4LscIV36Mwr79
z+EvTCrkaKjUTQMdc+mgzwRldHWgwRTZjkEIX13v8r5x9Pl1JuIttONhINurN3dn
woKGb9rFFfBaLqEMU7VAHZ20SO0E4na7b4v2nOwWixcOezIwYVl6V3zN6IcCAwEA
AQKCAgAFUqr4ykH6cS7jifvTicV2SyyYG4PWEvLMcFvfwOJ9K7UPfYA2ME3NqqCP
3tmgOuH5J6P2yCsCHOsYXOPB+YBlpNRDmv3Btxn+X3A9mRe6ghmzwl+Qzc8x3ztK
U9VdfGGeQmSFd63xc2nc7xfbWXmTqfFpThM+4X5fYZz1YHtwVWncYaYY4+rFGhAb
xjkvwNMC6DvgR3tQmT0B2xNzSq+JiyG0zJtzRBBZAQlVl6sJ96jrFAoMSrHj7tWc
kdpX+EQ8vY/I0zP3qiMs2bvsxvFOGcZ76IQZIH44I2gDpSKvPFLtZ9aK1p4r1kaa
RpLEOgC/gZiOkS24Q4rG5XqcMcZC9mMlWHqUJGhYrZhEn0yCQEtQFwiaDbuwQ+eA
1RJ4Lxm9sGFuM1T
-----END RSA PRIVATE KEY-----
known-hosts: github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
kibana: ## Add Kibana details
namespace: es-cluster
credentials: demo ##REPLACE: Combination of username and password. Generate these credentials and paste here
egov-si-microservice: ## Add finance service details
si-microservice-user: demo ##REPLACE
si-microservice-password: demo ##REPLACE
mail-sender-password: demo ##REPLACE
chatbot: ## Add chatbot details
valuefirst-username: demo ##REPLACE
valuefirst-password: demo ##REPLACE
egov-user-chatbot: ## Add user chatbot details
citizen-login-password-otp-fixed-value: "546941" ##REPLACE
oauth2-proxy: ## To work oauth2-proxy service, create and add your github OAuth Apps details
clientID: qwgethjymnbv
clientSecret: 3a08079easd9d8055470475696fd3baad5292
cookieSecret: QVbnq0L8npoyfxZs96wtBg==
Create new namespace by adding the namespace in the env.yaml
cluster-configs: namespaces: create: true values: [ backbone, egov, monitoring, health, <namespace> ]
Create the new schema in your db if any of services tables are conflicting with the existed tables. if not, you can use the public schema.
If creating new schema, update the configuration in env.yaml and common chart values.yaml
Update the namespaces in the helmcharts values.yaml or env.yaml files to deploy the services in particular namespace.
Add the namespace in the gateway values.yaml for services to route using gateway.
Create deployment pipeline through jenkins to deploy the services in the cluster. After updating everything, deploy the services using jenkins pipeline.
Note: All the coreservices and backbone services will be common for all namespaces.