Skip to content

Commit

Permalink
Allow to pass multple paths to 'updatekeys'
Browse files Browse the repository at this point in the history
Signed-off-by: Simon Jürgensmeyer <[email protected]>
  • Loading branch information
sj14 committed Nov 12, 2023
1 parent c6ce6df commit 978514f
Showing 1 changed file with 30 additions and 13 deletions.
43 changes: 30 additions & 13 deletions cmd/sops/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ func main() {
},
{
Name: "updatekeys",
Usage: "update the keys of a SOPS file using the config file",
Usage: "update the keys of SOPS files using the config file",
ArgsUsage: `file`,
Flags: append([]cli.Flag{
cli.BoolFlag{
Expand All @@ -528,18 +528,35 @@ func main() {
if c.NArg() < 1 {
return common.NewExitError("Error: no file specified", codes.NoFileSpecified)
}
err = updatekeys.UpdateKeys(updatekeys.Opts{
InputPath: c.Args()[0],
GroupQuorum: c.Int("shamir-secret-sharing-quorum"),
KeyServices: keyservices(c),
Interactive: !c.Bool("yes"),
ConfigPath: configPath,
InputType: c.String("input-type"),
})
if cliErr, ok := err.(*cli.ExitError); ok && cliErr != nil {
return cliErr
} else if err != nil {
return common.NewExitError(err, codes.ErrorGeneric)
failedCounter := 0
for _, path := range c.Args() {
err := updatekeys.UpdateKeys(updatekeys.Opts{
InputPath: path,
GroupQuorum: c.Int("shamir-secret-sharing-quorum"),
KeyServices: keyservices(c),
Interactive: !c.Bool("yes"),
ConfigPath: configPath,
InputType: c.String("input-type"),
})

if c.NArg() == 1 {
// a single argument was given, keep compatibility of the error
if cliErr, ok := err.(*cli.ExitError); ok && cliErr != nil {
return cliErr
} else if err != nil {
return common.NewExitError(err, codes.ErrorGeneric)
}
}

// multiple arguments given (patched functionality),
// finish updating of remaining files and fail afterwards
if err != nil {
failedCounter++
log.Error(err)
}
}
if failedCounter > 0 {
return common.NewExitError(fmt.Errorf("failed updating %d key(s)", failedCounter), codes.ErrorGeneric)
}
return nil
},
Expand Down

0 comments on commit 978514f

Please sign in to comment.