XenonStack Recommends

Service Design

CNCF Cloud Native Continuous Integration (CI) and Dashboard

Navdeep Singh Gill | 25 November 2022


XenonStack White Arrow

Thanks for submitting the form.

Introduction to Cloud Native Computing Foundation

CNCF (Cloud Native Computing Foundation) as we know its a small organization, and it's not narrowed to a specific type of project, it's so diverse and deal with too many projects and its growing continuously. So there was a need to make these projects interaction and function together. And CNCF-CI is the way to make all these things possible. It's a CI which take care of cross-project interoperability of all cloud-native tech, and which integrates, tests and deploys projects within its ecosystem.
An approach in which developers merge their code into a shared repository several times a day. Click to explore about our, Continuous Integration and Continuous Delivery

Why we need Cloud-Native CNCF-CI?

It is growing continuously, and to make it faster, work smoothly, fix bug fast and make the release quicker, and be more agile there was need of something which can communicate and function with all the cloud-native project, this is what cncf-ci will do - CNCF would like to ensure cross-project interoperability of all cloud-native technologies and show the daily status of builds, deployments, and end-to-end tests on a status dashboard.

Architecture of CNCF-CI

It mainly consists of -
  • A dashboard
  • Status Repository Server
  • Testing system

This project has three sections a dashboard, status repository server, and a testing system all together make the Cloud Native Computing Foundation ci process. The testing system which is used to validate the build and deployments whenever there will be a commit on stable and HEAD to Arm or x86 architecture on bare metal servers. The CI continuously validates interoperability between each CNCF projects. The status repository server fetches the results generated by the test system, and dashboard displays them.

What are its key features?

The crucial primary feature for CNCF CI v2 are - It is going to be Project Centric - That is it will focus and validate its hosted graduated and incubating project first. Increase Collaboration - CI system will integrate with external CI system for retrieving its projects build status and container artifacts. Agnostic testing - According to Kubernetes release Bare Metal According to architecture - x86 and Arm

A highly available, scalable production environment to deploy Magento projects on AWS. Click to explore about our, AWS Jenkins Pipeline Continuous Integration with Magento

Continuous Integration Dashboard

The below image is the CI dashboard overview, and the highlighted section shows provisioning the test environment for Kubernetes release with selected architecture for the projects. Here we can see the test environment having Kubernetes release v1.13.0 for projects CoreDNS is a success, and we can adjust the Kubernetes version through the drop down and see project CoreDNS success too for different Kube version. The build and deploy section for every project is interactive we can check the build details and deploy by clicking on it, it will show build and deploy job running on GitLab. You can find the dashboard for CNCF-CI here.

CNCF CI Dashboard Overview

Tech flow overview

The tech flow of CNCF-CI is something like - the CI/CD runs on GitLab platform, and it uses Terraform and cloud-init for test environment provisioning, the app deployments are done through Helm and uses Git+yaml files for automating the build and deployments steps. The CI testing-system has four stages - Kubernetes test environment provisioning
  • Collect the k8s artifacts
  • provision the packet server and bootstrap k8s
  • finally, update the dashboard with the results for the status badge
xenonstack-ci-cd-automated -checks
An approach in which developers merge their code into a shared repository several times a day. Download to explore about Continuous Integration vs Continuous Deployment
Build pipeline per projects -
  • Build - Compile or retrieve the binaries and e2e test results.
  • Package - Create containers and push the created artifacts to gitlab docker registry.
  • Update - update the build status badge on the CI dashboard.
E2e testing stage per projects Deployments pipeline per plans -
  • Artifacts - Sum up all the project artifacts from the previous step i.e., build stage
  • Cross-project - Deploy each project with the help of Helm.
  • Update Update the deploy status badge on CI dashboard

A Comprehensive Strategy

Cloud Native Computing Approach and Development Principles helps Enterprises to move away form legacy mindset and adapt Next Gen IT.To know more about Cloud Native Computing we recommend taking the following steps-