Fix where the secret check happens and fiddle with messages.
continuous-integration/drone/pr Build is passing
Details
continuous-integration/drone/pr Build is passing
Details
This commit is contained in:
parent
30387cbb1b
commit
666e9a041c
|
@ -112,6 +112,10 @@ var appNewCommand = cli.Command{
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := ensureSecretLengths(secretsConfig, internal.Domain, sanitisedAppName); err != nil {
|
||||||
|
logrus.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
if err := promptForSecrets(recipe.Name, secretsConfig); err != nil {
|
if err := promptForSecrets(recipe.Name, secretsConfig); err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -126,10 +130,6 @@ var appNewCommand = cli.Command{
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := ensureSecretLengths(secrets, sanitisedAppName); err != nil {
|
|
||||||
logrus.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
secretCols := []string{"Name", "Value"}
|
secretCols := []string{"Name", "Value"}
|
||||||
secretTable = formatter.CreateTable(secretCols)
|
secretTable = formatter.CreateTable(secretCols)
|
||||||
for name, val := range secrets {
|
for name, val := range secrets {
|
||||||
|
@ -262,12 +262,12 @@ func ensureServerFlag() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func ensureSecretLengths(secrets AppSecrets, sanitisedAppName string) error {
|
func ensureSecretLengths(secrets map[string]string, domainName string, sanitisedAppName string) error {
|
||||||
if len(sanitisedAppName) > 45 {
|
if len(sanitisedAppName) > 45 {
|
||||||
sanitisedAppName = sanitisedAppName[:45]
|
sanitisedAppName = sanitisedAppName[:45]
|
||||||
}
|
}
|
||||||
|
|
||||||
domainLength := len(sanitisedAppName)
|
domainAndFormatLength := len(sanitisedAppName) + 4
|
||||||
failingSecrets := []string{}
|
failingSecrets := []string{}
|
||||||
maxSecretLength := 0
|
maxSecretLength := 0
|
||||||
|
|
||||||
|
@ -277,20 +277,20 @@ func ensureSecretLengths(secrets AppSecrets, sanitisedAppName string) error {
|
||||||
maxSecretLength = len(secretName)
|
maxSecretLength = len(secretName)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(secretName+"_v1")+domainLength > 64 {
|
if len(secretName)+domainAndFormatLength > 64 {
|
||||||
failingSecrets = append(failingSecrets, secretName)
|
failingSecrets = append(failingSecrets, secretName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(failingSecrets) > 0 {
|
if len(failingSecrets) > 0 {
|
||||||
failedSecretsString := strings.Join(failingSecrets, ", ")
|
failedSecretsString := strings.Join(failingSecrets, ", ")
|
||||||
return fmt.Errorf("the following secrets are too long to work with the domain name %s, change their length or use a shorter domain name: %s", sanitisedAppName, failedSecretsString)
|
return fmt.Errorf("the following secrets are too long to work with the domain name %s\n change their length or use a shorter domain name:\n %s", domainName, failedSecretsString)
|
||||||
}
|
}
|
||||||
|
|
||||||
logrus.Debugf(
|
logrus.Debugf(
|
||||||
`The longest secret name is %d
|
`The longest secret name is %d
|
||||||
including 4 extra characters for format %s_<name>_v1
|
including 4 extra characters for format %s_<name>_v1
|
||||||
fits with domain length of %d for max docker secret length of %d`,
|
fits with domain length of %d for max docker secret length of %d`,
|
||||||
maxSecretLength, sanitisedAppName, domainLength, domainLength+maxSecretLength+4)
|
maxSecretLength, sanitisedAppName, domainAndFormatLength, domainAndFormatLength+maxSecretLength)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue