// renderInStore renders a ACI specified by `filename` in the given tree store, // and returns the hash (image ID) of the rendered ACI. func renderInStore(s *store.Store, filename string) (string, error) { // Put the ACI into the store f, err := os.Open(filename) if err != nil { return "", fmt.Errorf("Could not open ACI image: %s", err) } key, err := s.WriteACI(f, false) if err != nil { return "", fmt.Errorf("Could not open ACI: %s", key) } // Render the ACI if err := s.RenderTreeStore(key, false); err != nil { return "", fmt.Errorf("Could not render tree store: %s", err) } return key, err }