func (t *traefik) UpsertFrontend(fr loadbalancer.Frontend) error { f, ok := fr.(*frontend) if !ok { return fmt.Errorf("Not of expected type: %v", fr) } pre := path.Join(t.prefix, "frontends", fr.GetID()) if er := t.Set(path.Join(pre, "backend"), f.Backend); er != nil { return fmt.Errorf("Upsert %v failed: %v", fr, er) } if f.PassHostHeader { if er := t.Set(path.Join(pre, phh), "true"); er != nil { logger.Warnf("[%v] Upsert %s error: %v", fr.GetID(), phh, er) } } for id, rt := range f.Routes { logger.Debugf("[%v] Adding Route(%s=%q)", fr.GetID(), rt.Rule, rt.Value) ruleK := path.Join(pre, "routes", id, "rule") valk := path.Join(pre, "routes", id, "value") if er := t.Set(ruleK, rt.Rule); er != nil { logger.Warnf("[%v] Upsert rule error: %v", fr.GetID(), er) } if er := t.Set(valk, rt.Value); er != nil { logger.Warnf("[%v] Upsert value error: %v", fr.GetID(), er) } } return nil }
func (t *traefik) DeleteFrontend(fr loadbalancer.Frontend) error { logger.Debugf("[%v] Attempting to delete: %v", fr.GetID(), fr) key := path.Join(t.prefix, "frontends", fr.GetID()) return t.Delete(key) }
func (v *vulcan) DeleteFrontend(fr loadbalancer.Frontend) error { return v.Client.DeleteFrontend(engine.FrontendKey{Id: fr.GetID()}) }