/openIDP

An open source platform to accelerate and scale DevOps adoption across the enterprise. Contact IDP_OSS@infosys.com for any queries or for latest updates.

Primary LanguageTypeScriptMIT LicenseMIT

Infosys DevOps Platform


For more information, check out below links:

About the repository

Codacy Badge

This repository is intended to hold the code base along with the required dependencies for the Infosys DevOps Platform (IDP) OSS version.

Getting Started

Below instructions will help the users to get to know the structure of this repository. See WIKI for notes on how to deploy the platform on a live system.

Details on project modules

Module/File Description Tech-stack details
Dashboard This microservice is designed for collecting relevant data during pipeline execution in Jenkins with the help of IDP's custom utilities. The data is then stored in Postgres and fed to Grafana dashboard, which is being used as the visualisation tool for providing trends and insights about applications.
  1. Programming Language : Java, for custom utilities
  2. Dependency Management: Maven
  3. Database : Postgres
  4. Metrics Dashboard : Grafana
DSL This module allows the developer to describe Jenkins jobs using Groovy-based language. The module uses Jenkins Job DSL Plugin which creates, updates and controls the Jenkins jobs. This allows to embrace the concept of "Configuration as a Code", thereby reducing MTTR of CICD Server (Jenkins)
  1. Programming Language : Groovy
  2. Dependency Management: Gradle
UI This module holds all the IDP user interface code and its related dependencies
  1. Framework : Angular 5
  2. Dependency Management: NPM
Services This module is divided into number of sub-parts.
  1. Spring RESTful service module for creating stateless services for implementing business logic. These services can be independently deployed and scaled up using a load balancer
  2. OAuth2 authorization module for enhanced security
  3. Module implementing Zuul Proxy to be used as an edge gateway which would route the request through Authorization Server (if Access token is not available/expired)
  4. Database layer for performing CRUD operations on backend database with respect to the operation being performed
  5. Swagger for automatic documentation of RESTful Services
  1. Framework : Spring Boot, Spring MVC, OAUth2.0
  2. Dependency Management: Maven
  3. Database: Postgres
Scheduler This Java based component is for timed execution of pipelines.
  1. Framework : Spring Boot
  2. Dependency Management: Maven
Jenkins This folder contains the necessary configuration files and plugins for Jenkins to make it work smoothly with IDP. It also holds the custom tools being used by IDP for performing various operations. These custom tools are placed in Jenkins custom tools directory, from where they can be copied to any of the build agents for running some specific errands, for instance, pushing the analysis results to dashboard while the build is still running. -
docs This folder contains the assets used in the Wiki pages. -
Data Files This folder contains the database initialization scripts for Postgres. It also consists of the Grafana configuration file (grafana.ini) with all the necessary configurations for integrating Grafana dashboard with IDP -

Please read WIKI for detailed documentation.