ITEP-83024 [Design] SceneScape Core Deployment Package#671
ITEP-83024 [Design] SceneScape Core Deployment Package#671
Conversation
…-platform/scenescape into design_core_deployment
| ```mermaid | ||
| flowchart TB | ||
| subgraph core [SceneScape Core Application] | ||
| Postgres["PostgreSQL Database"]@{ shape: "cylinder" } | ||
| Mosquitto["Mosquitto Broker"]@{ shape: "lin-cyl" } | ||
| NTP["NTP Server"] | ||
| Manager["Manager"] | ||
| Controller["Controller"] | ||
| Autocalibration["Autocalibration"] | ||
| ClusterAnalytics["Cluster Analytics"] | ||
| Mapping["Mapping"] | ||
| end | ||
|
|
||
| subgraph sensors [Cameras and Sensors pipelines] | ||
| MediaMtx["MediaMTX"] | ||
| DLSPSRetail["DLStreamer Pipeline Server (retail)"] | ||
| DLSPSSQueuing["DLStreamer Pipeline Server (queuing)"] | ||
| Models["Models"] | ||
| end | ||
|
|
||
| subgraph data [Example Database Contents] | ||
| ExampleDB@{ shape: "odd" } | ||
| ExampleDB -->|Read| Manager | ||
| Manager -->|Populate| Postgres | ||
| end | ||
| ``` |
There was a problem hiding this comment.
There is a significant difference between Docker and Kuberenetes deployments:
- for Docker the core SceneScape services and Camera Pipelines (including models) are configured separately and can be deployed independently.
- for Kubernetes it is one of core SceneScape services (manager) that manages the configuration (UI) of Camera Pipelines and deploys them (kubeclient).
This means we will need to plan the implementation of core deployment package, so that it does impact UX negatively for Kubernetes.
For example one consequence of extracting core deployment is that models will no longer be managed via manager UI in Kubernetes (which I like as a general direction - there are other services like model_downloader that we can reuse for this purpose and integrate them with Geti).
Ideally, we add such an external model managing service integration when introducing core deployment package. Alternatively, we let users manage models on their own using pure Kubernetes volume w/o any UI, we just provide some CLI tools to install them into the volume.
There was a problem hiding this comment.
For the first part: compose and helm deployments will still be separate things, so there's no problem in adding kubeclient to the latter.
For second part, I'd need a better understanding of how models are managed to comment.
📝 Description
Adding design doc about extracting SceneScape Core deployment packages for easier installation for general use cases.
✨ Type of Change
Select the type of change your PR introduces:
🧪 Testing Scenarios
Describe how the changes were tested and how reviewers can test them too:
✅ Checklist
Before submitting the PR, ensure the following: