Monorepo for Tangled
Something went wrong. Try again.
Go
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849package microvm
import ( "fmt" "slices")
type manifestWorkflow struct { Image string `yaml:"image"` Services map[string]any `yaml:"services"` Virtualisation map[string]any `yaml:"virtualisation"` Dependencies []string `yaml:"dependencies"` Registry map[string]any `yaml:"registry"` Environment map[string]string `yaml:"environment"` Caches map[string]string `yaml:"caches"` Steps []struct { Name string `yaml:"name"` Command string `yaml:"command"` Environment map[string]string `yaml:"environment"` } `yaml:"steps"`}
// flattens the caches map into sorted substituter URLs and trusted public keysfunc workflowCaches(caches map[string]string) (urls []string, keys []string, err error) { for cacheURL, key := range caches { urls = append(urls, cacheURL) if key != "" { keys = append(keys, key) } } if _, err := parseCacheUpstreams(urls); err != nil { return nil, nil, fmt.Errorf("caches: %w", err) } slices.Sort(urls) slices.Sort(keys) return urls, keys, nil}
type manifestConfig struct { Services map[string]any `yaml:"services" json:"services,omitempty"` Virtualisation map[string]any `yaml:"virtualisation" json:"virtualisation,omitempty"` Dependencies []string `yaml:"dependencies" json:"dependencies,omitempty"` Registry map[string]any `yaml:"registry" json:"registry,omitempty"`}
func (c manifestConfig) Enabled() bool { return len(c.Services) > 0 || len(c.Virtualisation) > 0 || len(c.Dependencies) > 0 || len(c.Registry) > 0}