MCPcopy Create free account
hub / github.com/SignTools/SignTools / Load

Function Load

src/config/config.go:116–144  ·  view source on GitHub ↗
(fileName string)

Source from the content-addressed store, hash-verified

114var Current Config
115
116func Load(fileName string) {
117 allowedExts := []string{".yml", ".yaml"}
118 if !isAllowedExt(allowedExts, fileName) {
119 log.Fatal().Msgf("config extension not allowed: %v\n", allowedExts)
120 }
121 mapDelim := '.'
122 fileConfig, err := getFile(mapDelim, fileName)
123 if err != nil {
124 log.Fatal().Err(err).Msg("get config")
125 }
126 builderMap := fileConfig.Builder.MakeEnabled()
127 if len(builderMap) < 1 {
128 log.Fatal().Msg("init: no builders defined")
129 }
130 builderKey := make([]byte, 32)
131 if _, err := rand.Read(builderKey); err != nil {
132 log.Fatal().Err(err).Msg("init: error generating builder key")
133 }
134 profile, err := getProfileFromEnv(mapDelim)
135 if err != nil {
136 log.Fatal().Err(err).Msg("init: error checking for signing profile from envvars")
137 }
138 Current = Config{
139 Builder: builderMap,
140 BuilderKey: hex.EncodeToString(builderKey),
141 File: fileConfig,
142 EnvProfile: profile,
143 }
144}
145
146// Loads a single signing profile entirely from environment variables.
147// Intended for use with Heroku without persistent storage.

Callers 1

mainFunction · 0.92

Calls 4

isAllowedExtFunction · 0.85
getFileFunction · 0.85
getProfileFromEnvFunction · 0.85
MakeEnabledMethod · 0.80

Tested by

no test coverage detected