MCPcopy
hub / github.com/getsops/sops / Add

Function Add

cmd/sops/subcommand/groups/add.go:24–54  ·  view source on GitHub ↗

Add adds a key group to a SOPS file

(opts AddOpts)

Source from the content-addressed store, hash-verified

22
23// Add adds a key group to a SOPS file
24func Add(opts AddOpts) error {
25 tree, err := common.LoadEncryptedFile(opts.InputStore, opts.InputPath)
26 if err != nil {
27 return err
28 }
29 dataKey, err := tree.Metadata.GetDataKeyWithKeyServices(opts.KeyServices, opts.DecryptionOrder)
30 if err != nil {
31 return err
32 }
33 tree.Metadata.KeyGroups = append(tree.Metadata.KeyGroups, opts.Group)
34
35 if opts.GroupThreshold != 0 {
36 tree.Metadata.ShamirThreshold = opts.GroupThreshold
37 }
38 tree.Metadata.UpdateMasterKeysWithKeyServices(dataKey, opts.KeyServices)
39 output, err := opts.OutputStore.EmitEncryptedFile(*tree)
40 if err != nil {
41 return err
42 }
43 var outputFile = os.Stdout
44 if opts.InPlace {
45 var err error
46 outputFile, err = os.Create(opts.InputPath)
47 if err != nil {
48 return err
49 }
50 defer outputFile.Close()
51 }
52 outputFile.Write(output)
53 return nil
54}

Callers 1

mainFunction · 0.92

Calls 4

LoadEncryptedFileFunction · 0.92
EmitEncryptedFileMethod · 0.65

Tested by

no test coverage detected