Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

...

  • jira-processor: Acts as a collector to gather data from Jira. If you need KPIs from Jira, you should include this container.

  • devops-processor: Includes collectors for various DevOps tools such as Jenkins, GitHub, GitLab, Bamboo, Bitbucket, Zephyr, Sonar, and TeamCity. Use this container if you need to collect data from any of these tools.

  • azure-board-processor: Collects data from Azure Board. Include this container if you need KPIs from Azure Board.

  • azure-pipeline-repo: Collects data from Azure Pipeline and Azure Repo. Use this container if you require data from these Azure services.

Additionally, there is a set of four optional containers that are used together for repository managementare three optional containers used together to authenticate and authorize users of Knowhow with your company's SAML. If you choose to install repotool-djangothese containers, you must also install the following containers:

...

repotool-django: An optional container for repository management.

...

repotool-knowhow: Another optional container for repository management.

...

Postgres: An optional container for PostgreSQL database.

...

install all three of them. Otherwise, you can use Knowhow's built-in standard authentication mechanism.

  • AuthNAuth Backend: This container handles the backend services for authentication and authorization, integrating with your company's SAML for secure user verification.

  • AuthNAuth UI: This container provides the user interface for authentication and authorization, allowing users to interact with the login and access control features seamlessly.

  • Postgres: This container is for the PostgreSQL database, which stores user credentials, permissions, and other related authentication data securely.

NOTE: Based on specific requirements, you can bring up these respective containers as needed.

...

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

Note: Please provide the latest image tag version in the image place holders . Latest image version number can be found here docker hub Repo

...

Attaching the list of all the processor you may run

Jira-Processor

View file
namejira-processor.yaml

Note: Please provide the latest image tag version in the image place holders . Latest image version number can be found here Dockerhub repo

...

Code Block
kubectl apply -f jira-processor.yaml
Devops-processor

View file
namedevops-processor.yaml

Note: Please provide the latest image tag version in the image place holders . Latest image version number can be found here Dockerhub repo

...

View file
nameazure-board-processor.yaml

Note: Please provide the latest image tag version in the image place holders . Latest image version number can be found here Dockerhub repo

...

View file
nameazure-pipeline-repo.yaml

Note: Please provide the latest image tag version in the image place holders . Latest image version number can be found here Dockerhub repo

...

Step 6 : Installing Authentication and Authorization App

NOTE: If you want to authenticate and authorize users of Knowhow with your company's SAML, install the bellow central login containers. Otherwise, you can skip this step, and your installation is complete.

AuthNAuth Backend

The Bellow manifest is for Deployment and service of AuthNauth backend API service

View file
nameauth-api.yaml

AuhNAuth UI

The Bellow manifest is for Deployment and service of AuthNauth UI service

View file
nameauth-ui.yaml

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.

...

View file
namedebbie-knowhow.yml
View file
namerepotool-django.yml
View file
namedebbie-rabbitmq.yml

Verify the Deployment

You can verify that the containers are running run the following command:

Code Block
kubectl get pod

...

  1. If you are upgrading PSknowhow from 7.0.0 to 7.x.x please execute the bellow step else execute step 2

    Code Block
    kubectl exec -it <Mongodb Pod name> sh
    mongo admin --username="${MONGODB_ADMIN_USER}" --password="${MONGODB_ADMIN_PASS}" --eval "db.shutdownServer()"
  2. Edit the deployment in following order
    mongodb
    customapi
    ui
    jira-processor
    devops-processor
    azure-pipeline-repo
    azure-board-processor
    by

    Code Block
    kubectl edit deploy <Deploy name> -o yaml
  3. Replace the tag version with the latest version in image section

  4. Check for environmental variable section and add if any new variables are required in current manifest file Refer this docs . And save it.

Base Image

  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)

...