GithubHelp home page GithubHelp logo

epam / edp-perf-operator Goto Github PK

View Code? Open in Web Editor NEW
1.0 9.0 3.0 584 KB

PERF Operator is responsible for integration with the Project Performance Board (PERF board), maintenance, and creation of the data source in the delivery metrics

Home Page: https://solutionshub.epam.com/solution/epam-delivery-platform

License: Apache License 2.0

Dockerfile 0.29% Groovy 0.20% Shell 0.50% Go 92.82% Smarty 1.30% Makefile 4.89%
ci cd epam-perf epam edp kubernetes k8s perf metrics agile

edp-perf-operator's Introduction

codecov

PERF Operator

โ— Please refer to EDP documentation to get the notion of the main concepts and guidelines.

Get acquainted with the PERF Operator and the installation process as well as the local development, and architecture scheme.

Overview

PERF Operator is an EDP operator that is responsible for for integration with the Project Performance Board (PERF board), maintenance, and creation of the data source in the delivery metrics. Operator installation can be applied on two container orchestration platforms: OpenShift and Kubernetes.

NOTE: Operator is platform-independent, that is why there is a unified instruction for deploying.

Prerequisites

  1. Linux machine or Windows Subsystem for Linux instance with Helm 3 installed;
  2. Cluster admin access to the cluster;
  3. EDP project/namespace is deployed by following the Install EDP instruction.

Installation

In order to install the PERF Operator, follow the steps below:

  1. To add the Helm EPAMEDP Charts for local client, run "helm repo add":

    helm repo add epamedp https://epam.github.io/edp-helm-charts/stable
  2. Choose available Helm chart version:

    helm search repo epamedp/perf-operator -l
    NAME                           CHART VERSION   APP VERSION     DESCRIPTION
    epamedp/perf-operator          2.12.0          2.12.0          A Helm chart for EDP Perf Operator
    epamedp/perf-operator          2.11.0          2.11.0          A Helm chart for EDP Perf Operator

    NOTE: It is highly recommended to use the latest released version.

  3. Create manually the corresponding secrets:

    3.1 OpenShift:

    oc -n <edp-project> create secret generic <perf.credentialName> --from-literal=username=<username_to_perf> --from-literal=password=<password_to_perf>
    
    oc -n <edp-project> create secret generic <perf.luminate.credentialName> --from-literal=username=<username_to_luminate> --from-literal=password=<password_to_luminate>

    3.2 Kubernetes:

    kubectl -n <edp-project> create secret generic <perf.credentialName> --from-literal=username=<username_to_perf> --from-literal=password=<password_to_perf>
    
    kubectl -n <edp-project> create secret generic <perf.luminate.credentialName> --from-literal=username=<username_to_luminate> --from-literal=password=<password_to_luminate>

    INFO: The <perf.credentialName> and <perf.luminate.credentialName> parameters are described below.

    IMPORTANT: Pay attention that at this point, the PERF integration works only on the top of Luminate service so it is required to create the Luminate secret.

  4. Create config map with luminate data:

    4.1 OpenShift:

    oc -n <edp-project> create configmap luminatesec-conf --from-literal=apiUrl=<api_url_to_get_luminate_token> --from-literal=credentialName=<perf.luminate.credentialName>

    4.2 Kubernetes:

    kubectl -n <edp-project> create configmap luminatesec-conf --from-literal=apiUrl=<api_url_to_get_luminate_token> --from-literal=credentialName=<perf.luminate.credentialName>
  5. Create PerfServer CR:

    apiVersion: v2.edp.epam.com/v1
    kind: PerfServer
    metadata:
      name: <perf_cr_name>
      namespace: <namespace>
    spec:
      apiUrl: '<perf.apiUrl>'
      credentialName: '<perf.credentialName>'
      projectName: '<perf.projectName>'
      rootUrl: '<perf.rootUrl>'

    NOTE: As soon as the connection is established, the following information will be displayed in the status parameter:

    status:
     available: true
    detailed_message: connected
  6. Create secrets with administrative rights to integrate the PERF data source with services (e.g. Jenkins, Sonar, GitLab):

    6.1 OpenShift:

    oc -n <edp-project> create secret generic gitlab-admin-password --from-literal=username=<username_to_gitlab> --from-literal=password=<password_to_gitlab>
    
    oc -n <edp-project> create secret generic jenkins-admin-token --from-literal=username=<username_to_jenkins> --from-literal=password=<password_to_jenkins>
    
    oc -n <edp-project> create secret generic sonar-admin-password --from-literal=username=<username_to_sonar> --from-literal=password=<password_to_sonar>

    6.2 Kubernetes:

    kubectl -n <edp-project> create secret generic gitlab-admin-password --from-literal=username=<username_to_gitlab> --from-literal=password=<password_to_gitlab>
    
    kubectl -n <edp-project> create secret generic jenkins-admin-token --from-literal=username=<username_to_jenkins> --from-literal=password=<password_to_jenkins>
    
    kubectl -n <edp-project> create secret generic sonar-admin-password --from-literal=username=<username_to_sonar> --from-literal=password=<password_to_sonar>
  7. Full chart parameters available in deploy-templates/README.md.

  8. Install operator in the namespace with the helm command; find below the installation command example:

        helm install perf-operator epamedp/perf-operator --version <chart_version> --namespace <edp-project> \
        --set name=perf-operator \
        --set global.edpName=<edp-project> \
        --set global.platform=openshift \
        --set perf.integration=true \
        --set perf.name=<perf_server_name> \
        --set perf.apiUrl=<api_url> \
        --set perf.rootUrl=<URL_to_project_in_perf> \
        --set perf.credentialName=<credential_name> \
        --set perf.projectName=<project_name_in_perf> \
        --set perf.luminate.enabled=true \
        --set perf.luminate.apiUrl=<api_url> \
        --set perf.luminate.credentialName=<credential_name> \
  9. Check the namespace that should contain operator deployment with your operator in a running status.

Local Development

In order to develop the operator, first set up a local environment. For details, please refer to the Local Development page.

Development versions are also available, please refer to the snapshot helm chart repository page.

Related Articles

edp-perf-operator's People

Contributors

artem-zahumonnyi avatar blobor avatar iryna-churkina avatar mykysha avatar nazarsavorona avatar nikolaymarusenko avatar orfey95 avatar sergk avatar sugar-pack avatar totalalfie avatar victormysyk avatar yevheniipokhvalii avatar zmotso avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.