Deploying services in new namespace in the unified environment

 

  1. 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==
  1. Create new namespace by adding the namespace in the env.yaml

    cluster-configs: namespaces: create: true values: [ backbone, egov, monitoring, health, <namespace> ]
  2. 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

  1. Update the namespaces in the helmcharts values.yaml or env.yaml files to deploy the services in particular namespace.

  2. Add the namespace in the gateway values.yaml for services to route using gateway.

  3. 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.