Metadata-Version: 2.4
Name: sonata-tasks
Version: 0.6.4
Summary: Reusable task catalogue for the Sonata workflow engine
Author-email: miciav <5889596+miciav@users.noreply.github.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Nanofaas/sonata
Project-URL: Repository, https://github.com/Nanofaas/sonata
Project-URL: Issues, https://github.com/Nanofaas/sonata/issues
Keywords: workflow,tasks,catalogue,orchestration,devops
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: sonata-engine==0.6.4
Provides-Extra: shell
Requires-Dist: subprocess-toolkit==0.6.0; extra == "shell"
Provides-Extra: prometheus
Requires-Dist: httpx>=0.27; extra == "prometheus"
Provides-Extra: multipass
Requires-Dist: multipass-vm-sdk==0.6.0; extra == "multipass"
Requires-Dist: pydantic>=2.9.2; extra == "multipass"
Requires-Dist: subprocess-toolkit==0.6.0; extra == "multipass"
Provides-Extra: azure
Requires-Dist: azure-vm-sdk==0.6.0; extra == "azure"
Requires-Dist: pydantic>=2.9.2; extra == "azure"
Requires-Dist: subprocess-toolkit==0.6.0; extra == "azure"
Provides-Extra: proxmox
Requires-Dist: proxmox-vm-sdk==0.6.0; extra == "proxmox"
Requires-Dist: pydantic>=2.9.2; extra == "proxmox"
Requires-Dist: subprocess-toolkit==0.6.0; extra == "proxmox"
Dynamic: license-file

# sonata-tasks

Reusable, product-independent tasks for `sonata-engine`. The base installation
contains command execution contracts and common command-line tool tasks.
Provider and transport integrations are installed through optional extras.

The base catalogue includes Kubernetes namespace ownership, port forwarding,
Pod and OCI image inspection, and Minikube profile preflight in
`sonata_tasks.kubectl`, `sonata_tasks.imagetools`, and `sonata_tasks.minikube`.
`sonata_tasks.vm.logged` provides bounded VM command output with a complete
log copied to the host. Callers supply their own executor, VM provider, and
product-specific image checks.

`sonata_tasks.containerd` inspects a caller-owned container and its image using
caller-supplied commands, then checks the runtime image reference and published
manifest digest. The caller controls namespace, rootless session, and evidence
storage; the task has no NanoLab or recipe dependency.
