The docker-compose.yaml which you downloaded requires some environmental variables to function .
please update the Environmental Variable mentioned for various containers.
All conatiners 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
forgotPassword.uiHost=<DNS > (DNS of the Knowhow server)
corsFilterValidOrigin=<DNS> (DNS of the Knowhow server)
versionnumber=<Current version installed>
spring.data.mongodb.uri=<pass mongo db connection url in this format
mongodb://<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>JAVA_OPTS= <configuring Java runtime settings>
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)>
auth.centralAuthBaseURL= <central Auth Backend DNS(required only when auth.subDomainCookie=true)>
exposed_api_key= < api key for the exposed kpi like repo tool, sample value:UvcP8HOTwcJVFR4DYVZZwwSh5p6dVue7DExY6m0nblPSIYGCl1K/c89oQMVD2nVqN1N443vkDofkROBFiHjDxw==> (required only when isRepoToolEnable=
true
)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)
mongock.start-system-version=<current version>
in case of upgrademongock.end-system-version=9.x.x
in case of upgrademongock.migration-scan-package=com.publicissapient.kpidashboard.apis.mongock.upgrade
in case u are upgradingmongock.migration-scan-package=com.publicissapient.kpidashboard.apis.mongock.installation
in case of fresh installationmongock.end-system-version=9.x.x
in case of fresh installation
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)
HOST=<Host IP>
Pass the host IP when running as docker
authnauth:
auth.baseUrl=<Central auth Backend url>
auth.baseUiUrl=<central auth UI url>
auth.secret=<auth secret>(this the passphrase used to generate sign jwt token)
(min length -4, sample value - C0GNAIDS8upDNnkE)forgotPassword.uiHost=<DNS > (DNS of the installation server)
auth.corsFilterValidOrigin= <DNS> (DNS of the installation server)
spring.datasource.url=jdbc:postgresql://<IP>:<Port>/authNauth
spring.datasource.username=authdb
spring.datasource.password= < postgres db passowrd>
spring.kafka.producer.bootstrap-servers= <kafka end point>
flag.mailWithoutKafka= <true for the smtp or false for the kafka>
auth.domain= <auth service is on then added to parent domain>
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=<Central Auth UI Url>
DNS_SSL=<UI DNS >
REACT_APP_PSKnowHOW= < 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>
RESULT_SEND_TYPE=mq <rabbitmq message key>
RABBITMQ_DEFAULT_USER=admin <default user of rabbitmq>
RABBITMQ_DEFAULT_PASS= <default pass of rabbitmq>
RABBITMQ_DEFAULT_VHOST=debbie <default host of rabbitmq>
RABBIT_BROKER_HOST=repotool-rabbitmq <rabbitmq container name>
RABBIT_BROKER_PORT=5672
RABBIT_QUEUE=repos <name of the rabbitmq job queue>
BASE_HOST_URL=https://4bdf-89-136-52-54.ngrok-free.app
SCAN_STATUS_APIS=http://customapi:8080/api/processor/saveRepoToolsStatus <api to save scanning detail>
SCAN_STATUS_APIS_TOKEN= <api token used by customapi>
DEBBIE_INTERNAL_API_KEY= <api key generated by repotool>