forked from toolshed/abra
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package app
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"sort"
 | |
| 	"strings"
 | |
| 
 | |
| 	"coopcloud.tech/abra/cli/internal"
 | |
| 	"coopcloud.tech/abra/pkg/autocomplete"
 | |
| 	"coopcloud.tech/abra/pkg/formatter"
 | |
| 	"coopcloud.tech/abra/pkg/i18n"
 | |
| 	"github.com/spf13/cobra"
 | |
| )
 | |
| 
 | |
| // translators: `abra app env` aliases. use a comma separated list of aliases with
 | |
| // no spaces in between
 | |
| var appEnvAliases = i18n.G("e")
 | |
| 
 | |
| var AppEnvCommand = &cobra.Command{
 | |
| 	// translators: `app env` command
 | |
| 	Use:     i18n.G("env <domain> [flags]"),
 | |
| 	Aliases: strings.Split(appEnvAliases, ","),
 | |
| 	// translators: Short description for `app env` command
 | |
| 	Short:   i18n.G("Show app .env values"),
 | |
| 	Example: i18n.G("  abra app env 1312.net"),
 | |
| 	Args:    cobra.ExactArgs(1),
 | |
| 	ValidArgsFunction: func(
 | |
| 		cmd *cobra.Command,
 | |
| 		args []string,
 | |
| 		toComplete string) ([]string, cobra.ShellCompDirective) {
 | |
| 		return autocomplete.AppNameComplete()
 | |
| 	},
 | |
| 	Run: func(cmd *cobra.Command, args []string) {
 | |
| 		app := internal.ValidateApp(args)
 | |
| 
 | |
| 		var envKeys []string
 | |
| 		for k := range app.Env {
 | |
| 			envKeys = append(envKeys, k)
 | |
| 		}
 | |
| 
 | |
| 		sort.Strings(envKeys)
 | |
| 
 | |
| 		var rows [][]string
 | |
| 		for _, k := range envKeys {
 | |
| 			rows = append(rows, []string{k, app.Env[k]})
 | |
| 		}
 | |
| 
 | |
| 		overview := formatter.CreateOverview(i18n.G("ENV OVERVIEW"), rows)
 | |
| 		fmt.Println(overview)
 | |
| 	},
 | |
| }
 |