To install PSKnowhow using Kubernetes, it is essential to have three mandatory containers: i) UI, ii) CustomAPI, and iii) MongoDB. Additionally, there are other optional containers, such as jira-processor, devops-processor(including Jenkins, GitHub, GitLab, Bamboo, Bitbucket, Zephyr, Sonar, and TeamCity collectors), azure-board-processor (for Azure Board), and azure-pipeline-repo(for Azure Pipeline and Azure Repo), repotool-django, repotool-knowhow, Postgres and rabbitMQ.
NOTE: Based on specific requirements, you can bring up these respective containers as needed.
customapi with
amazoncorretto:17
as base image which handles api request, which runs on 8080 port.ui with
nginx:1.22.1-alpine-slim
base image, which proxy-pass to customapi and ui components, which runs on port 80 & 443.mongodb with
mongo:5.0.18
as base image, which stores data and runs on port 27017.Jira-processor with
amazoncorretto:17
base image which is a jira collector.devops-processor with
amazoncorretto:17
base image which collects jenkins, github, gitlab, bamboo, bitbucket, zephyr, sonar, teamcity.azure-board-processorwith
amazoncorretto:17
base image and which collects azure board.azure-pipeline-repo with
amazoncorretto:17
as base image which collects azure pipeline and azure repo.scm-processor-api Its
python:3.8
application to calculate KPI metrics of different SCM tools like github, gitlab & Bitbucket.scm-processor-core Its a
python:3.8
application which collects raw data from SCM tools like github, gitlab & Bitbucket and saves it.scm-processor-postgres: Version
11.1
is used to store repotool related data(Only required when repotool is installed)scm-processor-rabbitmq Version
3.8-management
is a job scheduler user by repotool-knowhow application (Only required when repotool is installed)
...
Make sure to pass all the environmental key values and configuration details needed for your pods to function correctly.
NOTE: Refer Environmental variable document for in detail explanation check here
...
The YAML file specifies the name of the Deployment, the container image to use, the container port 8080 to expose, and the Environmental variable for MongoDB host to connect to.
Note: Please provide the image tag version in the image place holders in the manifest file.
...
View file | ||
---|---|---|
|
Note: Please provide the image tag version in the image place holders in the manifest file Environmental variables
...
Attaching the list of all the processor you may run
Jira-Processor
View file | ||
---|---|---|
|
Note: Please provide the image tag version in the image place holders in the manifest file Environmental variables
...
Code Block |
---|
kubectl apply -f jira-processor.yaml |
Devops-processor
View file | ||
---|---|---|
|
Note: Please provide the image tag version in the image place holders in the manifest file Environmental variables
...
View file | ||
---|---|---|
|
Note: Please provide the value of all the place holders in the manifest file.
...
View file | ||
---|---|---|
|
Note: Please provide the value of all the place holders in the manifest file.
Code Block |
---|
kubectl apply -f azure-pipeline-repo.yaml |
...
Step 6 : Installing Authentication and Authorization App
AuthNAuth Backend
The Bellow manifest is for Deployment and service of AuthNauth backend API service
View file | ||
---|---|---|
|
AuhNAuth UI
The Bellow manifest is for Deployment and service of AuthNauth UI service
View file | ||
---|---|---|
|
AuthNAuth PostgresDB
When installing Knohow AuthNauth in a Kubernetes (K8s) environment, it is recommended to use cloud-provided services for Postgres like Azure Cosmos DB for Postgres or Azure Flex server to ensure reliability, scalability, and ease of management. However, for testing or non-production environments, you can also deploy as a Kubernetes pod.
Step 7: Install repo tool
View file | ||
---|---|---|
|
View file | ||
---|---|---|
|
View file | ||
---|---|---|
|
...