From 89d5fc91b0a13dd045744e3fc82ec319d1d41610 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Wed, 1 Oct 2025 11:48:51 +0200 Subject: [PATCH 1/2] fix: gracefully explode of missing context See https://git.coopcloud.tech/toolshed/abra/issues/675 --- pkg/client/client.go | 7 +++++++ tests/integration/app_deploy.bats | 15 +++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/pkg/client/client.go b/pkg/client/client.go index 69cc53a6..d1ddb438 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -6,9 +6,11 @@ import ( "errors" "net/http" "os" + "path" "strings" "time" + "coopcloud.tech/abra/pkg/config" contextPkg "coopcloud.tech/abra/pkg/context" "coopcloud.tech/abra/pkg/i18n" "coopcloud.tech/abra/pkg/log" @@ -41,6 +43,11 @@ func New(serverName string, opts ...Opt) (*client.Client, error) { ctx, err := GetContext(serverName) if err != nil { + serverDir := path.Join(config.SERVERS_DIR, serverName) + if _, err := os.Stat(serverDir); err == nil { + return nil, errors.New(i18n.G("server missing context, run \"abra server add %s\"?", serverName)) + } + return nil, errors.New(i18n.G("unknown server, run \"abra server add %s\"?", serverName)) } diff --git a/tests/integration/app_deploy.bats b/tests/integration/app_deploy.bats index bb39b716..b582b222 100644 --- a/tests/integration/app_deploy.bats +++ b/tests/integration/app_deploy.bats @@ -577,3 +577,18 @@ teardown(){ assert_success refute_output --partial "IMAGES" } + +# bats test_tags=slow +@test "manually created server without context bails gracefully" { + run mkdir -p "$ABRA_DIR/servers/default2" + assert_success + assert_exists "$ABRA_DIR/servers/default2" + + run cp "$ABRA_DIR/servers/$TEST_SERVER/$TEST_APP_DOMAIN.env" "$ABRA_DIR/servers/default2/$TEST_APP_DOMAIN_2.env" + assert_success + assert_exists "$ABRA_DIR/servers/default2/$TEST_APP_DOMAIN_2.env" + + run $ABRA app deploy "$TEST_APP_DOMAIN_2" --no-input --no-converge-checks + assert_failure + assert_output --partial "server missing context" +} -- 2.49.0 From 847b7238c5e41753a3b02ecc01cf2dfbc0be2413 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Wed, 1 Oct 2025 11:49:19 +0200 Subject: [PATCH 2/2] chore: make i18n --- pkg/i18n/locales/abra.pot | 15 ++++++++++----- pkg/i18n/locales/es.po | 35 ++++++++++++++++++++--------------- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/pkg/i18n/locales/abra.pot b/pkg/i18n/locales/abra.pot index e0f11842..7515adfd 100644 --- a/pkg/i18n/locales/abra.pot +++ b/pkg/i18n/locales/abra.pot @@ -7,7 +7,7 @@ msgid "" msgstr "Project-Id-Version: \n" "Report-Msgid-Bugs-To: EMAIL\n" - "POT-Creation-Date: 2025-10-01 11:18+0200\n" + "POT-Creation-Date: 2025-10-01 11:49+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2323,7 +2323,7 @@ msgstr "" msgid "create remote directory: %s" msgstr "" -#: ./pkg/client/client.go:95 +#: ./pkg/client/client.go:102 #, c-format msgid "created client for %s" msgstr "" @@ -4695,6 +4695,11 @@ msgstr "" msgid "server doesn't exist?" msgstr "" +#: ./pkg/client/client.go:48 +#, c-format +msgid "server missing context, run \"abra server add %s\"?" +msgstr "" + #: ./cli/server/add.go:148 #, c-format msgid "serverAdd: cleanUp: %s is not empty, aborting cleanup" @@ -4970,12 +4975,12 @@ msgstr "" msgid "successfully created %s" msgstr "" -#: ./pkg/client/client.go:104 +#: ./pkg/client/client.go:111 #, c-format msgid "swarm mode not enabled on %s?" msgstr "" -#: ./pkg/client/client.go:107 +#: ./pkg/client/client.go:114 msgid "swarm mode not enabled on local server?" msgstr "" @@ -5426,7 +5431,7 @@ msgstr "" msgid "unknown restart policy: %s" msgstr "" -#: ./pkg/client/client.go:44 +#: ./pkg/client/client.go:51 #, c-format msgid "unknown server, run \"abra server add %s\"?" msgstr "" diff --git a/pkg/i18n/locales/es.po b/pkg/i18n/locales/es.po index 9aa174b0..107a8016 100644 --- a/pkg/i18n/locales/es.po +++ b/pkg/i18n/locales/es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: EMAIL\n" -"POT-Creation-Date: 2025-10-01 11:18+0200\n" +"POT-Creation-Date: 2025-10-01 11:49+0200\n" "PO-Revision-Date: 2025-09-04 08:14+0000\n" "Last-Translator: chasqui \n" "Language-Team: Spanish