Konstellation AI Lab, formerly known as kdl-server
, is the training server of Konstellation AI.
The main goal of KAI Lab is to provide a user-friendly environment for Data Scientists where they can carry out their experiments. At the same time, it integrates a powerful solution for project management, user environments with GPU capabilities and job management.
Component | Bugs | Coverage | Maintainability Rating | Go report | Security |
---|---|---|---|---|---|
app-api | |||||
app-ui | - | ||||
cleaner | |||||
repo-cloner |
app-api
: main component of the application, providing API access for other components and managing interactions withMongoDB
.app-ui
: web application offering the interface for data scientists.backup
: KubernetescronJob
that backs upPostgreSQL
andMongoDB
databases and stores Kubernetesetcd
manifests inAWS S3
cleaner
: currently unused, potentially slated for deprecation.gitea-oauth2-proxy
: in-house solution exposinggitea
login page to other pods.gitea
: git server mirroring project repositories.minio
: s3-compatible object storage, holding artifacts from training jobs;MinIO
is installed as a pinned dependency, with only the console deployed through the chart.postgresql
: database storinggitea
data.project-operator
: Kubernetes operator listening toKAI Lab API
; on new project creation in the UI, it deploys a project-specific pod withmlflow
andfile browser
.repo-cloner
: in-house solution that clones all accessible repositories into the user's user-tools pod.user-tools-operator
: Kubernetes operator monitoring kai lab api; each time a user starts or changes runtime in the UI, this operator deploys a pod with vscode server and runtime containers based on selected image.
Note
If component isn't on the matrix, that means it component hasn't dependencies.
Component | Dependencies | Version | Compatibility |
---|---|---|---|
app |
code.gitea.io/sdk/gitea | v0.19.0 |
- |
github.com/minio/minio-go/v7 | v7.0.78 |
- | |
go.mongodb.org/mongo-driver | v1.17.1 |
MongoDB >=3.6, =<7.X |
|
k8s.io/api | v0.31.1 |
Kubernetes >=1.24, =<1.30 |
|
k8s.io/apimachinery | v0.31.1 |
Kubernetes >=1.24, =<1.30 |
|
k8s.io/client-go | v0.31.1 |
Kubernetes >=1.24, =<1.30 |
|
repo-cloner |
go.mongodb.org/mongo-driver | v1.17.1 |
MongoDB >=3.6, =<7.X |
gitea |
k8s.io/api | v0.31.1 |
Kubernetes >=1.24, =<1.30 |
k8s.io/apimachinery | v0.31.1 |
Kubernetes >=1.24, =<1.30 |
|
k8s.io/client-go | v0.31.1 |
Kubernetes >=1.24, =<1.30 |
Install our tools and follow the kdlctl guide to deploy your local environment.
We use the GitFlow branching model. Read more about it here.
Refer to the docs folder for more information:
- capabilities: how-to install KDL's capabilities
- gke-integration: GKE integration with develop tag images and CI/CD per each component
- kdlctl: deploy your KDL server on local
- knowledge-galaxy: KDL's knowledge graph
- runtimes: how-to install KDL's runtimes
- tools: tools used in the development process
Refer to the kdl-server Helm chart for more information.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the MIT License - see the LICENSE file for details.