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
8 changed files with 256 additions and 140 deletions

View File

@ -300,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
@ -307,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))
}
}

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

@ -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

@ -7,7 +7,7 @@
msgid ""
msgstr "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: EMAIL\n"
"POT-Creation-Date: 2025-09-10 21:44+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"
@ -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 ""
@ -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 ""
@ -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
@ -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:361 ./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 ""
@ -748,7 +753,7 @@ msgid "Creates a new app from a default recipe.\n"
"on your $PATH."
msgstr ""
#: ./cli/app/deploy.go:377 ./cli/app/new.go:353 ./cli/app/rollback.go:353 ./cli/app/upgrade.go:463
#: ./cli/app/deploy.go:391 ./cli/app/new.go:373 ./cli/app/rollback.go:353 ./cli/app/upgrade.go:463
msgid "D"
msgstr ""
@ -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 ""
@ -1231,7 +1236,7 @@ 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 ""
@ -1239,7 +1244,7 @@ msgstr ""
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,7 +1456,7 @@ msgid "To load completions:\n"
" # and source this file from your PowerShell profile."
msgstr ""
#: ./cli/app/deploy.go:401 ./cli/app/rollback.go:369 ./cli/app/upgrade.go:487
#: ./cli/app/deploy.go:415 ./cli/app/rollback.go:369 ./cli/app/upgrade.go:487
msgid "U"
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 ""
@ -1835,7 +1840,7 @@ msgstr ""
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:385 ./cli/app/rollback.go:361 ./cli/app/upgrade.go:471
#: ./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 ""
@ -2029,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:360 ./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 ""
@ -2380,7 +2385,7 @@ msgstr ""
msgid "deploy labels stanza present"
msgstr ""
#: ./cli/app/deploy.go:395
#: ./cli/app/deploy.go:409
msgid "deploy latest recipe version"
msgstr ""
@ -2482,11 +2487,11 @@ msgstr ""
msgid "dirty: %v, "
msgstr ""
#: ./cli/app/deploy.go:387 ./cli/app/rollback.go:363 ./cli/app/upgrade.go:473
#: ./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:379 ./cli/app/rollback.go:355 ./cli/app/upgrade.go:465
#: ./cli/app/deploy.go:393 ./cli/app/rollback.go:355 ./cli/app/upgrade.go:465
msgid "disable public DNS checks"
msgstr ""
@ -2507,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 ""
@ -2724,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:369 ./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
#: ./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 ""
@ -2960,7 +2965,7 @@ msgstr ""
msgid "for %s read env %s with value: %s from docker service"
msgstr ""
#: ./cli/app/deploy.go:368 ./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
#: ./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 ""
@ -2999,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 ""
@ -3179,7 +3184,7 @@ 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:363 ./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 ""
@ -3372,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:393 ./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 ""
@ -3381,7 +3386,7 @@ msgstr ""
msgid "labels <domain> [flags]"
msgstr ""
#: ./cli/app/deploy.go:392 ./cli/app/list.go:183
#: ./cli/app/deploy.go:406 ./cli/app/list.go:183
msgid "latest"
msgstr ""
@ -3565,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 ""
@ -3728,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 ""
@ -3786,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 ""
@ -3844,11 +3849,11 @@ msgstr ""
msgid "no volumes to remove"
msgstr ""
#: ./cli/app/deploy.go:384 ./cli/app/rollback.go:360 ./cli/app/upgrade.go:470
#: ./cli/app/deploy.go:398 ./cli/app/rollback.go:360 ./cli/app/upgrade.go:470
msgid "no-converge-checks"
msgstr ""
#: ./cli/app/deploy.go:376 ./cli/app/rollback.go:352 ./cli/app/upgrade.go:462
#: ./cli/app/deploy.go:390 ./cli/app/rollback.go:352 ./cli/app/upgrade.go:462
msgid "no-domain-checks"
msgstr ""
@ -3865,7 +3870,7 @@ msgstr ""
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 ""
@ -3925,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:163 ./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 ""
@ -3964,7 +3969,7 @@ msgstr ""
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 ""
@ -3984,7 +3989,7 @@ msgstr ""
msgid "pattern"
msgstr ""
#: ./cli/app/deploy.go:371 ./cli/app/remove.go:165 ./cli/app/rollback.go:347 ./cli/app/upgrade.go:457 ./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 ""
@ -4552,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 ""
@ -4570,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 ""
@ -4594,27 +4599,32 @@ msgstr ""
msgid "secret not found: %s"
msgstr ""
#: ./cli/app/deploy.go:310
#: ./cli/app/deploy.go:324
#, c-format
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 ""
@ -4714,7 +4724,7 @@ msgstr ""
msgid "severity"
msgstr ""
#: ./cli/app/deploy.go:403 ./cli/app/rollback.go:371 ./cli/app/upgrade.go:489
#: ./cli/app/deploy.go:417 ./cli/app/rollback.go:371 ./cli/app/upgrade.go:489
msgid "show all configs & images, including unchanged ones"
msgstr ""
@ -4738,7 +4748,7 @@ msgstr ""
msgid "show debug messages"
msgstr ""
#: ./cli/app/deploy.go:400 ./cli/app/rollback.go:368 ./cli/app/upgrade.go:486
#: ./cli/app/deploy.go:414 ./cli/app/rollback.go:368 ./cli/app/upgrade.go:486
msgid "show-unchanged"
msgstr ""
@ -4746,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 ""
@ -4794,7 +4804,7 @@ msgstr ""
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 ""
@ -4826,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 ""
@ -4884,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 ""
@ -5039,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 ""
@ -5535,32 +5545,32 @@ msgstr ""
msgid "version wiped from %s.env"
msgstr ""
#: ./cli/app/deploy.go:337
#: ./cli/app/deploy.go:351
#, c-format
msgid "version: can not redeploy chaos version %s"
msgstr ""
#: ./cli/app/deploy.go:324
#: ./cli/app/deploy.go:338
#, c-format
msgid "version: taking chaos version: %s"
msgstr ""
#: ./cli/app/deploy.go:345
#: ./cli/app/deploy.go:359
#, c-format
msgid "version: taking deployed version: %s"
msgstr ""
#: ./cli/app/deploy.go:350
#: ./cli/app/deploy.go:364
#, c-format
msgid "version: taking new recipe version: %s"
msgstr ""
#: ./cli/app/deploy.go:339
#: ./cli/app/deploy.go:353
#, c-format
msgid "version: taking version from .env file: %s"
msgstr ""
#: ./cli/app/deploy.go:330
#: ./cli/app/deploy.go:344
#, c-format
msgid "version: taking version from cli arg: %s"
msgstr ""
@ -5683,7 +5693,7 @@ msgstr ""
msgid "writer: %v, "
msgstr ""
#: ./cli/app/deploy.go:262 ./cli/app/new.go:221 ./cli/app/rollback.go:248 ./cli/app/undeploy.go:114 ./cli/app/upgrade.go:294
#: ./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-10 21:44+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-"
@ -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"
@ -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 ""
@ -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
@ -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:361
#: 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
@ -801,7 +806,7 @@ msgid ""
"on your $PATH."
msgstr ""
#: cli/app/deploy.go:377 cli/app/new.go:353 cli/app/rollback.go:353
#: cli/app/deploy.go:391 cli/app/new.go:373 cli/app/rollback.go:353
#: cli/app/upgrade.go:463
msgid "D"
msgstr ""
@ -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 ""
@ -1331,7 +1336,7 @@ 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 ""
@ -1339,7 +1344,7 @@ msgstr ""
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,7 +1575,7 @@ msgid ""
" # and source this file from your PowerShell profile."
msgstr ""
#: cli/app/deploy.go:401 cli/app/rollback.go:369 cli/app/upgrade.go:487
#: cli/app/deploy.go:415 cli/app/rollback.go:369 cli/app/upgrade.go:487
msgid "U"
msgstr ""
@ -1695,19 +1701,19 @@ msgid ""
"\n"
"Available Commands:{{range .Commands}}{{if (or .IsAvailableCommand (eq .Name "
"\"help\"))}}\n"
" {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}"
"{{if .HasAvailableLocalFlags}}\n"
" {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if ."
"HasAvailableLocalFlags}}\n"
"\n"
"Flags:\n"
"{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}"
"{{if .HasAvailableInheritedFlags}}\n"
"{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if ."
"HasAvailableInheritedFlags}}\n"
"\n"
"Global Flags:\n"
"{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}"
"{{if .HasHelpSubCommands}}\n"
"{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if ."
"HasHelpSubCommands}}\n"
"\n"
"Additional help topics:{{range .Commands}}"
"{{if .IsAdditionalHelpTopicCommand}}\n"
"Additional help topics:{{range .Commands}}{{if ."
"IsAdditionalHelpTopicCommand}}\n"
" {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}"
"{{if .HasAvailableSubCommands}}\n"
"\n"
@ -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 ""
@ -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,7 +2072,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:385
#: 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 ""
@ -2202,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:360
#: 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
@ -2565,7 +2571,7 @@ msgstr ""
msgid "deploy labels stanza present"
msgstr ""
#: cli/app/deploy.go:395
#: cli/app/deploy.go:409
#, fuzzy
msgid "deploy latest recipe version"
msgstr "Publicar una nueva versión de una receta"
@ -2668,11 +2674,11 @@ msgstr ""
msgid "dirty: %v, "
msgstr ""
#: cli/app/deploy.go:387 cli/app/rollback.go:363 cli/app/upgrade.go:473
#: 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:379 cli/app/rollback.go:355 cli/app/upgrade.go:465
#: cli/app/deploy.go:393 cli/app/rollback.go:355 cli/app/upgrade.go:465
msgid "disable public DNS checks"
msgstr ""
@ -2693,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 ""
@ -2917,7 +2923,7 @@ msgstr ""
#. translators: `abra recipe fetch` aliases. use a comma separated list of aliases
#. with no spaces in between
#: cli/app/deploy.go:369 cli/app/remove.go:163 cli/app/rollback.go:345
#: 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"
@ -3155,7 +3161,7 @@ msgstr ""
msgid "for %s read env %s with value: %s from docker service"
msgstr ""
#: cli/app/deploy.go:368 cli/app/remove.go:162 cli/app/rollback.go:344
#: 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 ""
@ -3195,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 ""
@ -3377,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:363
#: 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
@ -3577,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:393 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 ""
@ -3587,7 +3593,7 @@ msgstr ""
msgid "labels <domain> [flags]"
msgstr "etiquetas <domain> [flags]"
#: cli/app/deploy.go:392 cli/app/list.go:183
#: cli/app/deploy.go:406 cli/app/list.go:183
msgid "latest"
msgstr ""
@ -3782,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 ""
@ -3951,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 ""
@ -4011,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 ""
@ -4071,11 +4077,11 @@ msgstr ""
msgid "no volumes to remove"
msgstr ""
#: cli/app/deploy.go:384 cli/app/rollback.go:360 cli/app/upgrade.go:470
#: cli/app/deploy.go:398 cli/app/rollback.go:360 cli/app/upgrade.go:470
msgid "no-converge-checks"
msgstr ""
#: cli/app/deploy.go:376 cli/app/rollback.go:352 cli/app/upgrade.go:462
#: cli/app/deploy.go:390 cli/app/rollback.go:352 cli/app/upgrade.go:462
msgid "no-domain-checks"
msgstr ""
@ -4092,7 +4098,7 @@ msgstr ""
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 ""
@ -4154,7 +4160,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/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
@ -4196,7 +4202,7 @@ msgstr ""
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 ""
@ -4219,7 +4225,7 @@ msgstr ""
msgid "pattern"
msgstr ""
#: cli/app/deploy.go:371 cli/app/remove.go:165 cli/app/rollback.go:347
#: 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 ""
@ -4798,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
@ -4819,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 ""
@ -4843,28 +4849,33 @@ msgstr ""
msgid "secret not found: %s"
msgstr ""
#: cli/app/deploy.go:310
#: cli/app/deploy.go:324
#, c-format
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 ""
@ -4910,8 +4921,8 @@ msgstr ""
#: cli/recipe/upgrade.go:228
#, c-format
msgid ""
"service %s is at version %s, but pinned to %s, please correct your "
"compose.yml file manually!"
"service %s is at version %s, but pinned to %s, please correct your compose."
"yml file manually!"
msgstr ""
#: cli/recipe/upgrade.go:224
@ -4966,7 +4977,7 @@ msgstr ""
msgid "severity"
msgstr ""
#: cli/app/deploy.go:403 cli/app/rollback.go:371 cli/app/upgrade.go:489
#: cli/app/deploy.go:417 cli/app/rollback.go:371 cli/app/upgrade.go:489
msgid "show all configs & images, including unchanged ones"
msgstr ""
@ -4990,7 +5001,7 @@ msgstr ""
msgid "show debug messages"
msgstr ""
#: cli/app/deploy.go:400 cli/app/rollback.go:368 cli/app/upgrade.go:486
#: cli/app/deploy.go:414 cli/app/rollback.go:368 cli/app/upgrade.go:486
msgid "show-unchanged"
msgstr ""
@ -4998,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 ""
@ -5046,7 +5057,7 @@ msgstr ""
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 ""
@ -5078,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 ""
@ -5138,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 ""
@ -5294,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 ""
@ -5801,32 +5812,32 @@ msgstr ""
msgid "version wiped from %s.env"
msgstr ""
#: cli/app/deploy.go:337
#: cli/app/deploy.go:351
#, c-format
msgid "version: can not redeploy chaos version %s"
msgstr ""
#: cli/app/deploy.go:324
#: cli/app/deploy.go:338
#, c-format
msgid "version: taking chaos version: %s"
msgstr ""
#: cli/app/deploy.go:345
#: cli/app/deploy.go:359
#, c-format
msgid "version: taking deployed version: %s"
msgstr ""
#: cli/app/deploy.go:350
#: cli/app/deploy.go:364
#, c-format
msgid "version: taking new recipe version: %s"
msgstr ""
#: cli/app/deploy.go:339
#: cli/app/deploy.go:353
#, c-format
msgid "version: taking version from .env file: %s"
msgstr ""
#: cli/app/deploy.go:330
#: cli/app/deploy.go:344
#, c-format
msgid "version: taking version from cli arg: %s"
msgstr ""
@ -5952,7 +5963,7 @@ msgstr ""
msgid "writer: %v, "
msgstr ""
#: cli/app/deploy.go:262 cli/app/new.go:221 cli/app/rollback.go:248
#: 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"

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

@ -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"
}