func CmdList(is ISites, iservices services.IServices) error { serviceProxy, err := iservices.RetrieveByLabel("service_proxy") if err != nil { return err } sites, err := is.List(serviceProxy.ID) if err != nil { return err } if sites == nil || len(*sites) == 0 { logrus.Println("No sites found") return nil } svcs, err := iservices.List() svcMap := map[string]string{} for _, s := range *svcs { svcMap[s.ID] = s.Label } data := [][]string{{"NAME", "CERT", "UPSTREAM SERVICE"}} for _, s := range *sites { data = append(data, []string{s.Name, s.Cert, svcMap[s.UpstreamService]}) } table := tablewriter.NewWriter(logrus.StandardLogger().Out) table.SetBorder(false) table.SetRowLine(false) table.SetCenterSeparator("") table.SetColumnSeparator("") table.SetRowSeparator("") table.AppendBulk(data) table.Render() return nil }