The name to use for the instance
Optional
callback_context?: stringUsed in conjunction with the callback_url
any value provided here will be passed back in the message payload that's delivered to the callback URL. It can be used by the recipient to provide a context that's meaningful
Optional
callback_token?: stringAn optional 22-character sortuuid callback token that is supplied by the remote service. If not provided the user can use generate_callback_token
to have one generated and returned in the response.
See the Python module's shortuuid.get_alphabet()
for the full list of permitted characters
Optional
callback_url?: stringA URL the DM will use to PUT job progress messages as the requested instance runs. Used, at the moment, for Job execution
Optional
debug?: stringA debug value that may be used by the instance.
For Data Manager Job applications setting this to anything other zero ('0') prevents the Job's Pod from being deleted automatically, allowing a developer to inspect the Pod's log for example.
The behaviour of Application instances using this property is undefined. It will depend on whether the application CRD handles the Data Manager debug field.
Optional
generate_callback_token?: booleanIf set a callback token will be provided in the response. The token allows files to be downloaded from the instance project and expires after a pre-configured amount of time after the instance is complete or if the user revokes the token.
Caution should be taken using this feature. A 3rd party can access the Project's files without authentication, they just need the token and the project identity.
Tokens should therefore be revoked when they're no longer required
The project to attach
Optional
specification?: stringThe instance specification. A JSON string that's application-specific and controls the application's behaviour.
When launching a Data Manager Job Application you must identify the Job using the properties collection
, job
and version
, e.g. {"collection":"im-test","job":"coin-test","version":"1.0.0"}
Jobs that offer commands will often advertise a series of inputs and options where the values can be provided using a variables map in the specification. Something like "variables":{"x":7}
.
Jobs start in a Job-specific working directory but the starting directory for any Job can be adjusted by defining a sub_path
to the root specification. For example, if you want the Job to start in the path foo/bar
(inside the Job's built-in working directory) you can add "sub_path":"foo/bar"
to the specification. You can only use a sub-path for a Job if the Job defines a working directory and sub-path
cannot begin or end with a path separator (/
).
Applications also support variables
. The Jupyter notebook application supports the definition of the notebook "image"
, "cpu"
and "memory"
. A full Jupyter notebook specification might be {"variables":{"image":"Tensorflow 2.9","cpu":2,"memory":"4Gi"}}
, where memory
is limited to Gi
as a suffix.
A supported application. Applications instances are managed using pre-deployed Kubernetes Operators. The application ID is a combination of the operator plural and group.
Application IDs currently supported include
datamanagerjobs.squonk.it
andjupyternotebooks.squonk.it