Git Product home page Git Product logo

epam / edp-install Goto Github PK

View Code? Open in Web Editor NEW
84.0 7.0 17.0 190.22 MB

Start from the EPAM Delivery Platform main page. This repository contains the Helm Chart templates that describe the installation of the main configuration (e.g. database registration, user creation in a database, etc.), which cannot be subsumed to the corresponding operator or allotted to the repository

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

License: Apache License 2.0

Dockerfile 6.42% Smarty 63.75% Makefile 26.82% Shell 2.22% CSS 0.80%
ci cd edp chart helm deployment cicd microservice kubernetes k8s

edp-install's Introduction

KubeRocketCI Platform πŸš€

❗ Please refer to KRCI documentation to get the notion of the main concepts and guidelines.

KubeRocketCI (KRCI) is out of the box integrated ecosystem for software development connected to a local development environment.

KubeRocketCI, which is also called "The Rocket", is a platform that allows shortening the time that is passed before an active development can be started from several months to several hours.

The platform consists of the following:

  • The platform based on managed infrastructure and container orchestration;
  • Security covering authentication, authorization, and SSO for platform services;
  • Development and testing toolset;
  • Well-established engineering process and EPAM practices (EngX) reflected in CI/CD pipelines, and delivery analytics;
  • Local development with debug capabilities;
  • A set of pre-configured pipelines for different types of applications (polyglot microservices);
  • Observability stack.

KubeRocketCI Installation

KubeRocketCI can be installed both on OpenShift and Kubernetes orchestration platforms. Please refer to the Install KubeRocketCI section of the Operator Guide for details and info on prerequisites.

NOTE: To get the notion of the most useful KubeRocketCI terms, please refer to the KRCI Glossary page.

KubeRocketCI Repositories Description

KubeRocketCI consists of the components that are presented as repositories. To find the necessary repository and get more details about its deployment and scheme, please refer to the Table 1.

Table 1. KRCI Main Repositories.

Repository Description Link
edp-install Main overview repository. https://github.com/epam/edp-install/tree/master#epam-delivery-platform
codebase-operator The operator overview page with the corresponding description, installation, local development, and architecture scheme. In addition, the Jira Fix Version, Jira Server, Git Server, Codebase, Codebase Branch controllers overview and schemes. https://github.com/epam/edp-codebase-operator/tree/master#codebase-operator
cd-pipeline-operator The operator overview page with the corresponding description, installation, local development, and architecture scheme. https://github.com/epam/edp-cd-pipeline-operator/tree/master#cd-pipeline-operator
gerrit-operator The operator overview page with the corresponding description, installation, local development, and architecture scheme. https://github.com/epam/edp-gerrit-operator/tree/master#gerrit-operator
keycloak-operator The operator overview page with the corresponding description, installation, local development, and architecture scheme. https://github.com/epam/edp-keycloak-operator/tree/master#keycloak-operator
nexus-operator The operator overview page with the corresponding description, installation, local development, and architecture scheme. https://github.com/epam/edp-nexus-operator/tree/master#nexus-operator
sonar-operator The operator overview page with the corresponding description, installation, local development, and architecture scheme. https://github.com/epam/edp-sonar-operator/tree/master#sonar-operator
edp-headlamp The operator overview page with the corresponding description, assets, and local development. https://github.com/epam/edp-headlamp/tree/master#edp-headlamp
edp-tekton The operator overview page with the description of its two main components: EDP Interceptor and Tekton Pipelines. https://github.com/epam/edp-tekton/tree/master#edp-tekton

edp-install's People

Contributors

actions-user avatar aleksandr-morozov avatar artem-zahumonnyi avatar callmevladik avatar daniil-nedostup avatar elluvium avatar eugenchik avatar iryna-churkina avatar k-zbar avatar leodorova-elsevier avatar mariiabochechko avatar moonmanua avatar myudienkov avatar nikolaymarusenko avatar oleksandr123234 avatar orfey95 avatar romantirskikh avatar sergii-msn avatar sergk avatar sonlir avatar totalalfie avatar victormysyk avatar viktor-voronin avatar vitalii-ielakov-epam avatar yevheniipokhvalii avatar yurii-zakharov avatar yuriiboichuk avatar zmotso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

edp-install's Issues

Create add-ons approach to install EDP and all cluster components using Argo CD

Use ArgoCD to quickly bootstrap kubernetes cluster from scratch.

Acceptance criteria:

  • EDP user can use pre-defined structure in edp-install as a baseline for cluster deployment;
  • For each engagement user can use this structure as baseline for new cluster provisioning;
  • ArgoCD is used to deploy all tools on the cluster;
  • Deploy new cluster and apply addons approach to ensure cluster has all the required capabilities and EDP as well

As an EDP user I want to have terraform Application support

  • Add new kind: Infrastructure with:
    • build-tool: terraform
    • lang: terraform
    • framework: infraspace
  • Added support for Clone, Create, Import strategy
  • Do not push deployment and Sonar Templates
  • Create templates for "create" application (see details below)
  • For CI pipelines:
    • CodeReview: run helm lint, helm docs, helm fmt
    • BuildPipeline: run helm lint, helm docs, helm fmt
  • Add UI part

As an EDP user, I would like to be able to deploy the latest stable version of the platform with all the features and improvements

In the new release, I would like to see the following key features:

  • New Headlamp UI Application onboarding dialog;
  • Enable Autotest as Quality Gate for CD pipeline;
  • Add helm application type support to deploy and manage dependencies, add support infrastructure codebase type to manage infrastructure, Vue, Angular and Express frameworks for JavaScript and Gin framework for Go;
  • Add Java Multi-Module Support for Tekton;
  • Enable autodeploy feature for Tekton deploy scenario;
  • Feature to manually trigger codereview pipeline;

As an EDP User, I want to use auto deploy in Headlamp and Argo CD deploy scenario

Enable logic to provide autodeploy approach in Argo CD deploy scenario.

Each time when Build pipeline update CodebaseImageStream Custom Resource - define latest artifact tag and upgrade this service on each environment, where this service deployed.

In Headlamp UI in CD pipeline create dialog enable functional to create env with auto deploy approach.

Bump alpine version

EDP currently uses alpine version 3.16.4 as the base image for its components, since there is already a more up-to-date version with many fixes, let's update to it - 3.18.0.

Acceptance Criteria:

  • each EDP component use alpine:3.18.0 as base image;

Re-trigger pipeline for specific comment in GitHub/GitLab/Gerrit

The current functionality of the platform does not allow a simple way to restart the pipeline review if necessary.
Add functionality that allows you to provoke the launch of a pipeline review with a specific comment in a merge request review

Acceptance Criteria:

  • EDP user can trigger code review pipeline in manually mode;
  • comment '/recheck' in PR is the way that user can run code-review pipeline;

As an EDP User, I want to onboard the helm chart application

Provide the ability to deploy additional services with the main applications as dependencies.
Provide base CI for helm charts, thus allowing user to select a service in the CD pipeline.

Acceptance Criteria:

  • user can add codebases type helm via Headlamp;
  • language: helm framework: helm and build tool: helm;
  • create repo for create strategy;
  • Tekton CI/CD (add review and build pipelines) pipelines available for helm charts;
  • check deploy functional (user can add services and deploy as dependency for application);
  • check EDP and default versioning approaches;
  • publish helm chart with appropriate version to registry;
  • add repos with tests sources to github and gitlab for import strategy;
  • describe usage in documentation (https://epam.github.io/edp-install/);

As a test template, use the PostgreSQL DB or any other.

Release 3.4.1

Acceptance Criteria:

  • EDP 3.4.1 released and available for deployment;
  • installation documentation is aligned according to LTS version;
  • all subcomponents are also released;
  • RELEASES.md aligned;
  • changelog updated;

As an EDP user I want to have opportunity deploy applications in to different clusters

Acceptance Criteria:

  • user can integrate EDP with different clusters;
  • mkdocs contain article of how to use this feature;
  • user can deploy each CD pipeline stage to different clusters;
  • add 'clusters' section in Headlamp UI;
  • provide opportunity to add new cluster;
  • each EDP tenant must be deployed with Argo CD;
  • align with current RBAC model;
  • Argo CD mandatory parameter by default;
  • git servers must be automatically integrated with Argo CD; (codeabsae-operator logic)
  • user can be add new cluster via Argo CD or Headlamp UI;
  • align mkdocs;
  • ** align autotest run;
  • ** align custom CG run;
  • ** align custom logic run on CD part;

Image

Deprecate perf-operator

Do not install perf operator within EDP as well as remove dependency on perf CRDs

Acceptance criteria:

  • edp-install do not contain dependency for perf-operator deployment;
  • EDP can be deployed on empty cluster without perf-operator;

Align Sonar integration

Acceptance Criteria:

  • mkdocs contain page of how integrate EDP solution with shared Sonar (manage secret, EDP Portal UI);

Upgrade SolutionsHub

Please collect the info for the Use Cases block in the SolutionsHub page.

Useful:

benefits:

  • opensource;
  • mkdocs framework (perfect docs)
  • maybe active community

Deploy Argo CD as EDP subcomponent

In the current deployment scenario, the deployment of the ArgoCD component is used to provide functionality for the deployment of services, with this approach, a centralized ArgoCD with cluster admin permissions is used, this may not be available for part of the deployment scenarios and project requirements, it would be nice to be able to deploy ArgoCD as a subcomponent of the platform with the appropriate RBAC.

In addition, it would be nice to automate some of the integrations, such as integration with Keycloak for SSO access and integration with git servers out of the box.

Acceptance Criteria:

Release EDP 3.4.0

Acceptance Criteria:

  • EDP 3.4.0 released and available for deployment;
  • installation documentation is aligned according to LTS version;
  • all subcomponents are also released;
  • RELEASES.md aligned;
  • changelog updated;

Describe how to Delete EDP from cluster

Add article to describe how user can delete EDP with all integrations and related resources (clean Keycloak, remove finalizers....).

Provide script to automate this process.

Acceptance Criteria:

  • mkdocs (https://epam.github.io/edp-install/) contains article of how to delete (redeploy) EDP;
  • provide script to remove finalizers in case if Namespace stuck in terminating state;
  • describe how remove finalizers in manually mode;

Describe marketplace section

EDP Headlamp has new section - Marketplace.

Please create initial page in mkdocs to describe main capabilities of Marketplace page.

Acceptance Criteria:

  • mkdocs contain article with main capabilities of Marketplace page;

Enable SAST scan for Tekton pipelines

As an EDP user, I would like to be able to use SAST scanning out of the box for tekton pipelines.

Acceptance Criteria:

  • SAST scan available out of the box for Tekton pipelines;
  • Enable only for build pipelines;

Describe Jira integration functionality

https://epam.github.io/edp-install/operator-guide/jira-integration/?h=jira

Currently, we need to provide detailed information on how to use Jira integration from a business and technical perspective.

Now use can use commit message validate even if Jira integration is disabled.
The Tekton jira integration step is optional, and we need to describe this in the documentation and explain how to enable this function.

Acceptance Criteria:

  • mkdocs Jira article updated;
  • use Headlamp UI instead of Admin Console;
  • User can use the commit-validate Tekton step and know hot to enable this step;
  • Documentation up-to-date of the latest Jira integration functional;
  • The description style is not only technical but also business, to understand why this approach

Implement tekton cache usage

Add diagram on autotest page

This would greatly improve the user experience if, in addition to the artifact passing table, there would be a graphical display of the status of each autotest in the CD pipelines part. Something similar to the screenshot.

Image

As an EDP User, I want to onboard .NET 3.1 support with C# language

Acceptance Criteria:

  • User can add codebases .NET 3.1 as default functional;
  • language: .NET framework: .NET 3.1 and build tool: .NET;
  • create repo for create strategy;
  • Tekton CI/CD (add review and build pipelines) pipelines available for helm charts;
  • check deploy functional;
  • check EDP and default versioning approaches;
  • update mk-docs screen;

As a EDP User, I want to have static cluster resources name

Currently we have random values for example for name of service.

Image

Acceptance Criteria:

  • headlamp UI always create kind: Application with correct spec to deploy helm application with with static helm release name;
  • get release name from /deploy-templates/Chart.yaml or from codeabase name;
  • provide functional to redefine release name;

https://argo-cd.readthedocs.io/en/stable/user-guide/helm/
argoproj/argo-cd#1066

Investigate fullnameOverride parameter in values.yaml.

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.