Git Product home page Git Product logo

epam / edp-gerrit-operator Goto Github PK

View Code? Open in Web Editor NEW
4.0 7.0 4.0 1.21 MB

This operator installs and manages Gerrit EDP Component in order to use it as GitProvider and store codebases code

Home Page: https://docs.kuberocketci.io

License: Apache License 2.0

Dockerfile 0.15% Groovy 0.07% Shell 0.91% Go 96.39% Smarty 0.82% Makefile 1.66%
ci cd gerrit operator kubernetes k8s edp git gerrit-operator kuberocketci

edp-gerrit-operator's Introduction

Build codecov Go Report Card GitHub license

Gerrit Operator

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

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

Overview

Gerrit Operator is an EDP operator that is responsible for installing and configuring Gerrit. Operator installation can be applied on OpenShift container orchestration platform.

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.
  4. Make sure Git FSMonitor feature is turned off. This is due to limitations of go-git.

Installation

In order to install the EDP Gerrit 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/gerrit-operator -l
    NAME                     CHART VERSION   APP VERSION     DESCRIPTION
    epamedp/gerrit-operator  2.19.0          2.19.0          A Helm chart for EDP Gerrit Operator
    epamedp/gerrit-operator  2.18.0          2.18.0          A Helm chart for EDP Gerrit Operator

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

  3. Full chart parameters available in deploy-templates/README.md.

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

    helm install gerrit-operator epamedp/gerrit-operator --version <chart_version> --namespace <edp-project> --set name=gerrit-operator --set global.platform=<platform_type> --set global.dnsWildCard=<cluster_DNS_wildcard>
  5. Check the namespace that should contain 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-gerrit-operator's People

Contributors

aleksandr-morozov avatar artem-zahumonnyi avatar blobor avatar dependabot[bot] avatar elluvium avatar iryna-churkina avatar mykhailo-b avatar mykysha avatar nikolaymarusenko avatar oleksandr123234 avatar orfey95 avatar sergk avatar sugar-pack avatar totalalfie avatar victormysyk avatar viktor-voronin avatar yevheniipokhvalii avatar zmotso avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

edp-gerrit-operator's Issues

Describe GerritMergeRequest CR

How to use GerritMergeRequest CR needs to be clarified.

  • Add a description for every spec field.
  • Add examples of how to use GerritMergeRequest CR.

Release 2.19.0

Acceptance Criteria:

  • Release gerrit-operator 2.19.0 with latest fixes, features;

Enhance Keycloak Integration Flexibility for EDP Gerrit Operator

Is your feature request related to a problem? Please describe.
Currently, the EDP Gerrit Operator has restrictions regarding its integration with Keycloak, limiting the flexibility and potential configurations that can be achieved.

Describe the solution you'd like
We need a more flexible approach to Keycloak integration that allows for a broader range of configurations and use cases. This could involve expanding the operator's capabilities to support additional authentication and authorization scenarios, making it easier to integrate with different Keycloak setups.

Describe alternatives you've considered
An alternative might involve manual configuration or workarounds, but these are not desirable as they can be error-prone and hard to maintain.

Additional context
Improving the Keycloak integration flexibility will greatly enhance the usability and adaptability of the EDP Gerrit Operator, making it a more powerful tool for managing Gerrit instances with various security and authentication requirements.

Acceptance Criteria:

  • The EDP Gerrit Operator supports a wider range of Keycloak integration scenarios.
  • Documentation is updated to reflect the new integration capabilities.
  • Integration tests are added to ensure the new functionalities work as expected.

Implementation Plan:

  1. Analyze the current Keycloak integration limitations.
  2. Design a solution that adds the desired flexibility.
  3. Implement the changes in the EDP Gerrit Operator codebase.
  4. Update the documentation to include the new integration options.
  5. Add integration tests covering the new functionalities.

Release 2.20.0

Acceptance Criteria:

  • Release gerrit-operator 2.20.0 with latest fixes, features;

Use of Cryptographically weak PRNG in file helpers.go

Method marshalED25519PrivateKey at line 155 of \edp-gerrit-operator\pkg\service\helpers\helpers.go uses a weak method Uint32 to produce random values. These values are then used as cryptographic variables by marshalED25519PrivateKey at line 155 in \edp-gerrit-operator\pkg\service\helpers\helpers.go.

Release 2.16.0

Acceptance Criteria:

  • gerrit-operator 2.16.0 released;

Release gerrit-operator 2.21.0

Is your feature request related to a problem? Please describe.
This request is for the release of gerrit-operator version 2.21.0, incorporating the latest fixes and features to improve the operator's functionality and reliability.

Describe the solution you'd like
The release process should ensure the following acceptance criteria are met:

  • Release gerrit-operator version 2.21.0 with the latest fixes and features.
  • Make the release image available for deployment.
  • Update and release the helm chart corresponding to version 2.21.0.
  • Create and publish a release tag for version 2.21.0 in the repository.

Describe alternatives you've considered
N/A

Additional context
This release aims to provide users with the latest enhancements and bug fixes for the gerrit-operator, ensuring better stability and performance.

Release 2.13.6

Acceptance Criteria:

  • gerrit-operator 2.13.6 released;

Bump gerrit image version to 3.7.2

Is your feature request related to a problem? Please describe.
We are currently using an outdated version of the Gerrit image in our development environment.

Describe the solution you'd like
I would like to update our Gerrit image to version 3.7.2

Bump to Go 1.22

Is your feature request related to a problem? Please describe.
Go version 1.20 needs to be updated. Most libraries already require a newer version.

Describe the solution you'd like
Bump Go from 1.20 to the 1.22 version.

Describe alternatives you've considered
Stay on the outdated 1.20 version.

Allow multiple merge requests to be created at the same time

Current implementation of ChangeID generation is time-based. Because of this, when trying to generate multiple merge requests at the same time they get the same ChangeID and this behaviour is not supported by Gerrit.

Acceptance criteria:

  • ChangeID generation should not be time-based.
  • Generated ChangeID must be valid for Gerrit.
  • Generated ChangeID should be unique.

Release 2.18.0

Acceptance Criteria:

  • Release gerrit-operator 2.18.0 with latest fixes, features;

Release 2.17.0

Acceptance Criteria:

  • gerrit-operator 2.17.0 released;

CI pipelines do not trigger

Describe the bug
CI pipelines do not trigger after a new change is created.

To Reproduce

What did you do?

Create new changes or update existing ones.

What did you expect to see?

Trigger tekton CI pipeline.

What did you see instead? Under which circumstances?

No pipeline triggered.

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.