Skip to content

Conversation

@Irakus
Copy link
Contributor

@Irakus Irakus commented Dec 8, 2025

📝 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:

  • 🐞 Bug fix – Non-breaking change which fixes an issue
  • 🚀 New feature – Non-breaking change which adds functionality
  • 🔨 Refactor – Non-breaking change which refactors the code base
  • 💥 Breaking change – Changes that break existing functionality
  • 📚 Documentation update
  • 🔒 Security update
  • 🧪 Tests
  • 🚂 CI

🧪 Testing Scenarios

Describe how the changes were tested and how reviewers can test them too:

  • ✅ Tested manually
  • 🤖 Ran automated end-to-end tests

✅ Checklist

Before submitting the PR, ensure the following:

  • 🔍 PR title is clear and descriptive
  • 📝 For internal contributors: If applicable, include the JIRA ticket number (e.g., ITEP-123456) in the PR title. Do not include full URLs
  • 💬 I have commented my code, especially in hard-to-understand areas
  • 📄 I have made corresponding changes to the documentation
  • ✅ I have added tests that prove my fix is effective or my feature works

Comment on lines +66 to +91
```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
```
Copy link
Contributor

@tdorauintc tdorauintc Dec 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@Irakus Irakus changed the title [Design] SceneScape Core Deployment Package ITEP-83024 [Design] SceneScape Core Deployment Package Dec 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants