Skip to content

Latest commit

 

History

History
30 lines (16 loc) · 1.85 KB

overview.md

File metadata and controls

30 lines (16 loc) · 1.85 KB

The Kubeapps Overview

This document describes the Kubeapps architecture at a high level.

Components

Kubeapps dashboard

At the heart of Kubeapps is an in-cluster Kubernetes dashboard that provides you a simple browse and click experience for installing and managing Kubernetes applications packaged as Helm charts.

Additionally, the dashboard integrates with the Kubernetes service catalog and enables you to browse and provision cloud services via the Open Service Broker API.

The dashboard is written in the JavaScript programming language and is developed using the React JavaScript library.

Kubeops

Kubeops is the service in charge of communicating both with the Helm (v3) API and other k8s resources like AppRepositories or Secrets. Check more details about the implementation in this document.

Apprepository CRD and Controller

Chart repositories in Kubeapps are managed with a CustomResourceDefinition called apprepositories.kubeapps.com. Each repository added to Kubeapps is an object of type AppRepository and the apprepository-controller will watch for changes on those types of objects to update the list of available charts to deploy.

asset-syncer

The asset-syncer component is a tool that scans a Helm chart repository and populates chart metadata in a database. This metadata is then served by the assetsvc component. Check more details about the implementation in this document.

assetsvc

The assetsvc component is a micro-service that creates an API endpoint for accessing the metadata for charts and other resources that's populated in a database. Check more details about the implementation in this document.