//AddServiceTemplate adds a service template to the system. Returns the id of the template added func (f *Facade) AddServiceTemplate(ctx datastore.Context, serviceTemplate servicetemplate.ServiceTemplate) (string, error) { hash, err := serviceTemplate.Hash() if err != nil { return "", err } serviceTemplate.ID = hash if st, _ := f.templateStore.Get(ctx, hash); st != nil { // This id already exists in the system glog.Infof("Not replacing existing template %s", hash) return hash, nil } if err = f.templateStore.Put(ctx, serviceTemplate); err != nil { return "", err } // this takes a while so don't block the main thread go LogstashContainerReloader(ctx, f) return hash, err }