Next steps¶
You built an artifact type blob from scratch: Endpoints for HTTP and S3, a WorkflowTemplate that checks every
file before pushing it, an ArtifactType that ties both together, and Orders that run once or on a schedule.
When you are done, delete the cluster.
Learn from the examples¶
The examples directory has more artifact
types. Each one is offered to all namespaces with a ClusterArtifactType and a ClusterWorkflowTemplate, and comes
with an Order:
| Example | What its workflow does |
|---|---|
blob |
HTTP and S3 sources like this walk-through, with an optional MD5 check, a virus scan, a storage quota and a volume sized to fit the file |
oci |
Copies container images with skopeo, resolves tags from a semver range, scans with Trivy, attests the scan results and signs the image with cosign |
helm |
Pulls a Helm chart from an OCI registry or a Helm repository, scans it with Trivy and pushes it to an OCI registry |
ocm |
Transfers an OCM component and scans all of its images |
The ArtifactType named blob of this walk-through shadows the ClusterArtifactType of the blob example in the
walk-through namespace. Try the examples in another namespace.
Learn more about Argo Workflows¶
ARC leaves the work to Argo, so the more you know about Argo Workflows, the more you can do with ARC. Topics this walk-through did not cover:
- Artifacts pass files between steps without a shared volume.
- Retries make transfers survive flaky sources.
- Exit handlers run after a workflow, e.g. to send a notification when a transfer failed.
- DAGs describe steps by their dependencies instead of their order.
Run ARC in production¶
- Offer artifact types to every namespace with a
ClusterArtifactTypeand aClusterWorkflowTemplate, see Extending ArtifactTypes. - Keep the default minimal schedule interval of 10 minutes, or raise it.
- Decide how long to keep finished workflows with TTL-Based Cleanup.
- Watch transfers with the metrics and dashboard from Observability.
- When a transfer fails, start with Debugging and Force Reconciliation.