{"id":"f58167f088516128","repo":"docker/cli","slug":"source-is-required-f58167","errorCode":null,"errorMessage":"source is required","messagePattern":"source is required","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"opts/swarmopts/secret.go","lineNumber":71,"sourceCode":"\t\t\toptions.File.Name = val\n\t\tcase \"uid\":\n\t\t\toptions.File.UID = val\n\t\tcase \"gid\":\n\t\t\toptions.File.GID = val\n\t\tcase \"mode\":\n\t\t\tm, err := strconv.ParseUint(val, 0, 32)\n\t\t\tif err != nil {\n\t\t\t\treturn fmt.Errorf(\"invalid mode specified: %v\", err)\n\t\t\t}\n\n\t\t\toptions.File.Mode = os.FileMode(m)\n\t\tdefault:\n\t\t\treturn errors.New(\"invalid field in secret request: \" + key)\n\t\t}\n\t}\n\n\tif options.SecretName == \"\" {\n\t\treturn errors.New(\"source is required\")\n\t}\n\tif options.File.Name == \"\" {\n\t\toptions.File.Name = options.SecretName\n\t}\n\n\to.values = append(o.values, options)\n\treturn nil\n}\n\n// Type returns the type of this option\nfunc (*SecretOpt) Type() string {\n\treturn \"secret\"\n}\n\n// String returns a string repr of this option\nfunc (o *SecretOpt) String() string {\n\tsecrets := make([]string, 0, len(o.values))\n\tfor _, secret := range o.values {","sourceCodeStart":53,"sourceCodeEnd":89,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/opts/swarmopts/secret.go#L53-L89","documentation":"Error \"source is required\" thrown in docker/cli.","triggerScenarios":"Thrown at opts/swarmopts/secret.go:71 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"e9452d6e785f6e365712b9d71bd7517591773c86","analyzedAt":"2026-08-01T07:09:22.474Z","schemaVersion":2}