func readRancherCompose(relativePath string, newTemplate *model.Template) { composeBytes := readFile(catalogRoot+relativePath, "rancher-compose.yml") newTemplate.RancherCompose = string(*composeBytes) //read the questions section RC := make(map[string]model.RancherCompose) err := yaml.Unmarshal(*composeBytes, &RC) if err != nil { log.Errorf("Error unmarshalling %s under template: %s, error: %v", "rancher-compose.yml", relativePath, err) } else { newTemplate.Questions = RC[".catalog"].Questions newTemplate.Name = RC[".catalog"].Name newTemplate.UUID = RC[".catalog"].UUID newTemplate.Description = RC[".catalog"].Description newTemplate.Version = RC[".catalog"].Version if newTemplate.UUID != "" { //store uuid -> path map UUIDToPath[newTemplate.UUID] = relativePath log.Debugf("UUIDToPath map: %v", UUIDToPath) } } }
func readTemplateConfig(relativePath string, template *model.Template) { filename, err := filepath.Abs(relativePath + "/config.yml") if err != nil { log.Errorf("Error forming path to config file at path: %s, error: %v", relativePath, err) } yamlFile, err := ioutil.ReadFile(filename) if err != nil { log.Errorf("Error reading config file under template: %s, error: %v", relativePath, err) } else { config := make(map[string]string) //Read the config.yml file err = yaml.Unmarshal(yamlFile, &config) if err != nil { log.Errorf("Error unmarshalling config.yml under template: %s, error: %v", relativePath, err) } else { template.Name = config["name"] template.Category = config["category"] template.Description = config["description"] template.Version = config["version"] if config["uuid"] != "" { template.UUID = config["uuid"] } } } }