The docker-compose.yaml which you downloaded requires some environmental variables to function .
...
All containers marked in RED are mandatory, rest are optional and needed only if respective tools are in use.
KnowHOW Specific Variables
MongoDB service
NOTE: NO need to update if you are upgrading the Knowhow
MONGO_INITDB_ROOT_USERNAME=<DB ROOT USER> (used for DDL comands within the application.)
MONGO_INITDB_ROOT_PASSWORD=<DB ROOT PASSWORD>(password for admin user)
MONGODB_APPLICATION_USER=<DB READ/Write User>
MONGODB_APPLICATION_PASS=<DB READ/WRITE PASSWORD>
CustomAPI
i . If you are Upgrading KnowHOW update the bellow the env var only:
mongock.start-system-version
= Your current version of knowhow installed.mongock.end-system-version
= The Version you want TO Upgrade to.mongock.migration-scan-package=com.publicissapient.kpidashboard.apis.mongock.upgrade
versionnumber
=<Version number you are Upgrading to>
ii. If you are installing for first time pass all the bellow values:
mongock.migration-scan-package=com.publicissapient.kpidashboard.apis.mongock.installation
mongock.end-system-version=
<Knowhow version number which you want to install>forgotPassword.uiHost
=<DNS > (DNS of the Knowhow server without https://)corsFilterValidOrigin
=<DNS> (DNS of the Knowhow server without https://)spring.data.mongodb.uri
=<pass mongo db connection url in this formatmongodb://<DB USER NAME>:<DB PASSWORD>@mongodb:27017/kpidashboard
> Special char need to converted eg “@
" is%40
aesEncryptionKey
=<aesEncryptionKey>(this is the passphrase for generating AES key, this can not be changed during lifetime of application)
(min lenght - 8, sample value - 7DLHllMii14pId0FSSwGWwtga5dckGHW)auth.secret
=<auth secret>(this the passphrase used to generate sign jwt token)
(min length -4, sample value - C0GNAIDS8upDNnkE)isRepoToolEnable
= <true
for repotool(developer tab) enable orfalse
for repotool disable>
If you want to install Knowhow to authentication authenticate and authorization authorize users using SAML pass the bellow Vars:
auth.subDomainCookie
= < true for Auth service enable andfalse
for Auth service disable>auth.domain
= <auth service is on then added to parent domain(required only when auth.subDomainCookie=true)>domain>auth.centralAuthBaseURL
= https://<central Auth Backend DNS(required only when auth.subDomainCookie=true)>DNS>auth.resourceAPIKey
= <resource api key for the Auth Service API used in Knowhow BE> You have to generate API Key - follow mention Steps Sample Value - BKQI07DExY6m0nblPSIYGCentral AUTH Service (required only when running central auth)
If you are installing knowhow along with SCM Processor pass this vars: i.e when isRepoToolEnable=true
exposed_api_key
= < api key for the exposed kpi like repo tool, sample value:UvcP8HOTwcJVFR4DYVZZwwSh5p6dVue7DExY6m0nblPSIYGCl1K/c89oQMVD2nVqN1N443vkDofkROBFiHjDxw==> (required only when isRepoToolEnable=true
)
If you are Upgrading KnowHOW update the bellow the env var:
mongock.start-system-version
= Your current version of knowhow installed.mongock.end-system-version
= The Version you want TO Upgrade to.mongock.migration-scan-package=com.publicissapient.kpidashboard.apis.mongock.upgrade
versionnumber
=<Version number you are Upgrading to>repoToolAPIKey
= follow this docs to generate Key RepoTool Setup
OPTIONAL CustomApi ENV VAR:
JAVA_OPTS
= <set options for the Java Virtual Machine> This variable allows you to pass various parameters and configurations to the JVM, such as memory settings, system properties, garbage collection options, and more.
UI service
DNS_SSL=<Your IP/DNS address>
API_HOST=<customapi backed host>
API_PORT= <port of api>
AUTHENTICATION_SERVICE= <
true
for central authentication service or false local authentication>CENTRAL_LOGIN_URL= < url of central authentication service (required only when AUTHENTICATION_SERVICE=
true
) >
Jira-Processor
spring.data.mongodb.uri=<pass mongo db connection url in this format “
mongodb://<DB USER NAME>:<DB PASSWORD>@mongodb:27017/kpidashboard
“>aesEncryptionKey=<aesEncryptionKey>( same Key as defined in CustomAPI)
devops-processor
spring.data.mongodb.uri=<pass mongo db connection url in this format “
mongodb://<DB USER NAME>:<DB PASSWORD>@mongodb:27017/kpidashboard
“>aesEncryptionKey=<aesEncryptionKey>(same Key as defined in CustomAPI)
azure-board-processor
spring.data.mongodb.uri=<pass mongo db connection url in this format “
mongodb://<DB USER NAME>:<DB PASSWORD>@mongodb:27017/kpidashboard
“>aesEncryptionKey=<aesEncryptionKey>(same Key as defined in CustomAPI)
azure-pipeline-repo
spring.data.mongodb.uri=<pass mongo db connection url in this format “
mongodb://<DB USER NAME>:<DB PASSWORD>@mongodb:27017/kpidashboard
“>aesEncryptionKey=<aesEncryptionKey>(same Key as defined in CustomAPI)
AuthnAuth Specific Variables: Use Only When Deploying Knowhow with Auth Application
Authdb:
POSTGRES_USER=<DB ROOT USER>(Specify the Postgres user name)
POSTGRES_PASSWORD=<DB ROOT PASSWORD>(Specify the Postgres user password)
POSTGRES_DB=authNauth
HOST=<Host IP>
Pass the host IP when running as docker
authnauth:
auth.baseUrl=https://<Central auth UI DNS url>
auth.baseUiUrl=https://<Central auth UI DNS url>
auth.secret=<auth secret>(this should be same passphrase used to generate sign jwt token in customapi)
forgotPassword.uiHost=https://<Central auth UI DNS url>
auth.corsFilterValidOrigin=https://<Central auth UI DNS url>
spring.datasource.url=jdbc:postgresql://<Auth DB service/container name>:<Port>/authNauth
spring.datasource.username=authdb
spring.datasource.password= < postgres db passowrd>
spring.kafka.producer.bootstrap-servers= <kafka service/container name>
spring.kafka.consumer.bootstrap-servers= <kafka service/container name:port>
KAFKA_CFG_ZOOKEEPER_CONNECT= <zookeeper service/container name:port>
ZOO_SERVERS=<zookeeper service/container name:port>
flag.mailWithoutKafka= <true for the smtp or false for the kafka>
auth.domain= <Add to parent domain> example: tools.publicis.sapient.com
For SAML Integration SAML Integration Flow As per flow Update flow SAML details
auth.holdingEntityId= <SAML Entity ID>
auth.assertingEntityId = <SAML Url of the tenent ID>
auth.alias = <alias of the saml>
auth.samlLoginUrl= <login url saml>
authnauth-ui:
REACT_APP_DNS=https://<Central Auth UI Url>
DNS_SSL=https://<Central Auth UI Url>
REACT_APP_PSKnowHOW=https://< Knowhow UI Url>
SCM tool:
PostgreSQL config:
POSTGRES_USER=<Postgres user name>
POSTGRES_PASSWORD= <postgres db password>
POSTGRES_DB=debbie
Django config:
DEBUG=True
DEBUG_TOOLBAR=True
ALLOWED_HOSTS=*
DATABASE_URL= < postgres database url>
CORS_ORIGIN_WHITELIST=http://localhost < handling cors origin whitelist>
...