Skip to content

feat(engine): clone and restart engines, reload project python across the cluster - #3214

Merged
themaherkhalil merged 2 commits into
devfrom
feat/engine-clone-restart
Oct 26, 2026
Merged

themaherkhalil merged 2 commits into
devfrom
feat/engine-clone-restart

Conversation

@themaherkhalil

Copy link
Copy Markdown
Collaborator
  • Add CloneEngine: an owner clones an engine of any type into a private engine they own, with a copy of its files (H2 and SQLite database files, vector files, guardrail python, a virtual environment with its paths rewritten), smss, secrets, metadata and image. It applies the publisher and add rules for the type. A failed clone is cleaned up locally, in cloud storage and in the security database. Audited as ENGINE_CREATE.
  • CloseEngine closes the engine on every node through a closeEngine sync event (ZooKeeper or Redis), under the engine lock.
  • Add ReloadProject: clears the app modules python has cached (smss_clear_app_imports) in the project's and the user's python process, on every node through a reloadProject sync event.
  • Project.close shuts down the project's python process.
  • PULL_ENGINE and PULL_PROJECT reopen an engine or project that is open on the node; pushProjectSmss publishes PULL_PROJECT.
  • Owners can clone their projects that are not templates (userCanCloneProject).

… the cluster

- Add CloneEngine: an owner clones an engine of any type into a private
  engine they own, with a copy of its files (H2 and SQLite database files,
  vector files, guardrail python, a virtual environment with its paths
  rewritten), smss, secrets, metadata and image. It applies the publisher
  and add rules for the type. A failed clone is cleaned up locally, in cloud
  storage and in the security database. Audited as ENGINE_CREATE.
- CloseEngine closes the engine on every node through a closeEngine sync
  event (ZooKeeper or Redis), under the engine lock.
- Add ReloadProject: clears the app modules python has cached
  (smss_clear_app_imports) in the project's and the user's python process,
  on every node through a reloadProject sync event.
- Project.close shuts down the project's python process.
- PULL_ENGINE and PULL_PROJECT reopen an engine or project that is open on
  the node; pushProjectSmss publishes PULL_PROJECT.
- Owners can clone their projects that are not templates
  (userCanCloneProject).
@themaherkhalil
themaherkhalil requested a review from a team as a code owner October 26, 2026 21:04
@snyk-io

snyk-io Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@themaherkhalil
themaherkhalil merged commit aff5f37 into dev Oct 26, 2026
5 checks passed
@themaherkhalil
themaherkhalil deleted the feat/engine-clone-restart branch October 26, 2026 21:08
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.

1 participant