Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

  1. customapi with amazoncorretto:17 as base image which handles api request, which runs on 8080 port.

  2. ui with nginx:1.22.1-alpine-slim base image, which proxy-pass to customapi and ui components, which runs on port 80 & 443.

  3. mongodb with mongo:5.0.18 as base image, which stores data and runs on port 27017.

  4. Jira-processor with amazoncorretto:17 base image which is a jira collector.

  5. devops-processor with amazoncorretto:17 base image which collects jenkins, github, gitlab, bamboo, bitbucket, zephyr, sonar, teamcity.

  6. azure-board-processorwith amazoncorretto:17 base image and which collects azure board.

  7. azure-pipeline-repo with amazoncorretto:17 as base image which collects azure pipeline and azure repo.

  8. scm-processor-api Its python:3.8 application to calculate KPI metrics of different SCM tools like github, gitlab & Bitbucket.

  9. scm-processor-core Its a python:3.8 application which collects raw data from SCM tools like github, gitlab & Bitbucket and saves it.

  10. scm-processor-postgres: Version 11.1 is used to store repotool related data(Only required when repotool is installed)

  11. scm-processor-rabbitmq Version 3.8-management is a job scheduler user by repotool-knowhow application (Only required when repotool is installed)

...

Please ensure you follow the sequence outlined below to complete the process successfully.

Step 1: Create Configmap For pods

Download the Configmap file and add required details

...

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

...

  • This is the YAML file for MongoDB designed specifically for deployment on AWS EKS with an EBS file system for persistent storage. It utilizes static provisioning through Amazon EBS.

    View file
    nameMongoDB-AWS-EBS.yml

  • This is the YAML file for MongoDB designed specifically for deployment on AWS EKS with an EFS file system for persistent storage. It utilizes static provisioning through Amazon EFS.

    View file
    nameMongoDB-AWS-EFS.yml

Reference: AWS Docs for EKS with EFS

...

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
nameingress.yaml

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
namejira-processor.yaml

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
namedevops-processor.yaml

Note: Please provide the image tag version in the image place holders in the manifest file Environmental variables

...

View file
nameazure-board-processor.yaml

Note: Please provide the value of all the place holders in the manifest file.

...

View file
nameazure-pipeline-repo.yaml

Note: Please provide the value of all the place holders in the manifest file.

...