MCPcopy
hub / github.com/perkeep/perkeep / getOrMakeKeyring

Function getOrMakeKeyring

pkg/serverinit/genconfig.go:1208–1230  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1206}
1207
1208func getOrMakeKeyring() (keyID, secRing string, err error) {
1209 secRing = osutil.SecretRingFile()
1210 _, err = wkfs.Stat(secRing)
1211 switch {
1212 case err == nil:
1213 keyID, err = jsonsign.KeyIdFromRing(secRing)
1214 if err != nil {
1215 err = fmt.Errorf("Could not find any keyID in file %q: %v", secRing, err)
1216 return
1217 }
1218 log.Printf("Re-using identity with keyID %q found in file %s", keyID, secRing)
1219 case os.IsNotExist(err):
1220 keyID, err = jsonsign.GenerateNewSecRing(secRing)
1221 if err != nil {
1222 err = fmt.Errorf("Could not generate new secRing at file %q: %v", secRing, err)
1223 return
1224 }
1225 log.Printf("Generated new identity with keyID %q in file %s", keyID, secRing)
1226 default:
1227 err = fmt.Errorf("Could not stat secret ring %q: %v", secRing, err)
1228 }
1229 return
1230}

Callers 2

DefaultEnvConfigFunction · 0.85
WriteDefaultConfigFileFunction · 0.85

Calls 5

SecretRingFileFunction · 0.92
KeyIdFromRingFunction · 0.92
GenerateNewSecRingFunction · 0.92
PrintfMethod · 0.80
StatMethod · 0.65

Tested by

no test coverage detected