summaryrefslogtreecommitdiff
path: root/src/marlin.agents.shell/IArtifactStore.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/marlin.agents.shell/IArtifactStore.cs')
-rw-r--r--src/marlin.agents.shell/IArtifactStore.cs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/marlin.agents.shell/IArtifactStore.cs b/src/marlin.agents.shell/IArtifactStore.cs
new file mode 100644
index 0000000..2d6338c
--- /dev/null
+++ b/src/marlin.agents.shell/IArtifactStore.cs
@@ -0,0 +1,15 @@
+namespace marlin.agents.shell;
+
+public interface IArtifactStore
+{
+ /// Extracts given artifacts into shared flat blob storage
+ Task Stow(Guid jobId, string stepId, string artifactId, string basePath, string glob);
+
+ /// Constructs virtual directory structure to access a given artifact
+ Task<IArtifactAccessHandle> Access(Guid jobId, string stepId, string artifactId);
+}
+
+public interface IArtifactAccessHandle : IDisposable
+{
+ public string Path { get; }
+} \ No newline at end of file