KyrtTech initiative

Service Package Manager

SPM is an ontology-driven platform for discovering services and executing installation strategies across infrastructure providers. Instead of ad-hoc scripts, the ecosystem models services, dependencies, and install strategies in a shared knowledge domain, then resolves and runs install plans from that model.

RDF / Turtle ontology Neo4j registry API Rust runner runtime React UI

Scope

SPM targets the full lifecycle around service deployment: a common vocabulary for infrastructure requirements, inputs, outputs, file formats, and dependencies; compatibility checks across systems and providers; and tooling for discovery, integration, and deployment.

  • Define taxonomies and ontologies for services, platforms, cloud providers, runners, and install strategies.
  • Expose graph-backed search and install-plan resolution through a registry API.
  • Execute install and remove workflows through a CLI runtime and an orchestrator-backed web UI.
  • Publish human-readable ontology documentation as static HTML.

Workspace shape

The local workspace is a multi-project monorepo-style checkout, not a single deployable service. Components are developed and run as separate processes during local work.

  • Knowledge and strategy assets feed the registry and documentation generator.
  • The registry stores and resolves graph relationships in Neo4j.
  • The UI talks to the runner manager, which starts and supervises runner processes.
  • Install strategy assets are resolved and executed by the runner at install time.

Architecture

SPM splits cleanly between how the platform is organised as a service catalog and how users discover and run installs through the web UI or the CLI runner.

1. Service organisation

The registry is a graph-backed catalog. Taxonomy and ontology in Turtle describe services, infrastructure, and install strategies; strategy metadata in the graph points at executable assets; the registry API reads that graph from Neo4j.

  1. Services, platforms, infrastructure, and install strategies are modeled in the knowledge domain as RDF/Turtle taxonomy and ontology.
  2. Each install strategy is defined in that model and linked to scripts, support files, and download locations in the strategy asset store.
  3. Ontology and strategy relationships are loaded into Neo4j as the registry graph.
  4. The registry API exposes the graph for service search, strategy lookup, and install-plan resolution.

2. Web Flow

In the browser path, discovery goes through the registry API and execution is delegated to a runner process started by the orchestrator.

  1. The user opens the web UI to browse applications and available install strategies.
  2. The UI calls the registry API to search services, inspect strategies, and resolve install plans for the chosen target.
  3. When an install starts, the UI asks the runner orchestrator to launch a runner session.
  4. The runner queries the registry again for the resolved plan, then fetches and executes the linked strategy assets.

3. CLI Flow

The CLI path talks to the registry API directly and runs install workflows without the web UI or runner orchestrator.

  1. The user invokes the runner CLI from a terminal for search, install, or remove workflows.
  2. The runner calls the registry API to find applications, install strategies, and resolved install plans.
  3. The runner fetches the linked strategy assets and executes the install or uninstall scripts locally.

Repositories

Component Role Repository
Knowledge Domain Shared vocabulary, taxonomy, and ontology definitions. github.com/KyrtTech/spm.knowledge_domain
Registry Service and strategy discovery plus install-plan resolution API. github.com/KyrtTech/spm.registry
Runner Rust runtime for search, install, and remove workflows. github.com/KyrtTech/spm.runner
Runner Manager Middleware API that starts and supervises runner processes. github.com/KyrtTech/spm.runner_manager
Runner UI React frontend for browsing services and launching installs. github.com/KyrtTech/spm.runner_ui
Install Strategies Example and test-bed storage for install strategy assets. github.com/KyrtTech/spm.install_strategies
turtle2hml Turtle-to-HTML generator for ontology documentation. github.com/KyrtTech/smp.ttl2html

Published frontends

Surface URL Notes
Knowledge domain documentation https://the-spm.org/ Static HTML generated from published Turtle ontology sources.
Runner UI Repository Web UI is developed with Vite and is intended to run against local registry and runner-manager endpoints during development.