Giter Club home page Giter Club logo

central-build-system's Introduction

Central Build System

Design

Central Build System (CBS) is made up of two software components: one for building (Continuous Integration) and one for deploying (Continuous Deployment).

For building we chose tekton and for deploying - ArgoCD. You can find more information in Comparision of CI/CD tools doc.

Architecture diagram

Diagram_schema

Architeccure comonents:

VPN VNET

The VPN Viretual Network (VNET) is responsible for communication with the outside of Azure cloud. That means, every user who wants to log into CBS system - has to log in to VPN VNET first.

Also this VNET is responsible for allowing external requests - like github webhooks - to communicate with our CBS system.

Build system VNET

This VNET is core network of build system. All the essential components of AKS kubernetes cluster are deployed in this network.

Tekton

Tekton is a CI component of CBS that is installed inside Kubernetes cluster. Access to Tekton is managed by Kubernetes RBAC mechanism. Each assigned group have got a separate namespace with their own UI so each team is able to do their stuff only inside their namespace. Access control is integrated with Azure Active Directory.

ArgoCD

ArgoCD is a CD component of CBS that is deployed inside the same Kubernetes cluster as Tekton. It is running in separate kubernetes namespace with access restricted to admin group only.

Permissions for ArgoCD are managed by OIDC component and are integrated with Azure Active Directory.

Installation manual

Installation and setup instructions are covered by this document.

Licencing

The code in this repository is distributed under this license.

central-build-system's People

Contributors

daosie avatar jetalone85 avatar pprach avatar romsok24 avatar toszo avatar

Watchers

 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.