Skip to content

All components necessary to run Starwit's AI Cockpit are assembled in this repo. You'll find deployment for Docker compose and Kubernetes.

License

Notifications You must be signed in to change notification settings

starwit/ai-cockpit-deployment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Cockpit deployment

This repository contains tools to deploy all components of AI Cockpit.

Deployment

Components can be deployed with two tools: Docker Compose and Helmfile. Docker Compose runs all components as Docker images and with Helmfile all components are deployed to a Kubernetes cluster.

The following diagram shows an overview of software components as well as a number of versioned artifacts.

Docker Compose

Docker compose can be used to run a local setup of all components. Compose scripts are explained in detail here

TL;DR

    cd docker-compose
    export scenario=traffic
    sudo docker compose -f import-demo-docker-compose.yml up

Helmfile

Establish Environment

  • get secrets from bitwarden:
    • get ssh public and private key
    • get kubeconfig
    • use env-template.sh and create env.sh and add it as source in your console
  • use port forwarding to get connection to cluster, e.g.: ssh -L 16443:localhost:6443 ai-cockpit
  • check that port forwarding is running e.g. with kubectl get all --all-namespaces

Execute

With Helmfile you need a running Kubernetes cluster and your KUBECONFIG variable needs to point to an according config. If this is the case, the following command will install all components to namespace aic.

    cd helmfile
    helmfile diff helmfile.yaml -e aic-dev # check planned changes
    helmfile apply helmfile.yaml -e aic-dev 

Connection to Database

  • start pgadmin e.g. via docker compose script in your deployment project and add db connection:
    • get postgres credentials from kubernetes secrets
    • use port forwarding with ip 0.0.0.0 (e.g. via k9s) to be able to reach postgres port

Component Breakdown

The components of Starwit's implementation of AI cockpit can be found in the following repositories:

Component Repository / URI Description
AI Cockpit https://github.com/starwit/ai-cockpit Actual Cockpit
Class library https://github.com/starwit/starwit-aic-api Data structures to use APIs
Transparency API https://github.com/starwit/starwit-aic-transparency-api API for transparency functions, holds module information
sBOM Generator https://github.com/starwit/sbom-report-generator micro service to generate sbom reports
Landing page https://github.com/starwit/ai-cockpit-landing-page Landing page for multiple cockpit deployments
AI Cockpit Runner https://github.com/starwit/ai-cockpit-runner Windows app, that runs Cockpit with selected demo data
Alert viewer https://github.com/starwit/alert-viewer Web app to display status of action executions
Action Executor https://github.com/starwit/ai-cockpit-action-demo Sample action executor, including hardware triggering

For more details about AI Cockpit visit project page: https://www.kicockpit.eu/

Contact & Contribution

This project was partly funded by the government of the federal republic of Germany. It is part of a research project aiming to keep humans in command and is organized by the Federal Ministry of Labour and Social Affairs.

BMAS

License

Software in this repository is licensed under the AGPL-3.0 license. See license agreement for more details.

About

All components necessary to run Starwit's AI Cockpit are assembled in this repo. You'll find deployment for Docker compose and Kubernetes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages