Skip to content

Argo Workflows Artifact Quick Fix - Artifact Passing Errors

DodaTech Updated 2026-06-26 1 min read

Argo Workflows artifacts enable passing files between steps and persisting output. Misconfigured artifact repositories or missing artifact declarations cause data loss. This guide covers the fix.

Quick Fix

Wrong

- name: generate
  template: gen-data
  outputs:
    artifacts:
    - name: data
      path: /tmp/output.json

The issue: no artifact Repository configured in the workflow or controller config. Argo does not know where to store the artifact. The artifact is silently lost.

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  name: artifact-demo
spec:
  artifactRepositoryRef:
    configmap: artifact-repositories
    key: default
  templates:
  - name: gen-data
    outputs:
      artifacts:
      - name: data
        path: /tmp/output.json
        s3:
          key: "{{workflow.name}}/data.json"
# Expected output after applying the fix
# Artifact data saved to S3 bucket
# Path: my-bucket/artifact-demo-xxxx/data.json
# Downstream steps can consume the artifact
# Workflow completes with artifacts preserved

Prevention

  • Configure artifact Repository in artifact-repositories ConfigMap
  • Reference artifact Repository in each workflow with artifactRepositoryRef
  • Always specify storage backend (s3, gcs, git, http) for artifacts
  • Use {{workflow.name}} in artifact keys for unique naming
  • Set optional: true for artifacts that may not exist

DodaTech Tools

Doda Browser's artifact explorer lets you browse and download workflow artifacts. DodaZIP archives artifact metadata for Compliance. Durga Antivirus Pro scans artifacts for malware before delivery.

FAQ

What artifact storage backends does Argo support?

Argo supports S3, GCS, Azure Blob, HTTP, Git, and raw (in-memory) artifact storage. S3 and GCS are most common for production workloads. ||| Can I pass artifacts between steps without external storage? Yes, use raw artifacts for small data or configure archive.<a href="/design-patterns/strategy/">Strategy</a>: none for local-only artifacts. For production, use reliable external storage. ||| How do I make an artifact optional? Set optional: true in the artifact definition. The step runs even if the artifact is missing, but the artifact parameter will be empty.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro