func Status(serviceRuntime *runtime.ServiceRuntime, configStore *config.Store, env, pool, hostIP string) error { containers, err := serviceRuntime.ManagedContainers() if err != nil { panic(err) } //FIXME: addresses, port, and expires missing in output columns := []string{ "APP | CONTAINER ID | IMAGE | EXTERNAL | INTERNAL | PORT | CREATED | EXPIRES"} for _, container := range containers { name := serviceRuntime.EnvFor(container)["GALAXY_APP"] registered, err := configStore.GetServiceRegistration( env, pool, hostIP, container) if err != nil { return err } if registered != nil { columns = append(columns, strings.Join([]string{ registered.Name, registered.ContainerID[0:12], registered.Image, registered.ExternalAddr(), registered.InternalAddr(), registered.Port, utils.HumanDuration(time.Now().UTC().Sub(registered.StartedAt)) + " ago", "In " + utils.HumanDuration(registered.Expires.Sub(time.Now().UTC())), }, " | ")) } else { columns = append(columns, strings.Join([]string{ name, container.ID[0:12], container.Image, "", "", "", utils.HumanDuration(time.Now().Sub(container.Created)) + " ago", "", }, " | ")) } } result, _ := columnize.SimpleFormat(columns) log.Println(result) return nil }