cleanup
continuous-integration/drone/pr Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
This commit is contained in:
parent
55694b4713
commit
1879cccef4
|
@ -97,7 +97,7 @@ var appNewCommand = cli.Command{
|
|||
var secrets AppSecrets
|
||||
var secretTable *jsontable.JSONTable
|
||||
if internal.Secrets {
|
||||
sampleEnv, err := recipe.SampleEnv(config.ReadEnvOptions{})
|
||||
sampleEnv, err := recipe.SampleEnv()
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ func UpdateTag(pattern, image, tag, recipeName string) (bool, error) {
|
|||
opts := stack.Deploy{Composefiles: []string{composeFile}}
|
||||
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, recipeName, ".env.sample")
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath, config.ReadEnvOptions{})
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ func UpdateLabel(pattern, serviceName, label, recipeName string) error {
|
|||
opts := stack.Deploy{Composefiles: []string{composeFile}}
|
||||
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, recipeName, ".env.sample")
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath, config.ReadEnvOptions{})
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -25,6 +25,9 @@ import (
|
|||
// AppEnv is a map of the values in an apps env config
|
||||
type AppEnv = map[string]string
|
||||
|
||||
// AppModifiers is a map of modifiers in an apps env config
|
||||
type AppModifiers = map[string]map[string]string
|
||||
|
||||
// AppName is AppName
|
||||
type AppName = string
|
||||
|
||||
|
@ -150,7 +153,7 @@ func (a ByName) Less(i, j int) bool {
|
|||
}
|
||||
|
||||
func ReadAppEnvFile(appFile AppFile, name AppName) (App, error) {
|
||||
env, err := ReadEnv(appFile.Path, ReadEnvOptions{})
|
||||
env, err := ReadEnv(appFile.Path)
|
||||
if err != nil {
|
||||
return App{}, fmt.Errorf("env file for %s couldn't be read: %s", name, err.Error())
|
||||
}
|
||||
|
|
|
@ -55,23 +55,8 @@ func GetServers() ([]string, error) {
|
|||
return servers, nil
|
||||
}
|
||||
|
||||
// ReadEnvOptions modifies the ReadEnv processing of env vars.
|
||||
type ReadEnvOptions struct {
|
||||
IncludeModifiers bool
|
||||
}
|
||||
|
||||
// ContainsEnvVarModifier determines if an env var contains a modifier.
|
||||
func ContainsEnvVarModifier(envVar string) bool {
|
||||
for _, mod := range envVarModifiers {
|
||||
if strings.Contains(envVar, fmt.Sprintf("%s=", mod)) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// ReadEnv loads an app envivornment into a map.
|
||||
func ReadEnv(filePath string, opts ReadEnvOptions) (AppEnv, error) {
|
||||
func ReadEnv(filePath string) (AppEnv, error) {
|
||||
var envVars AppEnv
|
||||
|
||||
envVars, _, err := godotenv.Read(filePath)
|
||||
|
@ -79,23 +64,13 @@ func ReadEnv(filePath string, opts ReadEnvOptions) (AppEnv, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
// for idx, envVar := range envVars {
|
||||
// if strings.Contains(envVar, "#") {
|
||||
// if opts.IncludeModifiers && ContainsEnvVarModifier(envVar) {
|
||||
// continue
|
||||
// }
|
||||
// vals := strings.Split(envVar, "#")
|
||||
// envVars[idx] = strings.TrimSpace(vals[0])
|
||||
// }
|
||||
// }
|
||||
|
||||
logrus.Debugf("read %s from %s", envVars, filePath)
|
||||
|
||||
return envVars, nil
|
||||
}
|
||||
|
||||
// ReadEnv loads an app envivornment into a map.
|
||||
func ReadEnvWithModifiers(filePath string, opts ReadEnvOptions) (AppEnv, map[string]map[string]string, error) {
|
||||
func ReadEnvWithModifiers(filePath string) (AppEnv, AppModifiers, error) {
|
||||
var envVars AppEnv
|
||||
|
||||
envVars, mods, err := godotenv.Read(filePath)
|
||||
|
@ -241,7 +216,7 @@ func CheckEnv(app App) ([]EnvVar, error) {
|
|||
return envVars, err
|
||||
}
|
||||
|
||||
envSample, err := ReadEnv(envSamplePath, ReadEnvOptions{})
|
||||
envSample, err := ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
return envVars, err
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ func TestGetAllFilesInDirectory(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestReadEnv(t *testing.T) {
|
||||
env, err := config.ReadEnv(ExpectedAppFile.Path, config.ReadEnvOptions{})
|
||||
env, err := config.ReadEnv(ExpectedAppFile.Path)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
@ -155,7 +155,7 @@ func TestCheckEnv(t *testing.T) {
|
|||
}
|
||||
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, r.Name, ".env.sample")
|
||||
envSample, err := config.ReadEnv(envSamplePath, config.ReadEnvOptions{})
|
||||
envSample, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
@ -189,7 +189,7 @@ func TestCheckEnvError(t *testing.T) {
|
|||
}
|
||||
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, r.Name, ".env.sample")
|
||||
envSample, err := config.ReadEnv(envSamplePath, config.ReadEnvOptions{})
|
||||
envSample, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
@ -217,16 +217,6 @@ func TestCheckEnvError(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestContainsEnvVarModifier(t *testing.T) {
|
||||
if ok := config.ContainsEnvVarModifier("FOO=bar # bing"); ok {
|
||||
t.Fatal("FOO contains no env var modifier")
|
||||
}
|
||||
|
||||
if ok := config.ContainsEnvVarModifier("FOO=bar # length=3"); !ok {
|
||||
t.Fatal("FOO contains an env var modifier (length)")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnvVarCommentsRemoved(t *testing.T) {
|
||||
offline := true
|
||||
r, err := recipe.Get("abra-test-recipe", offline)
|
||||
|
@ -235,7 +225,7 @@ func TestEnvVarCommentsRemoved(t *testing.T) {
|
|||
}
|
||||
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, r.Name, ".env.sample")
|
||||
envSample, err := config.ReadEnv(envSamplePath, config.ReadEnvOptions{})
|
||||
envSample, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
@ -267,7 +257,7 @@ func TestEnvVarModifiersIncluded(t *testing.T) {
|
|||
}
|
||||
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, r.Name, ".env.sample")
|
||||
envSample, modifiers, err := config.ReadEnvWithModifiers(envSamplePath, config.ReadEnvOptions{IncludeModifiers: true})
|
||||
envSample, modifiers, err := config.ReadEnvWithModifiers(envSamplePath)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
|
@ -227,7 +227,7 @@ func LintAppService(recipe recipe.Recipe) (bool, error) {
|
|||
// therefore no matching traefik deploy label will be present.
|
||||
func LintTraefikEnabledSkipCondition(recipe recipe.Recipe) (bool, error) {
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, recipe.Name, ".env.sample")
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath, config.ReadEnvOptions{})
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("Unable to discover .env.sample for %s", recipe.Name)
|
||||
}
|
||||
|
|
|
@ -227,7 +227,7 @@ func Get(recipeName string, offline bool) (Recipe, error) {
|
|||
}
|
||||
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, recipeName, ".env.sample")
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath, config.ReadEnvOptions{})
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
return Recipe{}, err
|
||||
}
|
||||
|
@ -255,9 +255,9 @@ func Get(recipeName string, offline bool) (Recipe, error) {
|
|||
}, nil
|
||||
}
|
||||
|
||||
func (r Recipe) SampleEnv(opts config.ReadEnvOptions) (map[string]string, error) {
|
||||
func (r Recipe) SampleEnv() (map[string]string, error) {
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, r.Name, ".env.sample")
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath, opts)
|
||||
sampleEnv, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
return sampleEnv, fmt.Errorf("unable to discover .env.sample for %s", r.Name)
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ func GeneratePassphrases(count uint) ([]string, error) {
|
|||
// "app new" case where we pass in the .env.sample and the "secret generate"
|
||||
// case where the app is created.
|
||||
func ReadSecretsConfig(appEnvPath string, composeFiles []string, recipeName string) (map[string]SecretValue, error) {
|
||||
appEnv, appModifiers, err := config.ReadEnvWithModifiers(appEnvPath, config.ReadEnvOptions{IncludeModifiers: true})
|
||||
appEnv, appModifiers, err := config.ReadEnvWithModifiers(appEnvPath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ func TestReadSecretsConfig(t *testing.T) {
|
|||
t.Fatal(err)
|
||||
}
|
||||
|
||||
sampleEnv, err := recipe.SampleEnv(config.ReadEnvOptions{})
|
||||
sampleEnv, err := recipe.SampleEnv()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue