forked from toolshed/abra
		
	refactor: moved a lot of flags & added comments
Comments added to fix the golint errors on exported things need comments
This commit is contained in:
		| @ -15,7 +15,34 @@ import ( | ||||
| 	"github.com/urfave/cli/v2" | ||||
| ) | ||||
|  | ||||
| type Secrets map[string]string | ||||
| type secrets map[string]string | ||||
|  | ||||
| var domain string | ||||
| var domainFlag = &cli.StringFlag{ | ||||
| 	Name:        "domain", | ||||
| 	Aliases:     []string{"d"}, | ||||
| 	Value:       "", | ||||
| 	Usage:       "Choose a domain name", | ||||
| 	Destination: &domain, | ||||
| } | ||||
|  | ||||
| var newAppServer string | ||||
| var newAppServerFlag = &cli.StringFlag{ | ||||
| 	Name:        "server", | ||||
| 	Aliases:     []string{"s"}, | ||||
| 	Value:       "", | ||||
| 	Usage:       "Show apps of a specific server", | ||||
| 	Destination: &listAppServer, | ||||
| } | ||||
|  | ||||
| var newAppName string | ||||
| var newAppNameFlag = &cli.StringFlag{ | ||||
| 	Name:        "app-name", | ||||
| 	Aliases:     []string{"a"}, | ||||
| 	Value:       "", | ||||
| 	Usage:       "Choose an app name", | ||||
| 	Destination: &newAppName, | ||||
| } | ||||
|  | ||||
| var appNewDescription = ` | ||||
| This command takes an app recipe and uses it to create a new app. This new app | ||||
| @ -42,9 +69,9 @@ var appNewCommand = &cli.Command{ | ||||
| 	Usage:       "Create a new app", | ||||
| 	Description: appNewDescription, | ||||
| 	Flags: []cli.Flag{ | ||||
| 		internal.ServerFlag, | ||||
| 		internal.DomainFlag, | ||||
| 		internal.AppNameFlag, | ||||
| 		newAppServerFlag, | ||||
| 		domainFlag, | ||||
| 		newAppNameFlag, | ||||
| 		internal.PassFlag, | ||||
| 		internal.SecretsFlag, | ||||
| 	}, | ||||
| @ -70,11 +97,11 @@ func appLookup(appType string) (catalogue.App, error) { | ||||
|  | ||||
| // ensureDomainFlag checks if the domain flag was used. if not, asks the user for it | ||||
| func ensureDomainFlag() error { | ||||
| 	if internal.Domain == "" { | ||||
| 	if domain == "" { | ||||
| 		prompt := &survey.Input{ | ||||
| 			Message: "Specify app domain", | ||||
| 		} | ||||
| 		if err := survey.AskOne(prompt, &internal.Domain); err != nil { | ||||
| 		if err := survey.AskOne(prompt, &domain); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| @ -83,17 +110,17 @@ func ensureDomainFlag() error { | ||||
|  | ||||
| // ensureServerFlag checks if the server flag was used. if not, asks the user for it | ||||
| func ensureServerFlag() error { | ||||
| 	appFiles, err := config.LoadAppFiles(internal.Server) | ||||
| 	appFiles, err := config.LoadAppFiles(newAppServer) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	servers := appFiles.GetServers() | ||||
| 	if internal.Server == "" { | ||||
| 	if newAppServer == "" { | ||||
| 		prompt := &survey.Select{ | ||||
| 			Message: "Select app server:", | ||||
| 			Options: servers, | ||||
| 		} | ||||
| 		if err := survey.AskOne(prompt, &internal.Server); err != nil { | ||||
| 		if err := survey.AskOne(prompt, &newAppServer); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| @ -102,27 +129,27 @@ func ensureServerFlag() error { | ||||
|  | ||||
| // ensureServerFlag checks if the AppName flag was used. if not, asks the user for it | ||||
| func ensureAppNameFlag() error { | ||||
| 	if internal.AppName == "" { | ||||
| 	if newAppName == "" { | ||||
| 		prompt := &survey.Input{ | ||||
| 			Message: "Specify app name:", | ||||
| 			Default: config.SanitiseAppName(internal.Domain), | ||||
| 			Default: config.SanitiseAppName(domain), | ||||
| 		} | ||||
| 		if err := survey.AskOne(prompt, &internal.AppName); err != nil { | ||||
| 		if err := survey.AskOne(prompt, &newAppName); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func createSecrets(sanitisedAppName string) (Secrets, error) { | ||||
| 	appEnvPath := path.Join(config.ABRA_DIR, "servers", internal.Server, fmt.Sprintf("%s.env", sanitisedAppName)) | ||||
| func createSecrets(sanitisedAppName string) (secrets, error) { | ||||
| 	appEnvPath := path.Join(config.ABRA_DIR, "servers", newAppServer, fmt.Sprintf("%s.env", sanitisedAppName)) | ||||
| 	appEnv, err := config.ReadEnv(appEnvPath) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	secretEnvVars := secret.ReadSecretEnvVars(appEnv) | ||||
| 	secrets, err := secret.GenerateSecrets(secretEnvVars, sanitisedAppName, internal.Server) | ||||
| 	secrets, err := secret.GenerateSecrets(secretEnvVars, sanitisedAppName, newAppServer) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| @ -130,7 +157,7 @@ func createSecrets(sanitisedAppName string) (Secrets, error) { | ||||
| 	if internal.Pass { | ||||
| 		for secretName := range secrets { | ||||
| 			secretValue := secrets[secretName] | ||||
| 			if err := secret.PassInsertSecret(secretValue, secretName, sanitisedAppName, internal.Server); err != nil { | ||||
| 			if err := secret.PassInsertSecret(secretValue, secretName, sanitisedAppName, newAppServer); err != nil { | ||||
| 				return nil, err | ||||
| 			} | ||||
| 		} | ||||
| @ -171,12 +198,12 @@ func action(c *cli.Context) error { | ||||
| 		logrus.Fatal(err) | ||||
| 	} | ||||
|  | ||||
| 	sanitisedAppName := config.SanitiseAppName(internal.AppName) | ||||
| 	sanitisedAppName := config.SanitiseAppName(newAppName) | ||||
| 	if len(sanitisedAppName) > 45 { | ||||
| 		logrus.Fatalf("'%s' cannot be longer than 45 characters", sanitisedAppName) | ||||
| 	} | ||||
|  | ||||
| 	if err := config.CopyAppEnvSample(appType, internal.AppName, internal.Server); err != nil { | ||||
| 	if err := config.CopyAppEnvSample(appType, newAppName, newAppServer); err != nil { | ||||
| 		logrus.Fatal(err) | ||||
| 	} | ||||
|  | ||||
| @ -197,7 +224,7 @@ func action(c *cli.Context) error { | ||||
|  | ||||
| 	tableCol := []string{"Name", "Domain", "Type", "Server"} | ||||
| 	table := abraFormatter.CreateTable(tableCol) | ||||
| 	table.Append([]string{sanitisedAppName, internal.Domain, appType, internal.Server}) | ||||
| 	table.Append([]string{sanitisedAppName, domain, appType, newAppServer}) | ||||
| 	defer table.Render() | ||||
|  | ||||
| 	return nil | ||||
|  | ||||
		Reference in New Issue
	
	Block a user