func AppList(configStore *config.Store, env string) error { envs := []string{env} if env == "" { var err error envs, err = configStore.ListEnvs() if err != nil { return err } } columns := []string{"NAME | ENV | VERSION | IMAGE ID | CONFIG | POOLS "} for _, env := range envs { appList, err := configStore.ListApps(env) if err != nil { return err } pools, err := configStore.ListPools(env) if err != nil { return err } for _, app := range appList { name := app.Name() versionDeployed := app.Version() versionID := app.VersionID() if len(versionID) > 12 { versionID = versionID[:12] } assignments := []string{} for _, pool := range pools { aa, err := configStore.ListAssignments(env, pool) if err != nil { return err } if utils.StringInSlice(app.Name(), aa) { assignments = append(assignments, pool) } } columns = append(columns, strings.Join([]string{ name, env, versionDeployed, versionID, strconv.FormatInt(app.ID(), 10), strings.Join(assignments, ","), }, " | ")) } } output := columnize.SimpleFormat(columns) fmt.Println(output) return nil }
func RuntimeList(configStore *config.Store, app, env, pool string) error { envs := []string{env} if env == "" { var err error envs, err = configStore.ListEnvs() if err != nil { return err } } columns := []string{"ENV | NAME | POOL | PS | MEM | VHOSTS | PORT | MAINT"} for _, env := range envs { appList, err := configStore.ListApps(env) if err != nil { return err } for _, appCfg := range appList { if app != "" && appCfg.Name() != app { continue } for _, p := range appCfg.RuntimePools() { if pool != "" && p != pool { continue } name := appCfg.Name() ps := appCfg.GetProcesses(p) mem := appCfg.GetMemory(p) columns = append(columns, strings.Join([]string{ env, name, p, strconv.FormatInt(int64(ps), 10), mem, appCfg.Env()["VIRTUAL_HOST"], appCfg.Env()["GALAXY_PORT"], fmt.Sprint(appCfg.GetMaintenanceMode(p)), }, " | ")) } } } output := columnize.SimpleFormat(columns) fmt.Println(output) return nil }