Route upload client by pipeline
This commit is contained in:
@@ -12,9 +12,10 @@
|
||||
//
|
||||
// NewClient creates a Client from ClientOptions. Endpoint is required and must
|
||||
// be an http or https distributor server base URL without userinfo, query, or
|
||||
// fragment. The client derives /upload for submissions and /runs/<run-id> for
|
||||
// status checks. Token is required and is sent as Authorization: Bearer <token>.
|
||||
// Token values are redacted from errors produced by the client.
|
||||
// fragment. The client derives /v1/pipelines/<pipeline-id>/upload for
|
||||
// submissions and /runs/<run-id> for status checks. Token is required and is
|
||||
// sent as Authorization: Bearer <token>. Token values are redacted from errors
|
||||
// produced by the client.
|
||||
//
|
||||
// HTTPClient is optional. When omitted, the package uses a client with a
|
||||
// conservative timeout. Retry is optional; zero values select safe defaults.
|
||||
@@ -23,20 +24,28 @@
|
||||
//
|
||||
// # Upload Workflows
|
||||
//
|
||||
// UploadBundle uploads an existing local source bundle root. The root must
|
||||
// contain manifest.json. By default, UploadBundle loads the manifest and
|
||||
// validates the complete local bundle with pkg/bundle before making any HTTP
|
||||
// request. The generated gzip-compressed tar archive contains manifest.json and
|
||||
// exactly the manifest-listed files; unlisted files are not uploaded.
|
||||
// UploadBundle uploads an existing local source bundle root to the configured
|
||||
// PipelineID. PipelineID is required and must match the server's slug-like
|
||||
// pipeline id syntax. The root must contain manifest.json. By default,
|
||||
// UploadBundle loads the manifest and validates the complete local bundle with
|
||||
// pkg/bundle before making any HTTP request. The generated gzip-compressed tar
|
||||
// archive contains manifest.json and exactly the manifest-listed files;
|
||||
// unlisted files are not uploaded.
|
||||
//
|
||||
// UploadFiles is the convenience workflow for producer applications that have
|
||||
// generated files but have not yet assembled a bundle directory. It uses
|
||||
// generated files but have not yet assembled a bundle directory. PipelineID is
|
||||
// required and selects the configured distributor workflow. UploadFiles uses
|
||||
// pkg/bundle to create a temporary complete bundle from explicit
|
||||
// bundle.BundleFile values, validates it by default, archives it, uploads it,
|
||||
// and removes temporary files when the call returns. UploadFiles does not write
|
||||
// into producer source directories. A zero Created timestamp follows
|
||||
// pkg/bundle defaulting behavior.
|
||||
//
|
||||
// The producer contract has four separate identifiers: the bearer token
|
||||
// authenticates the client, PipelineID selects the distributor workflow, the
|
||||
// source manifest ID identifies the logical artifact within that workflow, and
|
||||
// IdempotencyKey identifies one producer run and retry group.
|
||||
//
|
||||
// Validation is enabled by default. Set DisableValidation when the application
|
||||
// has already performed equivalent local validation and wants to skip the
|
||||
// package's validation step. Validate and DisableValidation must not both be
|
||||
@@ -91,6 +100,7 @@
|
||||
// }
|
||||
//
|
||||
// result, err := client.UploadFiles(ctx, upload.UploadFilesOptions{
|
||||
// PipelineID: "reports.daily",
|
||||
// ID: "reports.daily.2026-06-06",
|
||||
// IdempotencyKey: "reports.daily.2026-06-06",
|
||||
// Files: []bundle.BundleFile{
|
||||
@@ -115,6 +125,7 @@
|
||||
// Example: upload an existing bundle root.
|
||||
//
|
||||
// result, err := client.UploadBundle(ctx, upload.UploadBundleOptions{
|
||||
// PipelineID: "reports.daily",
|
||||
// Root: "/var/lib/reports/daily-2026-06-06",
|
||||
// IdempotencyKey: "reports.daily.2026-06-06",
|
||||
// })
|
||||
|
||||
Reference in New Issue
Block a user