httk.workflow.adapter_protocol¶
The public name of the remote-adapter protocol implementation.
A remote adapter is a versioned directory with one executable adapter
program. Every operation – configure, install, invoke, push,
pull, start-manager and status – runs that one program, which reads
one JSON request file, learns which operation to perform from the request’s
operation member, and prints one JSON result. The maintained local,
local-slurm and ssh-slurm templates implement that protocol by executing
this module, which selects its behaviour from the kind recorded in the
bundle’s remote.json and refuses any other kind rather than running it in
the wrong place.
This module is the documented surface of that contract. The implementation
lives in httk.workflow.adapter_runtime, which is what the packaged
adapter dispatcher executes; both names refer to the same objects. See
the workflow CLI guide in the httk-workflow documentation for the operations and
the settings each one uses.
Every subprocess started by the implementation is an argument vector, so no
shell ever parses a value that came from a request or from settings. ssh is
the one unavoidable exception, because it always joins its command words for a
login shell on the far side; every remote command string is therefore built by a
single element-wise quoting helper.
Attributes¶
Functions¶
|
Module Contents¶
- httk.workflow.adapter_protocol.BATCH_DIRECTIVES = (('account', '--account'), ('partition', '--partition'), ('time_limit', '--time'), ('nodes',...¶
- httk.workflow.adapter_protocol.BATCH_DIRECTORY = '.httk-workflow/batch'¶
- httk.workflow.adapter_protocol.SUPPORTED_KINDS = ('local', 'local-slurm', 'ssh-slurm')¶