Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions cmd/apps.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,19 +44,19 @@ var appsListCmd = &cobra.Command{
}

output.Header("Applications")
t := output.NewTable("APP", "DOMAIN", "PHP", "REPOSITORY", "BRANCH", "SUSPENDED")
t := output.NewTable("APP", "DOMAIN", "PHP", "REPOSITORY", "BRANCH", "STATUS")
for _, app := range result.Data {
t.Row(
str(app, "app"),
str(app, "domain"),
str(app, "php"),
truncate(str(app, "repository"), 40),
str(app, "branch"),
str(app, "suspended"),
output.StatusSuspended(str(app, "suspended")),
)
}
t.Flush()
output.Dim.Printf(" Total: %d app(s)\n\n", len(result.Data))
output.Footer("Total: %d app(s)", len(result.Data))
return nil
},
}
Expand Down Expand Up @@ -88,20 +88,20 @@ var appsShowCmd = &cobra.Command{

app := result.Data
output.Header(fmt.Sprintf("App: %s", str(app, "app")))
output.KeyValue(nil, "App", str(app, "app"))
output.KeyValue(nil, "Domain", str(app, "domain"))
output.KeyValue(nil, "PHP", str(app, "php"))
output.KeyValue(nil, "Repository", str(app, "repository"))
output.KeyValue(nil, "Branch", str(app, "branch"))
output.KeyValue(nil, "User", str(app, "user"))
output.KeyValue(nil, "Custom", str(app, "custom"))
output.KeyValue(nil, "Docroot", str(app, "docroot"))
output.KeyValue(nil, "Suspended", str(app, "suspended"))
output.KeyValue(nil, "Created", str(app, "created_at"))
output.KeyValueDots(nil, "App", str(app, "app"))
output.KeyValueDots(nil, "Domain", str(app, "domain"))
output.KeyValueDots(nil, "PHP", str(app, "php"))
output.KeyValueDots(nil, "Repository", str(app, "repository"))
output.KeyValueDots(nil, "Branch", str(app, "branch"))
output.KeyValueDots(nil, "User", str(app, "user"))
output.KeyValueDots(nil, "Custom", output.StatusYesNo(str(app, "custom")))
output.KeyValueDots(nil, "Docroot", str(app, "docroot"))
output.KeyValueDots(nil, "Status", output.StatusSuspended(str(app, "suspended")))
output.KeyValueDots(nil, "Created", str(app, "created_at"))

if aliases, ok := app["aliases"].([]interface{}); ok && len(aliases) > 0 {
fmt.Println()
output.Dim.Println(" Aliases")
output.Header("Aliases")
for _, a := range aliases {
fmt.Printf(" • %v\n", a)
}
Expand Down
26 changes: 11 additions & 15 deletions cmd/configure.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,21 +119,17 @@ func listProfiles() error {
}

output.Header("Profiles")
output.KeyValue(nil, "Config file", config.Path())
output.KeyValueDots(nil, "Config file", config.Path())
if defaultProfile != "" {
output.KeyValue(nil, "Default", defaultProfile)
output.KeyValueDots(nil, "Default", defaultProfile)
}
fmt.Println()
if len(names) == 0 {
output.Warn("No profiles configured")
return nil
}
for _, name := range names {
marker := ""
if name == defaultProfile {
marker = " (default)"
}
fmt.Printf(" %s%s\n", name, marker)
fmt.Printf("%s• %s\n", " ", output.ProfileName(name, name == defaultProfile))
}
fmt.Println()
return nil
Expand Down Expand Up @@ -183,10 +179,10 @@ func showProfile(name string) error {
}

output.Header("Configuration")
output.KeyValue(nil, "Profile", name)
output.KeyValue(nil, "Config file", config.Path())
output.KeyValue(nil, "Endpoint", profile.Endpoint)
output.KeyValue(nil, "Token", maskToken(profile.Token))
output.KeyValueDots(nil, "Profile", name)
output.KeyValueDots(nil, "Config file", config.Path())
output.KeyValueDots(nil, "Endpoint", profile.Endpoint)
output.KeyValueDots(nil, "Token", maskToken(profile.Token))
fmt.Println()
return nil
}
Expand Down Expand Up @@ -219,9 +215,9 @@ func showAllProfiles() error {
}

output.Header("Configuration")
output.KeyValue(nil, "Config file", config.Path())
output.KeyValueDots(nil, "Config file", config.Path())
if defaultProfile != "" {
output.KeyValue(nil, "Default", defaultProfile)
output.KeyValueDots(nil, "Default", defaultProfile)
}
fmt.Println()

Expand All @@ -231,8 +227,8 @@ func showAllProfiles() error {
return err
}
output.Header(name)
output.KeyValue(nil, "Endpoint", profile.Endpoint)
output.KeyValue(nil, "Token", maskToken(profile.Token))
output.KeyValueDots(nil, "Endpoint", profile.Endpoint)
output.KeyValueDots(nil, "Token", maskToken(profile.Token))
fmt.Println()
}
return nil
Expand Down
2 changes: 1 addition & 1 deletion cmd/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ var dbListCmd = &cobra.Command{
)
}
t.Flush()
output.Dim.Printf(" Total: %d database(s)\n\n", len(dbs))
output.Footer("Total: %d database(s)", len(dbs))
return nil
},
}
Expand Down
17 changes: 11 additions & 6 deletions cmd/domains.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,24 +59,22 @@ var domainsCmd = &cobra.Command{
}

output.Header("Domains")
t := output.NewTable("DOMAIN", "APP", "KIND", "TYPE", "PHP", "DOCROOT", "BRANCH", "REPOSITORY", "SUSPENDED")
t := output.NewTable("DOMAIN", "APP", "KIND", "TYPE", "PHP", "DOCROOT", "BRANCH", "REPOSITORY", "STATUS")
suspendedApps := map[string]struct{}{}
for _, row := range rows {
suspended := "no"
if row.Suspended {
suspended = "yes"
suspendedApps[row.App] = struct{}{}
}
t.Row(
row.Domain,
row.App,
row.Kind,
output.KindBadge(row.Kind),
row.Type,
row.PHP,
row.Docroot,
row.Branch,
truncate(row.Repository, 40),
suspended,
output.StatusSuspended(boolSuspended(row.Suspended)),
)
}
t.Flush()
Expand All @@ -85,11 +83,18 @@ var domainsCmd = &cobra.Command{
if len(suspendedApps) > 0 {
suspNote = fmt.Sprintf(" — %d suspended", len(suspendedApps))
}
output.Dim.Printf(" %d domain(s) across %d app(s)%s\n\n", len(rows), len(result.Data), suspNote)
output.Footer("%d domain(s) across %d app(s)%s", len(rows), len(result.Data), suspNote)
return nil
},
}

func boolSuspended(v bool) string {
if v {
return "yes"
}
return "no"
}

func buildDomainRows(apps []map[string]interface{}) []domainRow {
rows := make([]domainRow, 0, len(apps))
for _, app := range apps {
Expand Down
16 changes: 3 additions & 13 deletions cmd/jobs.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,21 +37,11 @@ var jobsShowCmd = &cobra.Command{
}

output.Header("Job Status")
output.KeyValue(nil, "ID", fmt.Sprintf("%v", job.ID))

switch job.Status {
case "completed", "success", "finished":
output.KeyValue(nil, "Status", output.Green.Sprint(job.Status))
case "failed", "error":
output.KeyValue(nil, "Status", output.Red.Sprint(job.Status))
case "pending", "processing", "running":
output.KeyValue(nil, "Status", output.Yellow.Sprint(job.Status))
default:
output.KeyValue(nil, "Status", job.Status)
}
output.KeyValueDots(nil, "ID", fmt.Sprintf("%v", job.ID))
output.KeyValueDots(nil, "Status", output.StatusJob(job.Status))

if job.Error != "" {
output.KeyValue(nil, "Error", output.Red.Sprint(job.Error))
output.KeyValueDots(nil, "Error", output.Red.Sprint(job.Error))
}

fmt.Println()
Expand Down
10 changes: 4 additions & 6 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ var rootCmd = &cobra.Command{
output.JSONOutput = jsonFlag
},
Run: func(cmd *cobra.Command, args []string) {
output.Banner()
output.Dim.Println(" Use 'cipi-cli --help' to see available commands.")
fmt.Println()
output.Welcome()
},
}

Expand All @@ -44,9 +42,9 @@ var versionCmd = &cobra.Command{
})
return
}
fmt.Println()
output.KeyValue(nil, "Version", Version)
output.KeyValue(nil, "Build", BuildTime)
output.Header("Version")
output.KeyValueDots(nil, "Version", Version)
output.KeyValueDots(nil, "Build", BuildTime)
fmt.Println()
},
}
Expand Down
5 changes: 3 additions & 2 deletions internal/api/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"github.com/briandowns/spinner"
"github.com/cipi-sh/cli/internal/config"
"github.com/cipi-sh/cli/internal/output"
"github.com/fatih/color"
)

type Client struct {
Expand Down Expand Up @@ -296,8 +297,8 @@ func (c *Client) DoAsync(method, path string, body interface{}) (*AsyncResponse,
}

func (c *Client) WaitForJob(jobID string) (*JobStatus, error) {
s := spinner.New(spinner.CharSets[14], 120*time.Millisecond)
s.Suffix = " Processing..."
s := spinner.New(spinner.CharSets[11], 100*time.Millisecond)
s.Suffix = " " + color.New(color.FgHiCyan).Sprint("Processing") + color.New(color.Faint).Sprint(" · job "+jobID)
s.Color("cyan")
s.Start()
defer s.Stop()
Expand Down
Loading
Loading