<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Transfer Configuration on Open Component Model</title><link>https://ocm.software/docs/reference/transfer-configuration/</link><description>Recent content in Transfer Configuration on Open Component Model</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://ocm.software/docs/reference/transfer-configuration/index.xml" rel="self" type="application/rss+xml"/><item><title>Transfer Settings</title><link>https://ocm.software/docs/reference/transfer-configuration/transfer-settings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ocm.software/docs/reference/transfer-configuration/transfer-settings/</guid><description>&lt;p&gt;The &lt;code&gt;transfer.config.ocm.software/v1alpha1&lt;/code&gt; type controls the global transfer&#10;behaviour. All fields are optional; when omitted they resolve to their defaults.&lt;/p&gt;&#10;&lt;h2 id="schema"&gt;Schema&lt;/h2&gt;&#10;&lt;div class="sr-root" data-schema-renderer data-schema-url="https://ocm.software/0.19/schemas/bindings/go/transfer/Config.schema.json"&gt;&lt;/div&gt;&lt;script src="https://ocm.software/js/schema/schema-renderer.js"&gt;&lt;/script&gt;&#10;&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Field&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Type&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Default&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;recursive&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;-1&lt;/code&gt; or &lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;0&lt;/code&gt; (no recursion)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;-1&lt;/code&gt; transfers the whole reference tree; &lt;code&gt;0&lt;/code&gt; transfers only the named version.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;</description></item><item><title>OCI Uploader</title><link>https://ocm.software/docs/reference/transfer-configuration/oci-uploader/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ocm.software/docs/reference/transfer-configuration/oci-uploader/</guid><description>&lt;p&gt;Uploads a selected resource as a separate OCI artifact in the target registry.&#10;The resource is stored independently from the component version, making it&#10;directly addressable and pullable with standard OCI tools.&lt;/p&gt;</description></item><item><title>Local Blob Uploader</title><link>https://ocm.software/docs/reference/transfer-configuration/local-blob-uploader/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ocm.software/docs/reference/transfer-configuration/local-blob-uploader/</guid><description>&lt;p&gt;Downloads a selected resource and embeds it in the target as a local blob. This&#10;is the same operation the baseline applies to local blobs, extended to any&#10;supported access type: OCI images are fetched via &lt;code&gt;GetOCIArtifact&lt;/code&gt;, Helm charts&#10;converted to OCI via &lt;code&gt;GetHelmChart&lt;/code&gt; → &lt;code&gt;ConvertHelmToOCI&lt;/code&gt;, and wget, S3 and&#10;GitHub resources are downloaded through their access-specific downloaders.&lt;/p&gt;</description></item><item><title>Reference Uploader</title><link>https://ocm.software/docs/reference/transfer-configuration/reference-uploader/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ocm.software/docs/reference/transfer-configuration/reference-uploader/</guid><description>&lt;p&gt;Keeps a selected resource by reference: no transformation is applied and the&#10;resource&amp;rsquo;s access is unchanged in the target. This is the same as what the&#10;baseline does for non-local-blob resources, but expressed as an explicit uploader&#10;entry so it can be placed before a catch-all to exclude specific resources from&#10;copying.&lt;/p&gt;</description></item><item><title>HTTP Uploader</title><link>https://ocm.software/docs/reference/transfer-configuration/http-uploader/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ocm.software/docs/reference/transfer-configuration/http-uploader/</guid><description>&lt;p&gt;Streams a matched resource&amp;rsquo;s content directly to an HTTP endpoint (typically a&#10;&lt;code&gt;PUT&lt;/code&gt; upload) and rewrites the resource to a &lt;code&gt;Wget/v1&lt;/code&gt; access pointing at the&#10;uploaded location. The &lt;strong&gt;source&lt;/strong&gt; may be any access type (wget, OCI, S3, GitHub,&#10;…) — its content is fetched through the access-type-specific downloader; only the&#10;&lt;strong&gt;target&lt;/strong&gt; is always an HTTP endpoint. The source content is piped straight into&#10;the request body, so it is never buffered in memory or on disk. The digest is&#10;computed during the stream, or — when the source resource already carries one —&#10;verified as the bytes pass through.&lt;/p&gt;</description></item><item><title>JFrog Artifactory Uploader</title><link>https://ocm.software/docs/reference/transfer-configuration/jfrog-artifactory-uploader/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ocm.software/docs/reference/transfer-configuration/jfrog-artifactory-uploader/</guid><description>&lt;p&gt;Uploads a matched resource into a local repository of a JFrog Artifactory server,&#10;the way the repository&amp;rsquo;s package type expects. For step-by-step guides per&#10;repository type, see&#10;&lt;a href="https://ocm.software/docs/how-to/vendor-specific-apis/jfrog-artifactory/"&gt;JFrog Artifactory&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Sonatype Nexus Uploader</title><link>https://ocm.software/docs/reference/transfer-configuration/sonatype-nexus-uploader/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ocm.software/docs/reference/transfer-configuration/sonatype-nexus-uploader/</guid><description>&lt;p&gt;Uploads a matched resource into a hosted repository of a Sonatype Nexus&#10;Repository 3 server, the way the repository&amp;rsquo;s format expects. For step-by-step&#10;guides per repository type, see&#10;&lt;a href="https://ocm.software/docs/how-to/vendor-specific-apis/sonatype-nexus/"&gt;Sonatype Nexus&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>CEL Expressions</title><link>https://ocm.software/docs/reference/transfer-configuration/cel-expressions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ocm.software/docs/reference/transfer-configuration/cel-expressions/</guid><description>&lt;p&gt;Uploader fields use two forms of &lt;a href="https://cel.dev/" target="_blank" rel="noopener"&gt;CEL&lt;/a&gt; expressions:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;code&gt;match&lt;/code&gt;&lt;/strong&gt; is a plain CEL boolean expression (no &lt;code&gt;${…}&lt;/code&gt; wrapper). It is&#10;evaluated once per resource while the transfer graph is built.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;code&gt;targetURL&lt;/code&gt;&lt;/strong&gt;, every &lt;strong&gt;&lt;code&gt;header&lt;/code&gt;&lt;/strong&gt; value, the &lt;strong&gt;&lt;code&gt;path&lt;/code&gt;&lt;/strong&gt; of the Artifactory&#10;and Nexus uploaders, and the &lt;strong&gt;&lt;code&gt;imageReference&lt;/code&gt;&lt;/strong&gt; of the OCI uploader are CEL&#10;templates: a CEL value &lt;strong&gt;must be wrapped in &lt;code&gt;${…}&lt;/code&gt;&lt;/strong&gt;. A value with no &lt;code&gt;${…}&lt;/code&gt;&#10;is a plain literal and is used verbatim.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;All expressions are evaluated against the source resource and resolved by the&#10;transfer runtime, so the produced plan is deterministic. CEL string concatenation&#10;(&lt;code&gt;+&lt;/code&gt;), conditionals (&lt;code&gt;cond ? a : b&lt;/code&gt;), and comparisons are all available.&lt;/p&gt;</description></item><item><title>Selection Examples</title><link>https://ocm.software/docs/reference/transfer-configuration/selection-examples/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ocm.software/docs/reference/transfer-configuration/selection-examples/</guid><description>&lt;p&gt;The following examples are executed as tests (&lt;code&gt;TestUploaderExamples&lt;/code&gt; in&#10;&lt;code&gt;bindings/go/transfer/internal&lt;/code&gt;), so each outcome below is what the transfer&#10;does. They all transfer the component &lt;code&gt;ocm.software/demo:1.0.0&lt;/code&gt; and, unless&#10;stated otherwise, target the OCI registry &lt;code&gt;ghcr.io/target-org/ocm&lt;/code&gt;&#10;(&lt;code&gt;baseUrl: ghcr.io/target-org/ocm&lt;/code&gt;, &lt;code&gt;subPath: &amp;quot;&amp;quot;&lt;/code&gt;). The component has these&#10;resources:&lt;/p&gt;</description></item></channel></rss>