Compare commits

..

6 Commits

Author SHA1 Message Date
d180bb924f chore: make i18n
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-09-29 10:33:56 +02:00
d50d68d95a test: further generate=false secre tests 2025-09-29 10:33:40 +02:00
f468bc7443 fix: collect local name also 2025-09-29 10:33:26 +02:00
dee2d9d104 fix: nuance of generate=false for app deploy 2025-09-29 10:32:29 +02:00
5c892b1d6a fix: nuance of generate=false for app new 2025-09-29 10:32:04 +02:00
81b96fc7b1 docs: better wording 2025-09-29 10:31:46 +02:00
14 changed files with 412 additions and 334 deletions

View File

@ -3,7 +3,6 @@ package app
import (
"context"
"errors"
"fmt"
"strings"
"coopcloud.tech/abra/cli/internal"
@ -104,17 +103,18 @@ checkout as-is. Recipe commit hashes are also supported as values for
toDeployVersion, err = getDeployVersion(args, deployMeta, app)
if err != nil {
log.Fatal(err)
log.Fatal(i18n.G("get deploy version: %s", err))
}
versionIsChaos := false
if !internal.Chaos {
isChaosCommit, err := app.Recipe.EnsureVersion(toDeployVersion)
var err error
versionIsChaos, err = app.Recipe.EnsureVersion(toDeployVersion)
if err != nil {
log.Fatal(i18n.G("ensure recipe: %s", err))
}
if isChaosCommit {
if versionIsChaos {
log.Warnf(i18n.G("version '%s' appears to be a chaos commit, but --chaos/-C was not provided", toDeployVersion))
internal.Chaos = true
}
}
@ -154,23 +154,12 @@ checkout as-is. Recipe commit hashes are also supported as values for
appPkg.ExposeAllEnv(stackName, compose, app.Env)
appPkg.SetRecipeLabel(compose, stackName, app.Recipe.Name)
appPkg.SetChaosLabel(compose, stackName, internal.Chaos)
appPkg.SetChaosLabel(compose, stackName, internal.Chaos || versionIsChaos)
if internal.Chaos {
appPkg.SetChaosVersionLabel(compose, stackName, toDeployVersion)
}
appPkg.SetUpdateLabel(compose, stackName, app.Env)
versionLabel := toDeployVersion
if internal.Chaos {
for _, service := range compose.Services {
if service.Name == "app" {
labelKey := fmt.Sprintf("coop-cloud.%s.version", stackName)
// NOTE(d1): keep non-chaos version labbeling when doing chaos ops
versionLabel = service.Deploy.Labels[labelKey]
}
}
}
appPkg.SetVersionLabel(compose, stackName, versionLabel)
appPkg.SetVersionLabel(compose, stackName, toDeployVersion)
envVars, err := appPkg.CheckEnv(app)
if err != nil {
@ -200,9 +189,6 @@ checkout as-is. Recipe commit hashes are also supported as values for
deployedVersion := config.NO_VERSION_DEFAULT
if deployMeta.IsDeployed {
deployedVersion = deployMeta.Version
if deployMeta.IsChaos {
deployedVersion = deployMeta.ChaosVersion
}
}
// Gather secrets
@ -314,6 +300,16 @@ func validateArgsAndFlags(args []string) error {
}
func validateSecrets(cl *dockerClient.Client, app appPkg.App) error {
composeFiles, err := app.Recipe.GetComposeFiles(app.Env)
if err != nil {
return err
}
secretsConfig, err := secret.ReadSecretsConfig(app.Path, composeFiles, app.StackName())
if err != nil {
return err
}
secStats, err := secret.PollSecretsStatus(cl, app)
if err != nil {
return err
@ -321,6 +317,10 @@ func validateSecrets(cl *dockerClient.Client, app appPkg.App) error {
for _, secStat := range secStats {
if !secStat.CreatedOnRemote {
secretConfig := secretsConfig[secStat.LocalName]
if secretConfig.SkipGenerate {
return errors.New(i18n.G("secret not inserted (#generate=false): %s", secStat.LocalName))
}
return errors.New(i18n.G("secret not generated: %s", secStat.LocalName))
}
}
@ -348,12 +348,7 @@ func getDeployVersion(cliArgs []string, deployMeta stack.DeployMeta, app appPkg.
// Check if the recipe has a version in the .env file
if app.Recipe.EnvVersion != "" && !internal.DeployLatest {
if strings.HasSuffix(app.Recipe.EnvVersionRaw, "+U") {
// NOTE(d1): use double-line 5 spaces ("FATA ") trick to make a more
// informative error message. it's ugly but that's our logging situation
// atm
return "", errors.New(i18n.G(`cannot redeploy previous chaos version (%s), did you mean to use "--chaos"?
to return to a regular release, specify a release tag, commit SHA or use "--latest"`,
formatter.BoldDirtyDefault(app.Recipe.EnvVersionRaw)))
return "", errors.New(i18n.G("version: can not redeploy chaos version %s", app.Recipe.EnvVersionRaw))
}
log.Debug(i18n.G("version: taking version from .env file: %s", app.Recipe.EnvVersion))
return app.Recipe.EnvVersion, nil

View File

@ -192,7 +192,27 @@ var AppNewCommand = &cobra.Command{
log.Info(i18n.G("%s created (version: %s)", appDomain, recipeVersion))
if len(secretsConfig) > 0 {
log.Warn(i18n.G("%s requires secret generation before deploying, run \"abra app secret generate %s --all\"", recipe.Name, appDomain))
var (
hasSecretToGenerate bool
hasSecretToSkip bool
)
for _, secretConfig := range secretsConfig {
if secretConfig.SkipGenerate {
hasSecretToSkip = true
continue
}
hasSecretToGenerate = true
}
if hasSecretToGenerate && !generateSecrets {
log.Warn(i18n.G("%s requires secret generation before deploy, run \"abra app secret generate %s --all\"", recipe.Name, appDomain))
}
if hasSecretToSkip {
log.Warn(i18n.G("%s requires secret insertion before deploy (#generate=false)", recipe.Name))
}
}
if len(appSecrets) > 0 {

View File

@ -203,15 +203,10 @@ beforehand. See "abra app backup" for more.`),
log.Fatal(err)
}
deployedVersion := deployMeta.Version
if deployMeta.IsChaos {
deployedVersion = deployMeta.ChaosVersion
}
// NOTE(d1): no release notes implemeneted for rolling back
if err := internal.DeployOverview(
app,
deployedVersion,
deployMeta.Version,
chosenDowngrade,
"",
downgradeWarnMessages,

View File

@ -165,7 +165,7 @@ var AppSecretInsertCommand = &cobra.Command{
Arbitrary secret insertion is not supported. Secrets that are inserted must
match those configured in the recipe beforehand.
This can be useful when you want to manually generate secrets for an app
This command can be useful when you want to manually generate secrets for an app
environment. Typically, you can let Abra generate them for you on app creation
(see "abra app new --secrets/-S" for more).`),
Example: i18n.G(` # insert regular secret

View File

@ -65,14 +65,9 @@ Passing "--prune/-p" does not remove those volumes.`),
log.Fatal(i18n.G("%s is not deployed?", app.Name))
}
version := deployMeta.Version
if deployMeta.IsChaos {
version = deployMeta.ChaosVersion
}
if err := internal.DeployOverview(
app,
version,
deployMeta.Version,
config.NO_DOMAIN_DEFAULT,
"",
nil,
@ -115,7 +110,7 @@ Passing "--prune/-p" does not remove those volumes.`),
log.Info(i18n.G("undeploy succeeded 🟢"))
if err := app.WriteRecipeVersion(version, false); err != nil {
if err := app.WriteRecipeVersion(deployMeta.Version, false); err != nil {
log.Fatal(i18n.G("writing recipe version failed: %s", err))
}
},

View File

@ -241,14 +241,9 @@ beforehand. See "abra app backup" for more.`),
)
}
deployedVersion := deployMeta.Version
if deployMeta.IsChaos {
deployedVersion = deployMeta.ChaosVersion
}
if err := internal.DeployOverview(
app,
deployedVersion,
deployMeta.Version,
chosenUpgrade,
upgradeReleaseNotes,
upgradeWarnMessages,

View File

@ -143,37 +143,29 @@ func getDeployType(currentVersion, newVersion string) string {
if newVersion == config.NO_DOMAIN_DEFAULT {
return i18n.G("UNDEPLOY")
}
if strings.Contains(newVersion, "+U") {
return i18n.G("CHAOS DEPLOY")
}
if strings.Contains(currentVersion, "+U") {
return i18n.G("UNCHAOS DEPLOY")
}
if currentVersion == newVersion {
return ("REDEPLOY")
}
if currentVersion == config.NO_VERSION_DEFAULT {
return i18n.G("NEW DEPLOY")
}
currentParsed, err := tagcmp.Parse(currentVersion)
if err != nil {
return i18n.G("DEPLOY")
}
newParsed, err := tagcmp.Parse(newVersion)
if err != nil {
return i18n.G("DEPLOY")
}
if currentParsed.IsLessThan(newParsed) {
return i18n.G("UPGRADE")
}
return i18n.G("DOWNGRADE")
}

View File

@ -7,7 +7,7 @@
msgid ""
msgstr "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: EMAIL\n"
"POT-Creation-Date: 2025-09-29 19:58+0200\n"
"POT-Creation-Date: 2025-09-29 10:31+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -111,7 +111,7 @@ msgid " # run <cmd> with args/flags\n"
" abra app run 1312.net app --user nobody -- ls -lha"
msgstr ""
#: ./cli/app/deploy.go:42
#: ./cli/app/deploy.go:41
msgid " # standard deployment\n"
" abra app deploy 1312.net\n"
"\n"
@ -201,7 +201,7 @@ msgstr ""
msgid "%s OVERVIEW"
msgstr ""
#: ./cli/server/add.go:127 ./pkg/secret/secret.go:223 ./pkg/secret/secret.go:243 ./pkg/server/server.go:21
#: ./cli/server/add.go:127 ./pkg/secret/secret.go:233 ./pkg/secret/secret.go:253 ./pkg/server/server.go:21
#, c-format
msgid "%s already exists"
msgstr ""
@ -226,7 +226,7 @@ msgstr ""
msgid "%s does not exist for %s, use /bin/sh as fallback"
msgstr ""
#: ./cli/app/cmd.go:114 ./cli/internal/deploy.go:249
#: ./cli/app/cmd.go:114 ./cli/internal/deploy.go:241
#, c-format
msgid "%s does not exist for %s?"
msgstr ""
@ -296,7 +296,7 @@ msgstr ""
msgid "%s has no published versions?"
msgstr ""
#: ./cli/app/new.go:281
#: ./cli/app/new.go:301
#, c-format
msgid "%s has no secrets to generate, skipping..."
msgstr ""
@ -311,7 +311,7 @@ msgstr ""
msgid "%s inserted into pass store"
msgstr ""
#: ./cli/app/deploy.go:102
#: ./cli/app/deploy.go:101
#, c-format
msgid "%s is already deployed"
msgstr ""
@ -336,17 +336,17 @@ msgstr ""
msgid "%s is missing the TYPE env var?"
msgstr ""
#: ./cli/app/rollback.go:306 ./cli/app/rollback.go:310
#: ./cli/app/rollback.go:301 ./cli/app/rollback.go:305
#, c-format
msgid "%s is not a downgrade for %s?"
msgstr ""
#: ./cli/app/upgrade.go:427 ./cli/app/upgrade.go:431
#: ./cli/app/upgrade.go:422 ./cli/app/upgrade.go:426
#, c-format
msgid "%s is not an upgrade for %s?"
msgstr ""
#: ./cli/app/logs.go:65 ./cli/app/ps.go:62 ./cli/app/restart.go:100 ./cli/app/services.go:55 ./cli/app/undeploy.go:65 ./cli/app/upgrade.go:448 ./cli/updater/updater.go:260
#: ./cli/app/logs.go:65 ./cli/app/ps.go:62 ./cli/app/restart.go:100 ./cli/app/services.go:55 ./cli/app/undeploy.go:65 ./cli/app/upgrade.go:443 ./cli/updater/updater.go:260
#, c-format
msgid "%s is not deployed?"
msgstr ""
@ -361,7 +361,7 @@ msgstr ""
msgid "%s is still deployed. Run \"abra app undeploy %s\""
msgstr ""
#: ./cli/app/deploy.go:183 ./cli/app/upgrade.go:209
#: ./cli/app/deploy.go:172 ./cli/app/upgrade.go:209
#, c-format
msgid "%s missing from %s.env"
msgstr ""
@ -376,7 +376,7 @@ msgstr ""
msgid "%s not considered semver-like"
msgstr ""
#: ./pkg/secret/secret.go:130
#: ./pkg/secret/secret.go:135
#, c-format
msgid "%s not enabled in recipe config, skipping"
msgstr ""
@ -396,9 +396,14 @@ msgstr ""
msgid "%s removed from pass store"
msgstr ""
#: ./cli/app/new.go:195
#: ./cli/app/new.go:210
#, c-format
msgid "%s requires secret generation before deploying, run \"abra app secret generate %s --all\""
msgid "%s requires secret generation before deploy, run \"abra app secret generate %s --all\""
msgstr ""
#: ./cli/app/new.go:214
#, c-format
msgid "%s requires secret insertion before deploy (#generate=false)"
msgstr ""
#: ./cli/app/new.go:141
@ -526,12 +531,12 @@ msgstr ""
msgid "%s: waiting %d seconds before next retry"
msgstr ""
#: ./cli/app/upgrade.go:422
#: ./cli/app/upgrade.go:417
#, c-format
msgid "'%s' is not a known version"
msgstr ""
#: ./cli/app/rollback.go:301 ./cli/app/upgrade.go:417
#: ./cli/app/rollback.go:296 ./cli/app/upgrade.go:412
#, c-format
msgid "'%s' is not a known version for %s"
msgstr ""
@ -602,7 +607,7 @@ msgstr ""
msgid "Both local recipe and live deployment labels are shown."
msgstr ""
#: ./cli/app/backup.go:319 ./cli/app/backup.go:335 ./cli/app/check.go:95 ./cli/app/cmd.go:285 ./cli/app/cp.go:385 ./cli/app/deploy.go:380 ./cli/app/labels.go:143 ./cli/app/new.go:377 ./cli/app/ps.go:213 ./cli/app/restart.go:162 ./cli/app/restore.go:138 ./cli/app/secret.go:569 ./cli/app/secret.go:609 ./cli/app/secret.go:633 ./cli/app/secret.go:641 ./cli/catalogue/catalogue.go:318 ./cli/recipe/lint.go:137 ./cli/updater/updater.go:538
#: ./cli/app/backup.go:319 ./cli/app/backup.go:335 ./cli/app/check.go:95 ./cli/app/cmd.go:285 ./cli/app/cp.go:385 ./cli/app/deploy.go:375 ./cli/app/labels.go:143 ./cli/app/new.go:397 ./cli/app/ps.go:213 ./cli/app/restart.go:162 ./cli/app/restore.go:138 ./cli/app/secret.go:569 ./cli/app/secret.go:609 ./cli/app/secret.go:633 ./cli/app/secret.go:641 ./cli/catalogue/catalogue.go:318 ./cli/recipe/lint.go:137 ./cli/updater/updater.go:538
msgid "C"
msgstr ""
@ -610,7 +615,7 @@ msgstr ""
msgid "CHAOS"
msgstr ""
#: ./cli/internal/deploy.go:148
#: ./cli/internal/deploy.go:147
msgid "CHAOS DEPLOY"
msgstr ""
@ -748,11 +753,11 @@ msgid "Creates a new app from a default recipe.\n"
"on your $PATH."
msgstr ""
#: ./cli/app/deploy.go:396 ./cli/app/new.go:353 ./cli/app/rollback.go:358 ./cli/app/upgrade.go:468
#: ./cli/app/deploy.go:391 ./cli/app/new.go:373 ./cli/app/rollback.go:353 ./cli/app/upgrade.go:463
msgid "D"
msgstr ""
#: ./cli/internal/deploy.go:165 ./cli/internal/deploy.go:170
#: ./cli/internal/deploy.go:160 ./cli/internal/deploy.go:164
msgid "DEPLOY"
msgstr ""
@ -760,20 +765,20 @@ msgstr ""
msgid "DEPLOYED LABELS"
msgstr ""
#: ./cli/app/list.go:222 ./cli/internal/deploy.go:78 ./cli/internal/deploy.go:208
#: ./cli/app/list.go:222 ./cli/internal/deploy.go:78 ./cli/internal/deploy.go:200
msgid "DOMAIN"
msgstr ""
#: ./cli/internal/deploy.go:177
#: ./cli/internal/deploy.go:169
msgid "DOWNGRADE"
msgstr ""
#. translators: Short description for `app deploy` command
#: ./cli/app/deploy.go:36
#: ./cli/app/deploy.go:35
msgid "Deploy an app"
msgstr ""
#: ./cli/app/deploy.go:37
#: ./cli/app/deploy.go:36
msgid "Deploy an app.\n"
"\n"
"This command supports chaos operations. Use \"--chaos/-C\" to deploy your recipe\n"
@ -859,7 +864,7 @@ msgid "Generate a report of all managed apps.\n"
"Use \"--status/-S\" flag to query all servers for the live deployment status."
msgstr ""
#: ./cli/app/new.go:287
#: ./cli/app/new.go:307
msgid "Generate app secrets?"
msgstr ""
@ -988,7 +993,7 @@ msgstr ""
msgid "List volumes associated with an app"
msgstr ""
#: ./cli/internal/deploy.go:216
#: ./cli/internal/deploy.go:208
msgid "MOVE OVERVIEW"
msgstr ""
@ -1059,7 +1064,7 @@ msgstr ""
msgid "NAME"
msgstr ""
#: ./cli/internal/deploy.go:160
#: ./cli/internal/deploy.go:156
msgid "NEW DEPLOY"
msgstr ""
@ -1067,7 +1072,7 @@ msgstr ""
msgid "NEW DEPLOYMENT"
msgstr ""
#: ./cli/internal/deploy.go:211
#: ./cli/internal/deploy.go:203
msgid "NEW SERVER"
msgstr ""
@ -1087,7 +1092,7 @@ msgid "Notify on new versions for deployed apps.\n"
"Use \"--major/-m\" to include new major versions."
msgstr ""
#: ./cli/internal/deploy.go:210
#: ./cli/internal/deploy.go:202
msgid "OLD SERVER"
msgstr ""
@ -1115,7 +1120,7 @@ msgstr ""
msgid "README.md metadata filled in"
msgstr ""
#: ./cli/app/list.go:222 ./cli/internal/deploy.go:79 ./cli/internal/deploy.go:209
#: ./cli/app/list.go:222 ./cli/internal/deploy.go:79 ./cli/internal/deploy.go:201
msgid "RECIPE"
msgstr ""
@ -1231,15 +1236,15 @@ msgstr ""
msgid "Run app commands"
msgstr ""
#: ./cli/app/backup.go:303 ./cli/app/list.go:295 ./cli/app/logs.go:109 ./cli/app/new.go:369
#: ./cli/app/backup.go:303 ./cli/app/list.go:295 ./cli/app/logs.go:109 ./cli/app/new.go:389
msgid "S"
msgstr ""
#: ./cli/internal/deploy.go:99 ./cli/internal/deploy.go:212
#: ./cli/internal/deploy.go:99 ./cli/internal/deploy.go:204
msgid "SECRETS"
msgstr ""
#: ./cli/app/new.go:204
#: ./cli/app/new.go:224
msgid "SECRETS OVERVIEW"
msgstr ""
@ -1272,7 +1277,7 @@ msgstr ""
msgid "STATUS"
msgstr ""
#: ./cli/app/new.go:312
#: ./cli/app/new.go:332
msgid "Select app server:"
msgstr ""
@ -1309,7 +1314,7 @@ msgstr ""
msgid "Specify a server name"
msgstr ""
#: ./cli/app/new.go:263
#: ./cli/app/new.go:283
msgid "Specify app domain"
msgstr ""
@ -1363,7 +1368,7 @@ msgid "This command inserts a secret into an app environment.\n"
"Arbitrary secret insertion is not supported. Secrets that are inserted must\n"
"match those configured in the recipe beforehand.\n"
"\n"
"This can be useful when you want to manually generate secrets for an app\n"
"This command can be useful when you want to manually generate secrets for an app\n"
"environment. Typically, you can let Abra generate them for you on app creation\n"
"(see \"abra app new --secrets/-S\" for more)."
msgstr ""
@ -1451,11 +1456,11 @@ msgid "To load completions:\n"
" # and source this file from your PowerShell profile."
msgstr ""
#: ./cli/app/deploy.go:420 ./cli/app/rollback.go:374 ./cli/app/upgrade.go:492
#: ./cli/app/deploy.go:415 ./cli/app/rollback.go:369 ./cli/app/upgrade.go:487
msgid "U"
msgstr ""
#: ./cli/internal/deploy.go:152
#: ./cli/internal/deploy.go:150
msgid "UNCHAOS DEPLOY"
msgstr ""
@ -1463,7 +1468,7 @@ msgstr ""
msgid "UNDEPLOY"
msgstr ""
#: ./cli/app/list.go:228 ./cli/internal/deploy.go:174
#: ./cli/app/list.go:228 ./cli/internal/deploy.go:167
msgid "UPGRADE"
msgstr ""
@ -1589,7 +1594,7 @@ msgstr ""
msgid "VERSION"
msgstr ""
#: ./cli/internal/deploy.go:213
#: ./cli/internal/deploy.go:205
msgid "VOLUMES"
msgstr ""
@ -1795,7 +1800,7 @@ msgstr ""
msgid "attempting to create client for %s"
msgstr ""
#: ./pkg/secret/secret.go:212
#: ./pkg/secret/secret.go:222
#, c-format
msgid "attempting to generate and store %s on %s"
msgstr ""
@ -1805,7 +1810,7 @@ msgstr ""
msgid "attempting to run %s"
msgstr ""
#: ./cli/app/deploy.go:271 ./cli/app/upgrade.go:294
#: ./cli/app/deploy.go:257 ./cli/app/upgrade.go:289
#, c-format
msgid "attempting to run post deploy commands, saw: %s"
msgstr ""
@ -1830,12 +1835,12 @@ msgstr ""
msgid "autocomplete [bash|zsh|fish|powershell]"
msgstr ""
#: ./cli/app/deploy.go:65 ./cli/app/logs.go:39 ./cli/app/rollback.go:64 ./cli/app/secret.go:49 ./cli/app/secret.go:191 ./cli/app/secret.go:360 ./cli/app/upgrade.go:63 ./pkg/autocomplete/autocomplete.go:18 ./pkg/autocomplete/autocomplete.go:33 ./pkg/autocomplete/autocomplete.go:44 ./pkg/autocomplete/autocomplete.go:50 ./pkg/autocomplete/autocomplete.go:70 ./pkg/autocomplete/autocomplete.go:88 ./pkg/autocomplete/autocomplete.go:104 ./pkg/autocomplete/autocomplete.go:110 ./pkg/autocomplete/autocomplete.go:125
#: ./cli/app/deploy.go:64 ./cli/app/logs.go:39 ./cli/app/rollback.go:64 ./cli/app/secret.go:49 ./cli/app/secret.go:191 ./cli/app/secret.go:360 ./cli/app/upgrade.go:63 ./pkg/autocomplete/autocomplete.go:18 ./pkg/autocomplete/autocomplete.go:33 ./pkg/autocomplete/autocomplete.go:44 ./pkg/autocomplete/autocomplete.go:50 ./pkg/autocomplete/autocomplete.go:70 ./pkg/autocomplete/autocomplete.go:88 ./pkg/autocomplete/autocomplete.go:104 ./pkg/autocomplete/autocomplete.go:110 ./pkg/autocomplete/autocomplete.go:125
#, c-format
msgid "autocomplete failed: %s"
msgstr ""
#: ./cli/app/new.go:371
#: ./cli/app/new.go:391
msgid "automatically generate secrets"
msgstr ""
@ -1895,7 +1900,7 @@ msgstr ""
#. no spaces in between
#. translators: `abra app cp` aliases. use a comma separated list of aliases with
#. no spaces in between
#: ./cli/app/backup.go:148 ./cli/app/cp.go:30 ./cli/app/deploy.go:404 ./cli/app/rollback.go:366 ./cli/app/upgrade.go:476
#: ./cli/app/backup.go:148 ./cli/app/cp.go:30 ./cli/app/deploy.go:399 ./cli/app/rollback.go:361 ./cli/app/upgrade.go:471
msgid "c"
msgstr ""
@ -1903,6 +1908,11 @@ msgstr ""
msgid "can not insert from file and read from stdin"
msgstr ""
#: ./pkg/recipe/git.go:52
#, c-format
msgid "can not redeploy chaos version (%s) without --chaos"
msgstr ""
#: ./cli/recipe/upgrade.go:324
#, c-format
msgid "can upgrade service: %s, image: %s, tag: %s ::"
@ -1927,7 +1937,7 @@ msgstr ""
msgid "can't separate key from value: %s (this variable is probably unset)"
msgstr ""
#: ./cli/internal/deploy.go:237
#: ./cli/internal/deploy.go:229
msgid "cancelled"
msgstr ""
@ -1951,17 +1961,6 @@ msgstr ""
msgid "cannot parse %s, invalid tag specified?"
msgstr ""
#: ./pkg/recipe/git.go:52
#, c-format
msgid "cannot redeploy previous chaos version (%s), did you mean to use \"--chaos\"?"
msgstr ""
#: ./cli/app/deploy.go:354
#, c-format
msgid "cannot redeploy previous chaos version (%s), did you mean to use \"--chaos\"?\n"
" to return to a regular release, specify a release tag, commit SHA or use \"--latest\""
msgstr ""
#: ./pkg/dns/dns.go:38 ./pkg/dns/dns.go:47
#, c-format
msgid "cannot resolve ipv4 for %s?"
@ -1975,7 +1974,7 @@ msgstr ""
msgid "cannot use '[secret] [version]' and '--all' together"
msgstr ""
#: ./cli/app/deploy.go:310
#: ./cli/app/deploy.go:296
msgid "cannot use --chaos and --latest together"
msgstr ""
@ -1999,11 +1998,11 @@ msgstr ""
msgid "cannot use [service] and --all-services/-a together"
msgstr ""
#: ./cli/app/deploy.go:302 ./cli/app/new.go:76
#: ./cli/app/deploy.go:288 ./cli/app/new.go:76
msgid "cannot use [version] and --chaos together"
msgstr ""
#: ./cli/app/deploy.go:306
#: ./cli/app/deploy.go:292
msgid "cannot use [version] and --latest together"
msgstr ""
@ -2035,7 +2034,7 @@ msgstr ""
msgid "cfg"
msgstr ""
#: ./cli/app/backup.go:318 ./cli/app/backup.go:334 ./cli/app/check.go:94 ./cli/app/cmd.go:284 ./cli/app/cp.go:384 ./cli/app/deploy.go:379 ./cli/app/labels.go:142 ./cli/app/new.go:376 ./cli/app/ps.go:212 ./cli/app/restart.go:161 ./cli/app/restore.go:137 ./cli/app/secret.go:568 ./cli/app/secret.go:608 ./cli/app/secret.go:632 ./cli/app/secret.go:640 ./cli/catalogue/catalogue.go:317 ./cli/recipe/lint.go:136 ./cli/updater/updater.go:537
#: ./cli/app/backup.go:318 ./cli/app/backup.go:334 ./cli/app/check.go:94 ./cli/app/cmd.go:284 ./cli/app/cp.go:384 ./cli/app/deploy.go:374 ./cli/app/labels.go:142 ./cli/app/new.go:396 ./cli/app/ps.go:212 ./cli/app/restart.go:161 ./cli/app/restore.go:137 ./cli/app/secret.go:568 ./cli/app/secret.go:608 ./cli/app/secret.go:632 ./cli/app/secret.go:640 ./cli/catalogue/catalogue.go:317 ./cli/recipe/lint.go:136 ./cli/updater/updater.go:537
msgid "chaos"
msgstr ""
@ -2048,7 +2047,7 @@ msgstr ""
msgid "check for major updates"
msgstr ""
#: ./cli/app/deploy.go:94 ./cli/app/undeploy.go:57 ./cli/app/upgrade.go:440
#: ./cli/app/deploy.go:93 ./cli/app/undeploy.go:57 ./cli/app/upgrade.go:435
#, c-format
msgid "checking whether %s is already deployed"
msgstr ""
@ -2199,7 +2198,7 @@ msgstr ""
msgid "considering %s config(s) for tag update"
msgstr ""
#: ./cli/app/undeploy.go:140 ./cli/server/prune.go:53
#: ./cli/app/undeploy.go:135 ./cli/server/prune.go:53
#, c-format
msgid "containers pruned: %d; space reclaimed: %s"
msgstr ""
@ -2330,7 +2329,7 @@ msgstr ""
msgid "critical errors present in %s config"
msgstr ""
#: ./cli/app/rollback.go:296
#: ./cli/app/rollback.go:291
#, c-format
msgid "current deployment '%s' is not a known version for %s"
msgstr ""
@ -2351,7 +2350,7 @@ msgstr ""
#. no spaces in between
#. translators: `abra recipe diff` aliases. use a comma separated list of aliases
#. with no spaces in between
#: ./cli/app/backup.go:73 ./cli/app/deploy.go:29 ./cli/recipe/diff.go:16 ./cli/updater/updater.go:491
#: ./cli/app/backup.go:73 ./cli/app/deploy.go:28 ./cli/recipe/diff.go:16 ./cli/updater/updater.go:491
msgid "d"
msgstr ""
@ -2370,7 +2369,7 @@ msgid "deleted %s successfully from server"
msgstr ""
#. translators: `app deploy` command
#: ./cli/app/deploy.go:33
#: ./cli/app/deploy.go:32
msgid "deploy <domain> [version] [flags]"
msgstr ""
@ -2386,7 +2385,7 @@ msgstr ""
msgid "deploy labels stanza present"
msgstr ""
#: ./cli/app/deploy.go:414
#: ./cli/app/deploy.go:409
msgid "deploy latest recipe version"
msgstr ""
@ -2488,11 +2487,11 @@ msgstr ""
msgid "dirty: %v, "
msgstr ""
#: ./cli/app/deploy.go:406 ./cli/app/rollback.go:368 ./cli/app/upgrade.go:478
#: ./cli/app/deploy.go:401 ./cli/app/rollback.go:363 ./cli/app/upgrade.go:473
msgid "disable converge logic checks"
msgstr ""
#: ./cli/app/deploy.go:398 ./cli/app/rollback.go:360 ./cli/app/upgrade.go:470
#: ./cli/app/deploy.go:393 ./cli/app/rollback.go:355 ./cli/app/upgrade.go:465
msgid "disable public DNS checks"
msgstr ""
@ -2513,11 +2512,11 @@ msgstr ""
msgid "docker: is the daemon running / your user has docker permissions?"
msgstr ""
#: ./cli/app/new.go:352
#: ./cli/app/new.go:372
msgid "domain"
msgstr ""
#: ./cli/app/new.go:355
#: ./cli/app/new.go:375
msgid "domain name for app"
msgstr ""
@ -2550,7 +2549,7 @@ msgstr ""
msgid "download <domain> [flags]"
msgstr ""
#: ./cli/internal/deploy.go:227
#: ./cli/internal/deploy.go:219
msgid "dry run"
msgstr ""
@ -2637,7 +2636,7 @@ msgstr ""
msgid "ensure \"image: ...\" set on all services"
msgstr ""
#: ./cli/app/deploy.go:113
#: ./cli/app/deploy.go:114
#, c-format
msgid "ensure recipe: %s"
msgstr ""
@ -2730,7 +2729,7 @@ msgstr ""
#. translators: `abra recipe fetch` aliases. use a comma separated list of aliases
#. with no spaces in between
#: ./cli/app/deploy.go:388 ./cli/app/remove.go:163 ./cli/app/rollback.go:350 ./cli/app/secret.go:593 ./cli/app/upgrade.go:460 ./cli/app/volume.go:217 ./cli/recipe/fetch.go:20 ./cli/recipe/fetch.go:138
#: ./cli/app/deploy.go:383 ./cli/app/remove.go:163 ./cli/app/rollback.go:345 ./cli/app/secret.go:593 ./cli/app/upgrade.go:455 ./cli/app/volume.go:217 ./cli/recipe/fetch.go:20 ./cli/recipe/fetch.go:138
msgid "f"
msgstr ""
@ -2966,7 +2965,7 @@ msgstr ""
msgid "for %s read env %s with value: %s from docker service"
msgstr ""
#: ./cli/app/deploy.go:387 ./cli/app/remove.go:162 ./cli/app/rollback.go:349 ./cli/app/upgrade.go:459 ./cli/app/volume.go:216 ./cli/recipe/fetch.go:137
#: ./cli/app/deploy.go:382 ./cli/app/remove.go:162 ./cli/app/rollback.go:344 ./cli/app/upgrade.go:454 ./cli/app/volume.go:216 ./cli/recipe/fetch.go:137
msgid "force"
msgstr ""
@ -3005,12 +3004,12 @@ msgstr ""
msgid "generate all secrets"
msgstr ""
#: ./pkg/secret/secret.go:62 ./pkg/secret/secret.go:80
#: ./pkg/secret/secret.go:67 ./pkg/secret/secret.go:85
#, c-format
msgid "generated %s"
msgstr ""
#: ./pkg/secret/secret.go:268
#: ./pkg/secret/secret.go:278
#, c-format
msgid "generated and stored %v on %s"
msgstr ""
@ -3025,6 +3024,11 @@ msgstr ""
msgid "generated secrets %s shown again, please take note of them %s"
msgstr ""
#: ./cli/app/deploy.go:106
#, c-format
msgid "get deploy version: %s"
msgstr ""
#: ./pkg/app/compose.go:81
#, c-format
msgid "get label '%s'"
@ -3180,11 +3184,11 @@ msgstr ""
msgid "id: %s, "
msgstr ""
#: ./cli/app/backup.go:321 ./cli/app/backup.go:337 ./cli/app/check.go:97 ./cli/app/cmd.go:287 ./cli/app/cp.go:387 ./cli/app/deploy.go:382 ./cli/app/labels.go:145 ./cli/app/new.go:379 ./cli/app/ps.go:215 ./cli/app/restart.go:164 ./cli/app/restore.go:140 ./cli/app/secret.go:571 ./cli/app/secret.go:611 ./cli/app/secret.go:635 ./cli/app/secret.go:643 ./cli/catalogue/catalogue.go:320 ./cli/recipe/lint.go:139 ./cli/updater/updater.go:540
#: ./cli/app/backup.go:321 ./cli/app/backup.go:337 ./cli/app/check.go:97 ./cli/app/cmd.go:287 ./cli/app/cp.go:387 ./cli/app/deploy.go:377 ./cli/app/labels.go:145 ./cli/app/new.go:399 ./cli/app/ps.go:215 ./cli/app/restart.go:164 ./cli/app/restore.go:140 ./cli/app/secret.go:571 ./cli/app/secret.go:611 ./cli/app/secret.go:635 ./cli/app/secret.go:643 ./cli/catalogue/catalogue.go:320 ./cli/recipe/lint.go:139 ./cli/updater/updater.go:540
msgid "ignore uncommitted recipes changes"
msgstr ""
#: ./cli/app/undeploy.go:155 ./cli/server/prune.go:74
#: ./cli/app/undeploy.go:150 ./cli/server/prune.go:74
#, c-format
msgid "images pruned: %d; space reclaimed: %s"
msgstr ""
@ -3373,7 +3377,7 @@ msgstr ""
#. no spaces in between
#. translators: `abra recipe lint` aliases. use a comma separated list of
#. aliases with no spaces in between
#: ./cli/app/cmd.go:261 ./cli/app/deploy.go:412 ./cli/app/logs.go:20 ./cli/recipe/lint.go:17 ./cli/server/add.go:207
#: ./cli/app/cmd.go:261 ./cli/app/deploy.go:407 ./cli/app/logs.go:20 ./cli/recipe/lint.go:17 ./cli/server/add.go:207
msgid "l"
msgstr ""
@ -3382,7 +3386,7 @@ msgstr ""
msgid "labels <domain> [flags]"
msgstr ""
#: ./cli/app/deploy.go:411 ./cli/app/list.go:183
#: ./cli/app/deploy.go:406 ./cli/app/list.go:183
msgid "latest"
msgstr ""
@ -3566,7 +3570,7 @@ msgstr ""
msgid "missing arguments or --all/-a flag"
msgstr ""
#: ./pkg/secret/secret.go:126
#: ./pkg/secret/secret.go:131
#, c-format
msgid "missing version for secret? (%s)"
msgstr ""
@ -3622,7 +3626,7 @@ msgstr ""
msgid "network %q is declared as external, but it is not in the right scope: %q instead of \"swarm\""
msgstr ""
#: ./cli/app/undeploy.go:147 ./cli/server/prune.go:60
#: ./cli/app/undeploy.go:142 ./cli/server/prune.go:60
#, c-format
msgid "networks pruned: %d"
msgstr ""
@ -3729,7 +3733,7 @@ msgstr ""
msgid "no containers matching the %v filter found?"
msgstr ""
#: ./cli/app/new.go:272 ./cli/internal/validate.go:129
#: ./cli/app/new.go:292 ./cli/internal/validate.go:129
msgid "no domain provided"
msgstr ""
@ -3787,7 +3791,7 @@ msgstr ""
msgid "no secrets to remove?"
msgstr ""
#: ./cli/app/new.go:321 ./cli/internal/validate.go:167
#: ./cli/app/new.go:341 ./cli/internal/validate.go:167
msgid "no server provided"
msgstr ""
@ -3845,11 +3849,11 @@ msgstr ""
msgid "no volumes to remove"
msgstr ""
#: ./cli/app/deploy.go:403 ./cli/app/rollback.go:365 ./cli/app/upgrade.go:475
#: ./cli/app/deploy.go:398 ./cli/app/rollback.go:360 ./cli/app/upgrade.go:470
msgid "no-converge-checks"
msgstr ""
#: ./cli/app/deploy.go:395 ./cli/app/rollback.go:357 ./cli/app/upgrade.go:467
#: ./cli/app/deploy.go:390 ./cli/app/rollback.go:352 ./cli/app/upgrade.go:462
msgid "no-domain-checks"
msgstr ""
@ -3861,12 +3865,12 @@ msgstr ""
msgid "no-tty"
msgstr ""
#: ./cli/internal/deploy.go:257
#: ./cli/internal/deploy.go:249
#, c-format
msgid "not enough arguments: %s"
msgstr ""
#: ./pkg/secret/secret.go:119
#: ./pkg/secret/secret.go:124
msgid "not generating app secrets, none enabled in recipe config"
msgstr ""
@ -3914,7 +3918,7 @@ msgstr ""
msgid "only show errors"
msgstr ""
#: ./cli/app/upgrade.go:486
#: ./cli/app/upgrade.go:481
msgid "only show release notes"
msgstr ""
@ -3926,7 +3930,7 @@ msgstr ""
#. with no spaces in between
#. translators: `abra server prune` aliases. use a comma separated list of
#. aliases with no spaces in between
#: ./cli/app/backup.go:295 ./cli/app/new.go:361 ./cli/app/ps.go:29 ./cli/app/secret.go:561 ./cli/app/secret.go:585 ./cli/app/secret.go:625 ./cli/app/undeploy.go:168 ./cli/catalogue/catalogue.go:294 ./cli/recipe/list.go:112 ./cli/recipe/release.go:672 ./cli/server/prune.go:18
#: ./cli/app/backup.go:295 ./cli/app/new.go:381 ./cli/app/ps.go:29 ./cli/app/secret.go:561 ./cli/app/secret.go:585 ./cli/app/secret.go:625 ./cli/app/undeploy.go:163 ./cli/catalogue/catalogue.go:294 ./cli/recipe/list.go:112 ./cli/recipe/release.go:672 ./cli/server/prune.go:18
msgid "p"
msgstr ""
@ -3945,27 +3949,27 @@ msgstr ""
msgid "parsed following command arguments: %s"
msgstr ""
#: ./cli/app/upgrade.go:343
#: ./cli/app/upgrade.go:338
#, c-format
msgid "parsing chosen upgrade version failed: %s"
msgstr ""
#: ./cli/app/upgrade.go:387
#: ./cli/app/upgrade.go:382
#, c-format
msgid "parsing deployed version failed: %s"
msgstr ""
#: ./cli/app/upgrade.go:348
#: ./cli/app/upgrade.go:343
#, c-format
msgid "parsing deployment version failed: %s"
msgstr ""
#: ./cli/app/upgrade.go:354 ./cli/app/upgrade.go:393
#: ./cli/app/upgrade.go:349 ./cli/app/upgrade.go:388
#, c-format
msgid "parsing recipe version failed: %s"
msgstr ""
#: ./cli/app/new.go:360 ./cli/app/secret.go:560 ./cli/app/secret.go:584 ./cli/app/secret.go:624
#: ./cli/app/new.go:380 ./cli/app/secret.go:560 ./cli/app/secret.go:584 ./cli/app/secret.go:624
msgid "pass"
msgstr ""
@ -3985,7 +3989,7 @@ msgstr ""
msgid "pattern"
msgstr ""
#: ./cli/app/deploy.go:390 ./cli/app/remove.go:165 ./cli/app/rollback.go:352 ./cli/app/upgrade.go:462 ./cli/app/volume.go:219
#: ./cli/app/deploy.go:385 ./cli/app/remove.go:165 ./cli/app/rollback.go:347 ./cli/app/upgrade.go:457 ./cli/app/volume.go:219
msgid "perform action without further prompt"
msgstr ""
@ -3994,22 +3998,22 @@ msgstr ""
msgid "please fix your synced label for %s and re-run this command"
msgstr ""
#: ./cli/app/rollback.go:264
#: ./cli/app/rollback.go:259
#, c-format
msgid "please select a downgrade (version: %s):"
msgstr ""
#: ./cli/app/rollback.go:269
#: ./cli/app/rollback.go:264
#, c-format
msgid "please select a downgrade (version: %s, chaos: %s):"
msgstr ""
#: ./cli/app/upgrade.go:310
#: ./cli/app/upgrade.go:305
#, c-format
msgid "please select an upgrade (version: %s):"
msgstr ""
#: ./cli/app/upgrade.go:315
#: ./cli/app/upgrade.go:310
#, c-format
msgid "please select an upgrade (version: %s, chaos: %s):"
msgstr ""
@ -4034,7 +4038,7 @@ msgstr ""
msgid "print machine-readable output"
msgstr ""
#: ./cli/internal/deploy.go:231
#: ./cli/internal/deploy.go:223
msgid "proceed?"
msgstr ""
@ -4048,7 +4052,7 @@ msgstr ""
msgid "proposed images: %v"
msgstr ""
#: ./cli/app/undeploy.go:167
#: ./cli/app/undeploy.go:162
msgid "prune"
msgstr ""
@ -4057,7 +4061,7 @@ msgstr ""
msgid "prune <server> [flags]"
msgstr ""
#: ./cli/app/undeploy.go:170
#: ./cli/app/undeploy.go:165
msgid "prune unused containers, networks, and dangling images"
msgstr ""
@ -4090,7 +4094,7 @@ msgstr ""
#. with no spaces in between
#. translators: `abra recipe` aliases. use a comma separated list of aliases
#. with no spaces in between
#: ./cli/app/backup.go:327 ./cli/app/list.go:303 ./cli/app/move.go:346 ./cli/app/run.go:23 ./cli/app/upgrade.go:484 ./cli/catalogue/catalogue.go:302 ./cli/recipe/recipe.go:12 ./cli/recipe/release.go:640 ./cli/recipe/sync.go:270
#: ./cli/app/backup.go:327 ./cli/app/list.go:303 ./cli/app/move.go:346 ./cli/app/run.go:23 ./cli/app/upgrade.go:479 ./cli/catalogue/catalogue.go:302 ./cli/recipe/recipe.go:12 ./cli/recipe/release.go:640 ./cli/recipe/sync.go:270
msgid "r"
msgstr ""
@ -4206,7 +4210,7 @@ msgstr ""
msgid "release <recipe> [version] [flags]"
msgstr ""
#: ./cli/app/upgrade.go:483
#: ./cli/app/upgrade.go:478
msgid "releasenotes"
msgstr ""
@ -4510,7 +4514,7 @@ msgstr ""
msgid "run command locally"
msgstr ""
#: ./cli/app/deploy.go:269 ./cli/app/upgrade.go:291
#: ./cli/app/deploy.go:255 ./cli/app/upgrade.go:286
#, c-format
msgid "run the following post-deploy commands: %s"
msgstr ""
@ -4520,7 +4524,7 @@ msgstr ""
msgid "running backup %s on %s with exec config %v"
msgstr ""
#: ./cli/internal/deploy.go:287
#: ./cli/internal/deploy.go:279
#, c-format
msgid "running command %s %s within the context of %s_%s"
msgstr ""
@ -4540,7 +4544,7 @@ msgstr ""
msgid "running command: %s"
msgstr ""
#: ./cli/internal/deploy.go:265
#: ./cli/internal/deploy.go:257
#, c-format
msgid "running post-command '%s %s' in container %s"
msgstr ""
@ -4553,7 +4557,7 @@ msgstr ""
#. aliases with no spaces in between
#. translators: `abra server` aliases. use a comma separated list of aliases
#. with no spaces in between
#: ./cli/app/backup.go:198 ./cli/app/backup.go:263 ./cli/app/backup.go:287 ./cli/app/list.go:326 ./cli/app/logs.go:101 ./cli/app/new.go:338 ./cli/app/restore.go:114 ./cli/app/secret.go:535 ./cli/catalogue/catalogue.go:27 ./cli/catalogue/catalogue.go:310 ./cli/recipe/fetch.go:130 ./cli/recipe/sync.go:24 ./cli/server/server.go:12
#: ./cli/app/backup.go:198 ./cli/app/backup.go:263 ./cli/app/backup.go:287 ./cli/app/list.go:326 ./cli/app/logs.go:101 ./cli/app/new.go:358 ./cli/app/restore.go:114 ./cli/app/secret.go:535 ./cli/catalogue/catalogue.go:27 ./cli/catalogue/catalogue.go:310 ./cli/recipe/fetch.go:130 ./cli/recipe/sync.go:24 ./cli/server/server.go:12
msgid "s"
msgstr ""
@ -4571,7 +4575,7 @@ msgstr ""
msgid "searching abra.sh for version for %s"
msgstr ""
#: ./pkg/secret/secret.go:139
#: ./pkg/secret/secret.go:149
#, c-format
msgid "secret %s is > %d chars when combined with %s"
msgstr ""
@ -4600,22 +4604,27 @@ msgstr ""
msgid "secret not generated: %s"
msgstr ""
#: ./cli/app/deploy.go:322
#, c-format
msgid "secret not inserted (#generate=false): %s"
msgstr ""
#: ./cli/app/remove.go:123
#, c-format
msgid "secret: %s removed"
msgstr ""
#: ./cli/app/backup.go:302 ./cli/app/new.go:368
#: ./cli/app/backup.go:302 ./cli/app/new.go:388
msgid "secrets"
msgstr ""
#: ./cli/app/new.go:208
#: ./cli/app/new.go:228
#, c-format
msgid "secrets are %s shown again, please save them %s"
msgstr ""
#. translators: `abra server` command for autocompletion
#: ./cli/app/list.go:325 ./cli/app/list.go:332 ./cli/app/new.go:337 ./cli/app/new.go:344 ./cli/run.go:101
#: ./cli/app/list.go:325 ./cli/app/list.go:332 ./cli/app/new.go:357 ./cli/app/new.go:364 ./cli/run.go:101
msgid "server"
msgstr ""
@ -4715,7 +4724,7 @@ msgstr ""
msgid "severity"
msgstr ""
#: ./cli/app/deploy.go:422 ./cli/app/rollback.go:376 ./cli/app/upgrade.go:494
#: ./cli/app/deploy.go:417 ./cli/app/rollback.go:371 ./cli/app/upgrade.go:489
msgid "show all configs & images, including unchanged ones"
msgstr ""
@ -4739,7 +4748,7 @@ msgstr ""
msgid "show debug messages"
msgstr ""
#: ./cli/app/deploy.go:419 ./cli/app/rollback.go:373 ./cli/app/upgrade.go:491
#: ./cli/app/deploy.go:414 ./cli/app/rollback.go:368 ./cli/app/upgrade.go:486
msgid "show-unchanged"
msgstr ""
@ -4747,7 +4756,7 @@ msgstr ""
msgid "since"
msgstr ""
#: ./cli/app/new.go:306
#: ./cli/app/new.go:326
#, c-format
msgid "single server detected, choosing %s automatically"
msgstr ""
@ -4787,15 +4796,15 @@ msgstr ""
msgid "skipping converge logic checks"
msgstr ""
#: ./cli/app/deploy.go:197
#: ./cli/app/deploy.go:186
msgid "skipping domain checks"
msgstr ""
#: ./cli/app/deploy.go:194
#: ./cli/app/deploy.go:183
msgid "skipping domain checks, no DOMAIN=... configured"
msgstr ""
#: ./pkg/secret/secret.go:207
#: ./pkg/secret/secret.go:217
#, c-format
msgid "skipping generation of %s (generate=false)"
msgstr ""
@ -4827,7 +4836,7 @@ msgstr ""
msgid "specify secret value"
msgstr ""
#: ./cli/app/new.go:340
#: ./cli/app/new.go:360
msgid "specify server for new app"
msgstr ""
@ -4885,7 +4894,7 @@ msgstr ""
msgid "store generated secrets in a local pass store"
msgstr ""
#: ./cli/app/new.go:363
#: ./cli/app/new.go:383
msgid "store secrets in a local pass store"
msgstr ""
@ -5040,7 +5049,7 @@ msgstr ""
msgid "trim input"
msgstr ""
#: ./cli/app/new.go:233 ./pkg/app/app.go:141
#: ./cli/app/new.go:253 ./pkg/app/app.go:141
#, c-format
msgid "trimming %s to %s to avoid runtime limits"
msgstr ""
@ -5313,7 +5322,7 @@ msgstr ""
msgid "undeploy <domain> [flags]"
msgstr ""
#: ./cli/app/undeploy.go:116
#: ./cli/app/undeploy.go:111
msgid "undeploy succeeded 🟢"
msgstr ""
@ -5512,7 +5521,7 @@ msgstr ""
msgid "version %s saved to %s.env"
msgstr ""
#: ./cli/app/deploy.go:116
#: ./cli/app/deploy.go:117
#, c-format
msgid "version '%s' appears to be a chaos commit, but --chaos/-C was not provided"
msgstr ""
@ -5536,22 +5545,27 @@ msgstr ""
msgid "version wiped from %s.env"
msgstr ""
#: ./cli/app/deploy.go:351
#, c-format
msgid "version: can not redeploy chaos version %s"
msgstr ""
#: ./cli/app/deploy.go:338
#, c-format
msgid "version: taking chaos version: %s"
msgstr ""
#: ./cli/app/deploy.go:364
#: ./cli/app/deploy.go:359
#, c-format
msgid "version: taking deployed version: %s"
msgstr ""
#: ./cli/app/deploy.go:369
#: ./cli/app/deploy.go:364
#, c-format
msgid "version: taking new recipe version: %s"
msgstr ""
#: ./cli/app/deploy.go:358
#: ./cli/app/deploy.go:353
#, c-format
msgid "version: taking version from .env file: %s"
msgstr ""
@ -5679,7 +5693,7 @@ msgstr ""
msgid "writer: %v, "
msgstr ""
#: ./cli/app/deploy.go:276 ./cli/app/new.go:221 ./cli/app/rollback.go:253 ./cli/app/undeploy.go:119 ./cli/app/upgrade.go:299
#: ./cli/app/deploy.go:262 ./cli/app/new.go:241 ./cli/app/rollback.go:248 ./cli/app/undeploy.go:114 ./cli/app/upgrade.go:294
#, c-format
msgid "writing recipe version failed: %s"
msgstr ""

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: EMAIL\n"
"POT-Creation-Date: 2025-09-29 19:58+0200\n"
"POT-Creation-Date: 2025-09-29 10:31+0200\n"
"PO-Revision-Date: 2025-09-04 08:14+0000\n"
"Last-Translator: chasqui <chasqui@cryptolab.net>\n"
"Language-Team: Spanish <https://translate.coopcloud.tech/projects/co-op-"
@ -119,7 +119,7 @@ msgid ""
" abra app run 1312.net app --user nobody -- ls -lha"
msgstr ""
#: cli/app/deploy.go:42
#: cli/app/deploy.go:41
msgid ""
" # standard deployment\n"
" abra app deploy 1312.net\n"
@ -211,7 +211,7 @@ msgstr ""
msgid "%s OVERVIEW"
msgstr ""
#: cli/server/add.go:127 pkg/secret/secret.go:223 pkg/secret/secret.go:243
#: cli/server/add.go:127 pkg/secret/secret.go:233 pkg/secret/secret.go:253
#: pkg/server/server.go:21
#, c-format
msgid "%s already exists"
@ -237,7 +237,7 @@ msgstr ""
msgid "%s does not exist for %s, use /bin/sh as fallback"
msgstr ""
#: cli/app/cmd.go:114 cli/internal/deploy.go:249
#: cli/app/cmd.go:114 cli/internal/deploy.go:241
#, c-format
msgid "%s does not exist for %s?"
msgstr ""
@ -309,7 +309,7 @@ msgstr ""
msgid "%s has no published versions?"
msgstr ""
#: cli/app/new.go:281
#: cli/app/new.go:301
#, c-format
msgid "%s has no secrets to generate, skipping..."
msgstr ""
@ -324,7 +324,7 @@ msgstr ""
msgid "%s inserted into pass store"
msgstr ""
#: cli/app/deploy.go:102
#: cli/app/deploy.go:101
#, c-format
msgid "%s is already deployed"
msgstr ""
@ -349,18 +349,18 @@ msgstr ""
msgid "%s is missing the TYPE env var?"
msgstr ""
#: cli/app/rollback.go:306 cli/app/rollback.go:310
#: cli/app/rollback.go:301 cli/app/rollback.go:305
#, c-format
msgid "%s is not a downgrade for %s?"
msgstr ""
#: cli/app/upgrade.go:427 cli/app/upgrade.go:431
#: cli/app/upgrade.go:422 cli/app/upgrade.go:426
#, c-format
msgid "%s is not an upgrade for %s?"
msgstr ""
#: cli/app/logs.go:65 cli/app/ps.go:62 cli/app/restart.go:100
#: cli/app/services.go:55 cli/app/undeploy.go:65 cli/app/upgrade.go:448
#: cli/app/services.go:55 cli/app/undeploy.go:65 cli/app/upgrade.go:443
#: cli/updater/updater.go:260
#, c-format
msgid "%s is not deployed?"
@ -376,7 +376,7 @@ msgstr ""
msgid "%s is still deployed. Run \"abra app undeploy %s\""
msgstr ""
#: cli/app/deploy.go:183 cli/app/upgrade.go:209
#: cli/app/deploy.go:172 cli/app/upgrade.go:209
#, c-format
msgid "%s missing from %s.env"
msgstr ""
@ -391,7 +391,7 @@ msgstr ""
msgid "%s not considered semver-like"
msgstr ""
#: pkg/secret/secret.go:130
#: pkg/secret/secret.go:135
#, c-format
msgid "%s not enabled in recipe config, skipping"
msgstr ""
@ -411,11 +411,16 @@ msgstr ""
msgid "%s removed from pass store"
msgstr ""
#: cli/app/new.go:195
#: cli/app/new.go:210
#, c-format
msgid ""
"%s requires secret generation before deploying, run \"abra app secret "
"generate %s --all\""
"%s requires secret generation before deploy, run \"abra app secret generate "
"%s --all\""
msgstr ""
#: cli/app/new.go:214
#, c-format
msgid "%s requires secret insertion before deploy (#generate=false)"
msgstr ""
#: cli/app/new.go:141
@ -543,12 +548,12 @@ msgstr ""
msgid "%s: waiting %d seconds before next retry"
msgstr ""
#: cli/app/upgrade.go:422
#: cli/app/upgrade.go:417
#, c-format
msgid "'%s' is not a known version"
msgstr ""
#: cli/app/rollback.go:301 cli/app/upgrade.go:417
#: cli/app/rollback.go:296 cli/app/upgrade.go:412
#, c-format
msgid "'%s' is not a known version for %s"
msgstr ""
@ -630,8 +635,8 @@ msgid "Both local recipe and live deployment labels are shown."
msgstr ""
#: cli/app/backup.go:319 cli/app/backup.go:335 cli/app/check.go:95
#: cli/app/cmd.go:285 cli/app/cp.go:385 cli/app/deploy.go:380
#: cli/app/labels.go:143 cli/app/new.go:377 cli/app/ps.go:213
#: cli/app/cmd.go:285 cli/app/cp.go:385 cli/app/deploy.go:375
#: cli/app/labels.go:143 cli/app/new.go:397 cli/app/ps.go:213
#: cli/app/restart.go:162 cli/app/restore.go:138 cli/app/secret.go:569
#: cli/app/secret.go:609 cli/app/secret.go:633 cli/app/secret.go:641
#: cli/catalogue/catalogue.go:318 cli/recipe/lint.go:137
@ -643,7 +648,7 @@ msgstr ""
msgid "CHAOS"
msgstr ""
#: cli/internal/deploy.go:148
#: cli/internal/deploy.go:147
msgid "CHAOS DEPLOY"
msgstr ""
@ -801,12 +806,12 @@ msgid ""
"on your $PATH."
msgstr ""
#: cli/app/deploy.go:396 cli/app/new.go:353 cli/app/rollback.go:358
#: cli/app/upgrade.go:468
#: cli/app/deploy.go:391 cli/app/new.go:373 cli/app/rollback.go:353
#: cli/app/upgrade.go:463
msgid "D"
msgstr ""
#: cli/internal/deploy.go:165 cli/internal/deploy.go:170
#: cli/internal/deploy.go:160 cli/internal/deploy.go:164
msgid "DEPLOY"
msgstr ""
@ -814,20 +819,20 @@ msgstr ""
msgid "DEPLOYED LABELS"
msgstr ""
#: cli/app/list.go:222 cli/internal/deploy.go:78 cli/internal/deploy.go:208
#: cli/app/list.go:222 cli/internal/deploy.go:78 cli/internal/deploy.go:200
msgid "DOMAIN"
msgstr ""
#: cli/internal/deploy.go:177
#: cli/internal/deploy.go:169
msgid "DOWNGRADE"
msgstr ""
#. translators: Short description for `app deploy` command
#: cli/app/deploy.go:36
#: cli/app/deploy.go:35
msgid "Deploy an app"
msgstr "📤 Despliega una plataforma 🚀"
#: cli/app/deploy.go:37
#: cli/app/deploy.go:36
msgid ""
"Deploy an app.\n"
"\n"
@ -927,7 +932,7 @@ msgid ""
"Use \"--status/-S\" flag to query all servers for the live deployment status."
msgstr ""
#: cli/app/new.go:287
#: cli/app/new.go:307
msgid "Generate app secrets?"
msgstr ""
@ -1058,7 +1063,7 @@ msgstr "📋 Listar los contenidos de una captura o instantánea 📸"
msgid "List volumes associated with an app"
msgstr "📋 Listar volúmenes 📦 asociados a una plataforma 🚀"
#: cli/internal/deploy.go:216
#: cli/internal/deploy.go:208
msgid "MOVE OVERVIEW"
msgstr ""
@ -1136,7 +1141,7 @@ msgstr ""
msgid "NAME"
msgstr ""
#: cli/internal/deploy.go:160
#: cli/internal/deploy.go:156
msgid "NEW DEPLOY"
msgstr ""
@ -1144,7 +1149,7 @@ msgstr ""
msgid "NEW DEPLOYMENT"
msgstr ""
#: cli/internal/deploy.go:211
#: cli/internal/deploy.go:203
msgid "NEW SERVER"
msgstr ""
@ -1165,7 +1170,7 @@ msgid ""
"Use \"--major/-m\" to include new major versions."
msgstr ""
#: cli/internal/deploy.go:210
#: cli/internal/deploy.go:202
msgid "OLD SERVER"
msgstr ""
@ -1195,7 +1200,7 @@ msgstr ""
msgid "README.md metadata filled in"
msgstr ""
#: cli/app/list.go:222 cli/internal/deploy.go:79 cli/internal/deploy.go:209
#: cli/app/list.go:222 cli/internal/deploy.go:79 cli/internal/deploy.go:201
msgid "RECIPE"
msgstr ""
@ -1331,15 +1336,15 @@ msgid "Run app commands"
msgstr "💻 Ejecutar comandos en una plataforma 🚀"
#: cli/app/backup.go:303 cli/app/list.go:295 cli/app/logs.go:109
#: cli/app/new.go:369
#: cli/app/new.go:389
msgid "S"
msgstr ""
#: cli/internal/deploy.go:99 cli/internal/deploy.go:212
#: cli/internal/deploy.go:99 cli/internal/deploy.go:204
msgid "SECRETS"
msgstr ""
#: cli/app/new.go:204
#: cli/app/new.go:224
msgid "SECRETS OVERVIEW"
msgstr ""
@ -1373,7 +1378,7 @@ msgstr ""
msgid "STATUS"
msgstr ""
#: cli/app/new.go:312
#: cli/app/new.go:332
msgid "Select app server:"
msgstr ""
@ -1412,7 +1417,7 @@ msgstr ""
msgid "Specify a server name"
msgstr ""
#: cli/app/new.go:263
#: cli/app/new.go:283
msgid "Specify app domain"
msgstr ""
@ -1468,7 +1473,8 @@ msgid ""
"Arbitrary secret insertion is not supported. Secrets that are inserted must\n"
"match those configured in the recipe beforehand.\n"
"\n"
"This can be useful when you want to manually generate secrets for an app\n"
"This command can be useful when you want to manually generate secrets for an "
"app\n"
"environment. Typically, you can let Abra generate them for you on app "
"creation\n"
"(see \"abra app new --secrets/-S\" for more)."
@ -1569,11 +1575,11 @@ msgid ""
" # and source this file from your PowerShell profile."
msgstr ""
#: cli/app/deploy.go:420 cli/app/rollback.go:374 cli/app/upgrade.go:492
#: cli/app/deploy.go:415 cli/app/rollback.go:369 cli/app/upgrade.go:487
msgid "U"
msgstr ""
#: cli/internal/deploy.go:152
#: cli/internal/deploy.go:150
msgid "UNCHAOS DEPLOY"
msgstr ""
@ -1581,7 +1587,7 @@ msgstr ""
msgid "UNDEPLOY"
msgstr ""
#: cli/app/list.go:228 cli/internal/deploy.go:174
#: cli/app/list.go:228 cli/internal/deploy.go:167
msgid "UPGRADE"
msgstr ""
@ -1734,7 +1740,7 @@ msgstr ""
msgid "VERSION"
msgstr ""
#: cli/internal/deploy.go:213
#: cli/internal/deploy.go:205
msgid "VOLUMES"
msgstr ""
@ -1960,7 +1966,7 @@ msgstr ""
msgid "attempting to create client for %s"
msgstr ""
#: pkg/secret/secret.go:212
#: pkg/secret/secret.go:222
#, c-format
msgid "attempting to generate and store %s on %s"
msgstr ""
@ -1970,7 +1976,7 @@ msgstr ""
msgid "attempting to run %s"
msgstr ""
#: cli/app/deploy.go:271 cli/app/upgrade.go:294
#: cli/app/deploy.go:257 cli/app/upgrade.go:289
#, c-format
msgid "attempting to run post deploy commands, saw: %s"
msgstr ""
@ -1995,7 +2001,7 @@ msgstr ""
msgid "autocomplete [bash|zsh|fish|powershell]"
msgstr "autocompletar [bash|zsh|fish|powershell]"
#: cli/app/deploy.go:65 cli/app/logs.go:39 cli/app/rollback.go:64
#: cli/app/deploy.go:64 cli/app/logs.go:39 cli/app/rollback.go:64
#: cli/app/secret.go:49 cli/app/secret.go:191 cli/app/secret.go:360
#: cli/app/upgrade.go:63 pkg/autocomplete/autocomplete.go:18
#: pkg/autocomplete/autocomplete.go:33 pkg/autocomplete/autocomplete.go:44
@ -2006,7 +2012,7 @@ msgstr "autocompletar [bash|zsh|fish|powershell]"
msgid "autocomplete failed: %s"
msgstr ""
#: cli/app/new.go:371
#: cli/app/new.go:391
msgid "automatically generate secrets"
msgstr ""
@ -2066,8 +2072,8 @@ msgstr ""
#. no spaces in between
#. translators: `abra app cp` aliases. use a comma separated list of aliases with
#. no spaces in between
#: cli/app/backup.go:148 cli/app/cp.go:30 cli/app/deploy.go:404
#: cli/app/rollback.go:366 cli/app/upgrade.go:476
#: cli/app/backup.go:148 cli/app/cp.go:30 cli/app/deploy.go:399
#: cli/app/rollback.go:361 cli/app/upgrade.go:471
msgid "c"
msgstr ""
@ -2075,6 +2081,11 @@ msgstr ""
msgid "can not insert from file and read from stdin"
msgstr ""
#: pkg/recipe/git.go:52
#, c-format
msgid "can not redeploy chaos version (%s) without --chaos"
msgstr ""
#: cli/recipe/upgrade.go:324
#, c-format
msgid "can upgrade service: %s, image: %s, tag: %s ::"
@ -2099,7 +2110,7 @@ msgstr ""
msgid "can't separate key from value: %s (this variable is probably unset)"
msgstr ""
#: cli/internal/deploy.go:237
#: cli/internal/deploy.go:229
msgid "cancelled"
msgstr ""
@ -2123,21 +2134,6 @@ msgstr ""
msgid "cannot parse %s, invalid tag specified?"
msgstr ""
#: pkg/recipe/git.go:52
#, c-format
msgid ""
"cannot redeploy previous chaos version (%s), did you mean to use \"--chaos\"?"
msgstr ""
#: cli/app/deploy.go:354
#, c-format
msgid ""
"cannot redeploy previous chaos version (%s), did you mean to use \"--"
"chaos\"?\n"
" to return to a regular release, specify a release tag, commit SHA or "
"use \"--latest\""
msgstr ""
#: pkg/dns/dns.go:38 pkg/dns/dns.go:47
#, c-format
msgid "cannot resolve ipv4 for %s?"
@ -2151,7 +2147,7 @@ msgstr ""
msgid "cannot use '[secret] [version]' and '--all' together"
msgstr ""
#: cli/app/deploy.go:310
#: cli/app/deploy.go:296
msgid "cannot use --chaos and --latest together"
msgstr ""
@ -2175,11 +2171,11 @@ msgstr ""
msgid "cannot use [service] and --all-services/-a together"
msgstr ""
#: cli/app/deploy.go:302 cli/app/new.go:76
#: cli/app/deploy.go:288 cli/app/new.go:76
msgid "cannot use [version] and --chaos together"
msgstr ""
#: cli/app/deploy.go:306
#: cli/app/deploy.go:292
msgid "cannot use [version] and --latest together"
msgstr ""
@ -2212,8 +2208,8 @@ msgid "cfg"
msgstr ""
#: cli/app/backup.go:318 cli/app/backup.go:334 cli/app/check.go:94
#: cli/app/cmd.go:284 cli/app/cp.go:384 cli/app/deploy.go:379
#: cli/app/labels.go:142 cli/app/new.go:376 cli/app/ps.go:212
#: cli/app/cmd.go:284 cli/app/cp.go:384 cli/app/deploy.go:374
#: cli/app/labels.go:142 cli/app/new.go:396 cli/app/ps.go:212
#: cli/app/restart.go:161 cli/app/restore.go:137 cli/app/secret.go:568
#: cli/app/secret.go:608 cli/app/secret.go:632 cli/app/secret.go:640
#: cli/catalogue/catalogue.go:317 cli/recipe/lint.go:136
@ -2230,7 +2226,7 @@ msgstr "verificar <domain> [flags]"
msgid "check for major updates"
msgstr ""
#: cli/app/deploy.go:94 cli/app/undeploy.go:57 cli/app/upgrade.go:440
#: cli/app/deploy.go:93 cli/app/undeploy.go:57 cli/app/upgrade.go:435
#, c-format
msgid "checking whether %s is already deployed"
msgstr ""
@ -2387,7 +2383,7 @@ msgstr ""
msgid "considering %s config(s) for tag update"
msgstr ""
#: cli/app/undeploy.go:140 cli/server/prune.go:53
#: cli/app/undeploy.go:135 cli/server/prune.go:53
#, c-format
msgid "containers pruned: %d; space reclaimed: %s"
msgstr ""
@ -2518,7 +2514,7 @@ msgstr ""
msgid "critical errors present in %s config"
msgstr ""
#: cli/app/rollback.go:296
#: cli/app/rollback.go:291
#, c-format
msgid "current deployment '%s' is not a known version for %s"
msgstr ""
@ -2539,7 +2535,7 @@ msgstr ""
#. no spaces in between
#. translators: `abra recipe diff` aliases. use a comma separated list of aliases
#. with no spaces in between
#: cli/app/backup.go:73 cli/app/deploy.go:29 cli/recipe/diff.go:16
#: cli/app/backup.go:73 cli/app/deploy.go:28 cli/recipe/diff.go:16
#: cli/updater/updater.go:491
msgid "d"
msgstr ""
@ -2559,7 +2555,7 @@ msgid "deleted %s successfully from server"
msgstr ""
#. translators: `app deploy` command
#: cli/app/deploy.go:33
#: cli/app/deploy.go:32
msgid "deploy <domain> [version] [flags]"
msgstr "desplegar <domain> [version] [flags]"
@ -2575,7 +2571,7 @@ msgstr ""
msgid "deploy labels stanza present"
msgstr ""
#: cli/app/deploy.go:414
#: cli/app/deploy.go:409
#, fuzzy
msgid "deploy latest recipe version"
msgstr "Publicar una nueva versión de una receta"
@ -2678,11 +2674,11 @@ msgstr ""
msgid "dirty: %v, "
msgstr ""
#: cli/app/deploy.go:406 cli/app/rollback.go:368 cli/app/upgrade.go:478
#: cli/app/deploy.go:401 cli/app/rollback.go:363 cli/app/upgrade.go:473
msgid "disable converge logic checks"
msgstr ""
#: cli/app/deploy.go:398 cli/app/rollback.go:360 cli/app/upgrade.go:470
#: cli/app/deploy.go:393 cli/app/rollback.go:355 cli/app/upgrade.go:465
msgid "disable public DNS checks"
msgstr ""
@ -2703,11 +2699,11 @@ msgstr ""
msgid "docker: is the daemon running / your user has docker permissions?"
msgstr ""
#: cli/app/new.go:352
#: cli/app/new.go:372
msgid "domain"
msgstr ""
#: cli/app/new.go:355
#: cli/app/new.go:375
msgid "domain name for app"
msgstr ""
@ -2742,7 +2738,7 @@ msgstr ""
msgid "download <domain> [flags]"
msgstr "descargar <domain> [flags]"
#: cli/internal/deploy.go:227
#: cli/internal/deploy.go:219
msgid "dry run"
msgstr ""
@ -2830,7 +2826,7 @@ msgstr ""
msgid "ensure \"image: ...\" set on all services"
msgstr ""
#: cli/app/deploy.go:113
#: cli/app/deploy.go:114
#, c-format
msgid "ensure recipe: %s"
msgstr ""
@ -2927,8 +2923,8 @@ msgstr ""
#. translators: `abra recipe fetch` aliases. use a comma separated list of aliases
#. with no spaces in between
#: cli/app/deploy.go:388 cli/app/remove.go:163 cli/app/rollback.go:350
#: cli/app/secret.go:593 cli/app/upgrade.go:460 cli/app/volume.go:217
#: cli/app/deploy.go:383 cli/app/remove.go:163 cli/app/rollback.go:345
#: cli/app/secret.go:593 cli/app/upgrade.go:455 cli/app/volume.go:217
#: cli/recipe/fetch.go:20 cli/recipe/fetch.go:138
msgid "f"
msgstr ""
@ -3165,8 +3161,8 @@ msgstr ""
msgid "for %s read env %s with value: %s from docker service"
msgstr ""
#: cli/app/deploy.go:387 cli/app/remove.go:162 cli/app/rollback.go:349
#: cli/app/upgrade.go:459 cli/app/volume.go:216 cli/recipe/fetch.go:137
#: cli/app/deploy.go:382 cli/app/remove.go:162 cli/app/rollback.go:344
#: cli/app/upgrade.go:454 cli/app/volume.go:216 cli/recipe/fetch.go:137
msgid "force"
msgstr ""
@ -3205,12 +3201,12 @@ msgstr "regenerar [recipe] [flags]"
msgid "generate all secrets"
msgstr ""
#: pkg/secret/secret.go:62 pkg/secret/secret.go:80
#: pkg/secret/secret.go:67 pkg/secret/secret.go:85
#, c-format
msgid "generated %s"
msgstr ""
#: pkg/secret/secret.go:268
#: pkg/secret/secret.go:278
#, c-format
msgid "generated and stored %v on %s"
msgstr ""
@ -3225,6 +3221,11 @@ msgstr ""
msgid "generated secrets %s shown again, please take note of them %s"
msgstr ""
#: cli/app/deploy.go:106
#, c-format
msgid "get deploy version: %s"
msgstr ""
#: pkg/app/compose.go:81
#, c-format
msgid "get label '%s'"
@ -3382,8 +3383,8 @@ msgid "id: %s, "
msgstr ""
#: cli/app/backup.go:321 cli/app/backup.go:337 cli/app/check.go:97
#: cli/app/cmd.go:287 cli/app/cp.go:387 cli/app/deploy.go:382
#: cli/app/labels.go:145 cli/app/new.go:379 cli/app/ps.go:215
#: cli/app/cmd.go:287 cli/app/cp.go:387 cli/app/deploy.go:377
#: cli/app/labels.go:145 cli/app/new.go:399 cli/app/ps.go:215
#: cli/app/restart.go:164 cli/app/restore.go:140 cli/app/secret.go:571
#: cli/app/secret.go:611 cli/app/secret.go:635 cli/app/secret.go:643
#: cli/catalogue/catalogue.go:320 cli/recipe/lint.go:139
@ -3391,7 +3392,7 @@ msgstr ""
msgid "ignore uncommitted recipes changes"
msgstr ""
#: cli/app/undeploy.go:155 cli/server/prune.go:74
#: cli/app/undeploy.go:150 cli/server/prune.go:74
#, c-format
msgid "images pruned: %d; space reclaimed: %s"
msgstr ""
@ -3582,7 +3583,7 @@ msgstr ""
#. no spaces in between
#. translators: `abra recipe lint` aliases. use a comma separated list of
#. aliases with no spaces in between
#: cli/app/cmd.go:261 cli/app/deploy.go:412 cli/app/logs.go:20
#: cli/app/cmd.go:261 cli/app/deploy.go:407 cli/app/logs.go:20
#: cli/recipe/lint.go:17 cli/server/add.go:207
msgid "l"
msgstr ""
@ -3592,7 +3593,7 @@ msgstr ""
msgid "labels <domain> [flags]"
msgstr "etiquetas <domain> [flags]"
#: cli/app/deploy.go:411 cli/app/list.go:183
#: cli/app/deploy.go:406 cli/app/list.go:183
msgid "latest"
msgstr ""
@ -3787,7 +3788,7 @@ msgstr ""
msgid "missing arguments or --all/-a flag"
msgstr ""
#: pkg/secret/secret.go:126
#: pkg/secret/secret.go:131
#, c-format
msgid "missing version for secret? (%s)"
msgstr ""
@ -3849,7 +3850,7 @@ msgid ""
"instead of \"swarm\""
msgstr ""
#: cli/app/undeploy.go:147 cli/server/prune.go:60
#: cli/app/undeploy.go:142 cli/server/prune.go:60
#, c-format
msgid "networks pruned: %d"
msgstr ""
@ -3956,7 +3957,7 @@ msgstr ""
msgid "no containers matching the %v filter found?"
msgstr ""
#: cli/app/new.go:272 cli/internal/validate.go:129
#: cli/app/new.go:292 cli/internal/validate.go:129
msgid "no domain provided"
msgstr ""
@ -4016,7 +4017,7 @@ msgstr ""
msgid "no secrets to remove?"
msgstr ""
#: cli/app/new.go:321 cli/internal/validate.go:167
#: cli/app/new.go:341 cli/internal/validate.go:167
msgid "no server provided"
msgstr ""
@ -4076,11 +4077,11 @@ msgstr ""
msgid "no volumes to remove"
msgstr ""
#: cli/app/deploy.go:403 cli/app/rollback.go:365 cli/app/upgrade.go:475
#: cli/app/deploy.go:398 cli/app/rollback.go:360 cli/app/upgrade.go:470
msgid "no-converge-checks"
msgstr ""
#: cli/app/deploy.go:395 cli/app/rollback.go:357 cli/app/upgrade.go:467
#: cli/app/deploy.go:390 cli/app/rollback.go:352 cli/app/upgrade.go:462
msgid "no-domain-checks"
msgstr ""
@ -4092,12 +4093,12 @@ msgstr ""
msgid "no-tty"
msgstr ""
#: cli/internal/deploy.go:257
#: cli/internal/deploy.go:249
#, c-format
msgid "not enough arguments: %s"
msgstr ""
#: pkg/secret/secret.go:119
#: pkg/secret/secret.go:124
msgid "not generating app secrets, none enabled in recipe config"
msgstr ""
@ -4147,7 +4148,7 @@ msgstr ""
msgid "only show errors"
msgstr ""
#: cli/app/upgrade.go:486
#: cli/app/upgrade.go:481
msgid "only show release notes"
msgstr ""
@ -4159,9 +4160,9 @@ msgstr ""
#. with no spaces in between
#. translators: `abra server prune` aliases. use a comma separated list of
#. aliases with no spaces in between
#: cli/app/backup.go:295 cli/app/new.go:361 cli/app/ps.go:29
#: cli/app/backup.go:295 cli/app/new.go:381 cli/app/ps.go:29
#: cli/app/secret.go:561 cli/app/secret.go:585 cli/app/secret.go:625
#: cli/app/undeploy.go:168 cli/catalogue/catalogue.go:294
#: cli/app/undeploy.go:163 cli/catalogue/catalogue.go:294
#: cli/recipe/list.go:112 cli/recipe/release.go:672 cli/server/prune.go:18
msgid "p"
msgstr ""
@ -4181,27 +4182,27 @@ msgstr ""
msgid "parsed following command arguments: %s"
msgstr ""
#: cli/app/upgrade.go:343
#: cli/app/upgrade.go:338
#, c-format
msgid "parsing chosen upgrade version failed: %s"
msgstr ""
#: cli/app/upgrade.go:387
#: cli/app/upgrade.go:382
#, c-format
msgid "parsing deployed version failed: %s"
msgstr ""
#: cli/app/upgrade.go:348
#: cli/app/upgrade.go:343
#, c-format
msgid "parsing deployment version failed: %s"
msgstr ""
#: cli/app/upgrade.go:354 cli/app/upgrade.go:393
#: cli/app/upgrade.go:349 cli/app/upgrade.go:388
#, c-format
msgid "parsing recipe version failed: %s"
msgstr ""
#: cli/app/new.go:360 cli/app/secret.go:560 cli/app/secret.go:584
#: cli/app/new.go:380 cli/app/secret.go:560 cli/app/secret.go:584
#: cli/app/secret.go:624
msgid "pass"
msgstr ""
@ -4224,8 +4225,8 @@ msgstr ""
msgid "pattern"
msgstr ""
#: cli/app/deploy.go:390 cli/app/remove.go:165 cli/app/rollback.go:352
#: cli/app/upgrade.go:462 cli/app/volume.go:219
#: cli/app/deploy.go:385 cli/app/remove.go:165 cli/app/rollback.go:347
#: cli/app/upgrade.go:457 cli/app/volume.go:219
msgid "perform action without further prompt"
msgstr ""
@ -4234,22 +4235,22 @@ msgstr ""
msgid "please fix your synced label for %s and re-run this command"
msgstr ""
#: cli/app/rollback.go:264
#: cli/app/rollback.go:259
#, c-format
msgid "please select a downgrade (version: %s):"
msgstr ""
#: cli/app/rollback.go:269
#: cli/app/rollback.go:264
#, c-format
msgid "please select a downgrade (version: %s, chaos: %s):"
msgstr ""
#: cli/app/upgrade.go:310
#: cli/app/upgrade.go:305
#, c-format
msgid "please select an upgrade (version: %s):"
msgstr ""
#: cli/app/upgrade.go:315
#: cli/app/upgrade.go:310
#, c-format
msgid "please select an upgrade (version: %s, chaos: %s):"
msgstr ""
@ -4277,7 +4278,7 @@ msgstr ""
msgid "print machine-readable output"
msgstr ""
#: cli/internal/deploy.go:231
#: cli/internal/deploy.go:223
msgid "proceed?"
msgstr ""
@ -4291,7 +4292,7 @@ msgstr ""
msgid "proposed images: %v"
msgstr ""
#: cli/app/undeploy.go:167
#: cli/app/undeploy.go:162
msgid "prune"
msgstr ""
@ -4300,7 +4301,7 @@ msgstr ""
msgid "prune <server> [flags]"
msgstr "limpiar <server> [flags]"
#: cli/app/undeploy.go:170
#: cli/app/undeploy.go:165
msgid "prune unused containers, networks, and dangling images"
msgstr ""
@ -4334,7 +4335,7 @@ msgstr ""
#. translators: `abra recipe` aliases. use a comma separated list of aliases
#. with no spaces in between
#: cli/app/backup.go:327 cli/app/list.go:303 cli/app/move.go:346
#: cli/app/run.go:23 cli/app/upgrade.go:484 cli/catalogue/catalogue.go:302
#: cli/app/run.go:23 cli/app/upgrade.go:479 cli/catalogue/catalogue.go:302
#: cli/recipe/recipe.go:12 cli/recipe/release.go:640 cli/recipe/sync.go:270
msgid "r"
msgstr ""
@ -4453,7 +4454,7 @@ msgstr ""
msgid "release <recipe> [version] [flags]"
msgstr "publicar <recipe> [version] [flags]"
#: cli/app/upgrade.go:483
#: cli/app/upgrade.go:478
msgid "releasenotes"
msgstr ""
@ -4759,7 +4760,7 @@ msgstr ""
msgid "run command locally"
msgstr ""
#: cli/app/deploy.go:269 cli/app/upgrade.go:291
#: cli/app/deploy.go:255 cli/app/upgrade.go:286
#, c-format
msgid "run the following post-deploy commands: %s"
msgstr ""
@ -4769,7 +4770,7 @@ msgstr ""
msgid "running backup %s on %s with exec config %v"
msgstr ""
#: cli/internal/deploy.go:287
#: cli/internal/deploy.go:279
#, c-format
msgid "running command %s %s within the context of %s_%s"
msgstr ""
@ -4789,7 +4790,7 @@ msgstr ""
msgid "running command: %s"
msgstr ""
#: cli/internal/deploy.go:265
#: cli/internal/deploy.go:257
#, c-format
msgid "running post-command '%s %s' in container %s"
msgstr ""
@ -4803,7 +4804,7 @@ msgstr ""
#. translators: `abra server` aliases. use a comma separated list of aliases
#. with no spaces in between
#: cli/app/backup.go:198 cli/app/backup.go:263 cli/app/backup.go:287
#: cli/app/list.go:326 cli/app/logs.go:101 cli/app/new.go:338
#: cli/app/list.go:326 cli/app/logs.go:101 cli/app/new.go:358
#: cli/app/restore.go:114 cli/app/secret.go:535 cli/catalogue/catalogue.go:27
#: cli/catalogue/catalogue.go:310 cli/recipe/fetch.go:130 cli/recipe/sync.go:24
#: cli/server/server.go:12
@ -4824,7 +4825,7 @@ msgstr ""
msgid "searching abra.sh for version for %s"
msgstr ""
#: pkg/secret/secret.go:139
#: pkg/secret/secret.go:149
#, c-format
msgid "secret %s is > %d chars when combined with %s"
msgstr ""
@ -4853,23 +4854,28 @@ msgstr ""
msgid "secret not generated: %s"
msgstr ""
#: cli/app/deploy.go:322
#, c-format
msgid "secret not inserted (#generate=false): %s"
msgstr ""
#: cli/app/remove.go:123
#, c-format
msgid "secret: %s removed"
msgstr ""
#: cli/app/backup.go:302 cli/app/new.go:368
#: cli/app/backup.go:302 cli/app/new.go:388
msgid "secrets"
msgstr ""
#: cli/app/new.go:208
#: cli/app/new.go:228
#, c-format
msgid "secrets are %s shown again, please save them %s"
msgstr ""
#. translators: `abra server` command for autocompletion
#: cli/app/list.go:325 cli/app/list.go:332 cli/app/new.go:337
#: cli/app/new.go:344 cli/run.go:101
#: cli/app/list.go:325 cli/app/list.go:332 cli/app/new.go:357
#: cli/app/new.go:364 cli/run.go:101
msgid "server"
msgstr ""
@ -4971,7 +4977,7 @@ msgstr ""
msgid "severity"
msgstr ""
#: cli/app/deploy.go:422 cli/app/rollback.go:376 cli/app/upgrade.go:494
#: cli/app/deploy.go:417 cli/app/rollback.go:371 cli/app/upgrade.go:489
msgid "show all configs & images, including unchanged ones"
msgstr ""
@ -4995,7 +5001,7 @@ msgstr ""
msgid "show debug messages"
msgstr ""
#: cli/app/deploy.go:419 cli/app/rollback.go:373 cli/app/upgrade.go:491
#: cli/app/deploy.go:414 cli/app/rollback.go:368 cli/app/upgrade.go:486
msgid "show-unchanged"
msgstr ""
@ -5003,7 +5009,7 @@ msgstr ""
msgid "since"
msgstr ""
#: cli/app/new.go:306
#: cli/app/new.go:326
#, c-format
msgid "single server detected, choosing %s automatically"
msgstr ""
@ -5043,15 +5049,15 @@ msgstr ""
msgid "skipping converge logic checks"
msgstr ""
#: cli/app/deploy.go:197
#: cli/app/deploy.go:186
msgid "skipping domain checks"
msgstr ""
#: cli/app/deploy.go:194
#: cli/app/deploy.go:183
msgid "skipping domain checks, no DOMAIN=... configured"
msgstr ""
#: pkg/secret/secret.go:207
#: pkg/secret/secret.go:217
#, c-format
msgid "skipping generation of %s (generate=false)"
msgstr ""
@ -5083,7 +5089,7 @@ msgstr ""
msgid "specify secret value"
msgstr ""
#: cli/app/new.go:340
#: cli/app/new.go:360
msgid "specify server for new app"
msgstr ""
@ -5143,7 +5149,7 @@ msgstr ""
msgid "store generated secrets in a local pass store"
msgstr ""
#: cli/app/new.go:363
#: cli/app/new.go:383
msgid "store secrets in a local pass store"
msgstr ""
@ -5299,7 +5305,7 @@ msgstr ""
msgid "trim input"
msgstr ""
#: cli/app/new.go:233 pkg/app/app.go:141
#: cli/app/new.go:253 pkg/app/app.go:141
#, c-format
msgid "trimming %s to %s to avoid runtime limits"
msgstr ""
@ -5577,7 +5583,7 @@ msgstr ""
msgid "undeploy <domain> [flags]"
msgstr "desarmar <domain> [flags]"
#: cli/app/undeploy.go:116
#: cli/app/undeploy.go:111
msgid "undeploy succeeded 🟢"
msgstr ""
@ -5781,7 +5787,7 @@ msgstr ""
msgid "version %s saved to %s.env"
msgstr ""
#: cli/app/deploy.go:116
#: cli/app/deploy.go:117
#, c-format
msgid ""
"version '%s' appears to be a chaos commit, but --chaos/-C was not provided"
@ -5806,22 +5812,27 @@ msgstr ""
msgid "version wiped from %s.env"
msgstr ""
#: cli/app/deploy.go:351
#, c-format
msgid "version: can not redeploy chaos version %s"
msgstr ""
#: cli/app/deploy.go:338
#, c-format
msgid "version: taking chaos version: %s"
msgstr ""
#: cli/app/deploy.go:364
#: cli/app/deploy.go:359
#, c-format
msgid "version: taking deployed version: %s"
msgstr ""
#: cli/app/deploy.go:369
#: cli/app/deploy.go:364
#, c-format
msgid "version: taking new recipe version: %s"
msgstr ""
#: cli/app/deploy.go:358
#: cli/app/deploy.go:353
#, c-format
msgid "version: taking version from .env file: %s"
msgstr ""
@ -5952,8 +5963,8 @@ msgstr ""
msgid "writer: %v, "
msgstr ""
#: cli/app/deploy.go:276 cli/app/new.go:221 cli/app/rollback.go:253
#: cli/app/undeploy.go:119 cli/app/upgrade.go:299
#: cli/app/deploy.go:262 cli/app/new.go:241 cli/app/rollback.go:248
#: cli/app/undeploy.go:114 cli/app/upgrade.go:294
#, c-format
msgid "writing recipe version failed: %s"
msgstr ""

View File

@ -49,7 +49,7 @@ func (r Recipe) Ensure(ctx EnsureContext) error {
if r.EnvVersion != "" && !ctx.IgnoreEnvVersion {
log.Debug(i18n.G("ensuring env version %s", r.EnvVersion))
if strings.Contains(r.EnvVersion, "+U") {
return errors.New(i18n.G(`cannot redeploy previous chaos version (%s), did you mean to use "--chaos"?`))
return errors.New(i18n.G("can not redeploy chaos version (%s) without --chaos", r.EnvVersion))
}
if _, err := r.EnsureVersion(r.EnvVersion); err != nil {

View File

@ -50,6 +50,11 @@ type Secret struct {
// Will have this remote name:
// test_example_com_test_pass_two_v2
RemoteName string
// LocalName iis the name of the secret in the recipe config. This is also
// the name that you pass to `abra app secret insert` and is shown on `abra
// app secret list`
LocalName string
}
// GeneratePassword generates passwords.
@ -133,7 +138,12 @@ func ReadSecretsConfig(appEnvPath string, composeFiles []string, stackName strin
lastIdx := strings.LastIndex(secretConfig.Name, "_")
secretVersion := secretConfig.Name[lastIdx+1:]
value := Secret{Version: secretVersion, RemoteName: secretConfig.Name}
value := Secret{
Version: secretVersion,
RemoteName: secretConfig.Name,
LocalName: secretId,
}
if len(value.RemoteName) > config.MAX_DOCKER_SECRET_LENGTH {
return nil, errors.New(i18n.G("secret %s is > %d chars when combined with %s", secretId, config.MAX_DOCKER_SECRET_LENGTH, stackName))

View File

@ -247,7 +247,7 @@ func waitOnTasks(ctx context.Context, client apiclient.APIClient, namespace stri
}
}
if terminalStatesReached >= len(tasks) {
if terminalStatesReached == len(tasks) {
log.Debug(i18n.G("all tasks reached terminal state"))
break
}

View File

@ -175,7 +175,7 @@ teardown(){
}
# bats test_tags=slow
@test "do not bail if env version is a hash but no --chaos" {
@test "bail if env has a hash but no --chaos" {
wantHash=$(_get_n_hash 3)
run git -C "$ABRA_DIR/recipes/$TEST_RECIPE" reset --hard HEAD~3
@ -367,6 +367,21 @@ teardown(){
run $ABRA app deploy "$TEST_APP_DOMAIN" --no-input --no-converge-checks
assert_failure
assert_output --partial "secret not generated"
}
@test "error if secret not inserted" {
run sed -i 's/COMPOSE_FILE="compose.yml"/COMPOSE_FILE="compose.yml:compose.skip_pass.yml"/g' \
"$ABRA_DIR/servers/$TEST_SERVER/$TEST_APP_DOMAIN.env"
assert_success
run sed -i 's/#SECRET_TEST_SKIP_PASS_VERSION=v1/SECRET_TEST_SKIP_PASS_VERSION=v1/g' \
"$ABRA_DIR/servers/$TEST_SERVER/$TEST_APP_DOMAIN.env"
assert_success
run $ABRA app deploy "$TEST_APP_DOMAIN" --no-input --no-converge-checks
assert_failure
assert_output --partial "secret not inserted"
}
# bats test_tags=slow

View File

@ -22,8 +22,15 @@ teardown(){
_reset_recipe
_reset_tags
run rm -rf "$ABRA_DIR/recipes/$TEST_RECIPE/foo"
assert_not_exists "$ABRA_DIR/recipes/$TEST_RECIPE/foo"
if [[ -f "$ABRA_DIR/recipes/$TEST_RECIPE/foo" ]]; then
run rm -rf "$ABRA_DIR/recipes/$TEST_RECIPE/foo"
assert_not_exists "$ABRA_DIR/recipes/$TEST_RECIPE/foo"
fi
if [[ -f "$ABRA_DIR/servers/$TEST_SERVER/rauthy.$TEST_APP_DOMAIN.env" ]]; then
run rm -rf "$ABRA_DIR/servers/$TEST_SERVER/rauthy.$TEST_APP_DOMAIN.env"
assert_not_exists "$ABRA_DIR/servers/$TEST_SERVER/rauthy.$TEST_APP_DOMAIN.env"
fi
}
@test "create new app" {
@ -270,3 +277,32 @@ teardown(){
assert_success
refute_output --partial "requires secret generation"
}
@test "do not warn about generation when generate=false" {
run $ABRA app new --domain "$TEST_APP_DOMAIN" renovate "1.0.1+41-full"
assert_success
refute_output --partial "requires secret generation"
}
@test "warn about insertion when generate=false" {
run $ABRA app new --domain "$TEST_APP_DOMAIN" renovate "1.0.1+41-full"
assert_success
assert_output --partial "requires secret insertion"
}
@test "warn about both insert/generate when generate=false/true" {
run $ABRA app new rauthy "1.0.0+0.32.3" \
--no-input \
--server "$TEST_SERVER" \
--domain "rauthy.$TEST_APP_DOMAIN"
assert_success
assert_exists "$ABRA_DIR/servers/$TEST_SERVER/rauthy.$TEST_APP_DOMAIN.env"
assert_output --partial "requires secret generation"
assert_output --partial "requires secret insertion"
}
@test "no warn about generation if already generated" {
run $ABRA app new "$TEST_RECIPE" --domain "$TEST_APP_DOMAIN" --secrets
assert_success
refute_output --partial "requires secret generation"
}