adk_artifact_fs (erlang_adk v0.7.0)
View SourceDurable filesystem artifact service with atomic publication.
Logical scope and artifact names are never used as path components. A durable reservation allocates each version. Data and metadata are written and synced under private staging names; an atomic metadata rename is the publication point, so readers never observe partially written metadata.
Summary
Functions
-spec delete(pid(), adk_artifact_service:scope(), binary(), adk_artifact_service:delete_selector()) -> ok | {error, term()}.
-spec delete(pid(), adk_artifact_service:scope(), binary(), adk_artifact_service:delete_selector(), adk_artifact_service:call_options()) -> ok | {error, term()}.
-spec get(pid(), adk_artifact_service:scope(), binary(), adk_artifact_service:selector()) -> {ok, adk_artifact_service:artifact()} | {error, term()}.
-spec get(pid(), adk_artifact_service:scope(), binary(), adk_artifact_service:selector(), adk_artifact_service:call_options()) -> {ok, adk_artifact_service:artifact()} | {error, term()}.
-spec list(pid(), adk_artifact_service:scope()) -> {ok, [adk_artifact_service:artifact_meta()]} | {error, term()}.
-spec list_names(pid(), adk_artifact_service:scope(), map()) -> {ok, adk_artifact_service:name_page()} | {error, term()}.
-spec list_versions(pid(), adk_artifact_service:scope(), binary(), map()) -> {ok, adk_artifact_service:version_page()} | {error, term()}.
-spec put(pid(), adk_artifact_service:scope(), binary(), binary(), map()) -> {ok, adk_artifact_service:artifact_meta()} | {error, term()}.
-spec put(pid(), adk_artifact_service:scope(), binary(), binary(), map(), adk_artifact_service:call_options()) -> {ok, adk_artifact_service:artifact_meta()} | {error, term()}.