in cmd/cloudshell_open/appfile.go [103:127]
func parseAppFile(r io.Reader) (*appFile, error) {
var v appFile
d := json.NewDecoder(r)
d.DisallowUnknownFields()
if err := d.Decode(&v); err != nil {
return nil, fmt.Errorf("failed to parse app.json: %+v", err)
}
// make "required" true by default
for k, env := range v.Env {
if env.Required == nil {
v := true
env.Required = &v
}
v.Env[k] = env
}
for k, env := range v.Env {
if env.Generator == "secret" && env.Value != "" {
return nil, fmt.Errorf("env var %q can't have both a value and use the secret generator", k)
}
}
return &v, nil
}