{"record":{"id":"05d90373ffb0e630","repo":"argoproj/argo-workflows","slug":"key-unsupported-raw-artifat-does-not-have-key","errorCode":null,"errorMessage":"key unsupported: raw artifat does not have key","messagePattern":"key unsupported: raw artifat does not have key","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/apis/workflow/v1alpha1/workflow_types.go","lineNumber":3147,"sourceCode":"\tKrbRealm string `json:\"krbRealm,omitempty\" protobuf:\"bytes,4,opt,name=krbRealm\"`\n\n\t// KrbConfig is the configmap selector for Kerberos config as string\n\t// It must be set if either ccache or keytab is used.\n\tKrbConfigConfigMap *apiv1.ConfigMapKeySelector `json:\"krbConfigConfigMap,omitempty\" protobuf:\"bytes,5,opt,name=krbConfigConfigMap\"`\n\n\t// KrbServicePrincipalName is the principal name of Kerberos service\n\t// It must be set if either ccache or keytab is used.\n\tKrbServicePrincipalName string `json:\"krbServicePrincipalName,omitempty\" protobuf:\"bytes,6,opt,name=krbServicePrincipalName\"`\n}\n\n// RawArtifact allows raw string content to be placed as an artifact in a container\ntype RawArtifact struct {\n\t// Data is the string contents of the artifact\n\tData string `json:\"data\" protobuf:\"bytes,1,opt,name=data\"`\n}\n\nfunc (r *RawArtifact) GetKey() (string, error) {\n\treturn \"\", fmt.Errorf(\"key unsupported: raw artifat does not have key\")\n}\n\nfunc (r *RawArtifact) SetKey(string) error {\n\treturn fmt.Errorf(\"key unsupported: cannot set key for raw artifact\")\n}\n\nfunc (r *RawArtifact) HasLocation() bool {\n\treturn r != nil\n}\n\n// Header indicate a key-value request header to be used when fetching artifacts over HTTP\ntype Header struct {\n\t// Name is the header name\n\tName string `json:\"name\" protobuf:\"bytes,1,opt,name=name\"`\n\n\t// Value is the literal value to use for the header\n\tValue string `json:\"value\" protobuf:\"bytes,2,opt,name=value\"`\n}","sourceCodeStart":3129,"sourceCodeEnd":3165,"githubUrl":"https://github.com/argoproj/argo-workflows/blob/35bff19146f5a6ada77468c431f2624bd577e373/pkg/apis/workflow/v1alpha1/workflow_types.go#L3129-L3165","documentation":"RawArtifact.GetKey is unconditionally unsupported: raw artifacts are inline string data with no storage key. Any key-based artifact lookup that reaches a raw artifact fails here. (Note the source's typo 'artifat'.)","triggerScenarios":"Thrown at pkg/apis/workflow/v1alpha1/workflow_types.go:3147 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Do not use key-based access with raw artifacts; the data is inline","Use s3/gcs/azure/oss artifacts when a key is needed"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35bff19146f5a6ada77468c431f2624bd577e373","analyzedAt":"2026-09-03T19:34:35.908Z","contentChangedAt":"2026-09-03T19:34:35.908Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}