f230f89dcb
feat(app): support git-URL recipes in 'abra app new'
...
Allow `abra app new <git-url>` to use a recipe from outside the
catalogue. On clone, a `.abra-source` sidecar records the canonical
host/path name (the on-disk directory escapes "/" and "." lossily), and
IsClean ignores it. When templating the app's .env, a `RECIPE=<canonical
name>` line is injected so a later `abra app deploy`, possibly on another
machine, re-fetches the recipe from the same git source. `recipe ls` now
shows a source column listing these external recipes alongside catalogue
ones.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-13 22:40:10 +02:00
95220049e8
feat(recipe): normalize git URLs to canonical host/path names
...
Add NormalizeRecipeName to canonicalize the various ways a recipe can be
referenced - https/http/ssh URLs, SCP-style git@host:path, already-
canonical host/path, and short catalogue names - to a single stable
"host/path" form, preserving any ":version" suffix. Wire it into
recipe.Get and ValidateRecipe so every entry point accepts git URLs, and
add Recipe.ShortName to recover the bare recipe name from a prefixed one.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-13 22:39:53 +02:00
056a6be38d
fix(recipe): reject branch names as :version with a clear error
...
Passing a branch as the ":version" suffix previously failed with an
opaque "unable to resolve" error from go-git. Detect when the requested
revision matches a branch on a configured remote and fail with a message
explaining that ":<version>" only supports tags or commit hashes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-13 22:39:36 +02:00
3c24ae8111
fix(formatter): guard ShortenID/SmallSHA against short input
...
ShortenID and SmallSHA sliced their input to a fixed length without
checking it was long enough, panicking on shorter strings. Return the
input unchanged when it is already shorter than the cut. Also replace the
blank Commit placeholder with an explicit "unknown-commit" sentinel.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-13 22:39:16 +02:00
e5c65b8fa0
chore(deps): update alpine docker tag to v3.24
continuous-integration/drone/push Build is passing
2026-06-09 21:00:57 +00:00
e1b10f6020
chore: update translation files
...
continuous-integration/drone/push Build is passing
Updated by "Update PO files to match POT (msgmerge)" add-on in Weblate.
Translation: Co-op Cloud/abra
Translate-URL: https://translate.coopcloud.tech/projects/co-op-cloud/abra/
2026-06-09 14:36:32 +00:00
8e4ed7b689
chore: make i18n
continuous-integration/drone/push Build is passing
2026-06-09 16:30:08 +02:00
a44fde2df2
fix(new): checkout given recipeVersion before generating env closes #862
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2026-06-09 16:09:58 +02:00
e623f55852
chore(deps): update golang docker tag
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-06-08 17:01:04 +00:00
11e6f28a60
chore(deps): update module golang.org/x/term to v0.44.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-06-08 16:01:46 +00:00
acec067d76
chore(deps): update golang docker tag
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-06-08 14:01:12 +00:00
f50a57af7a
chore(deps): update module golang.org/x/sys to v0.46.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-06-08 13:01:32 +00:00
776693acc0
chore(deps): update golang docker tag
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-22 23:01:07 +00:00
5dea5f7746
chore(deps): update module golang.org/x/sys to v0.45.0
continuous-integration/drone/push Build is passing
2026-05-22 22:01:49 +00:00
1d9a289888
chore(deps): update nginx docker tag to v1.31.1
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-22 21:00:50 +00:00
c7bd55e371
feat: adds nix flake
continuous-integration/drone/push Build is passing
2026-05-20 22:29:47 +00:00
4276337b0f
chore(deps): update golang docker tag
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-18 22:01:06 +00:00
90ca856b64
chore(deps): update module github.com/go-git/go-git/v5 to v5.19.1
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-18 21:01:33 +00:00
f2dd65491d
chore(deps): update golang docker tag
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-15 16:01:27 +00:00
0e902ed897
chore(deps): update coopcloud.tech/tagcmp digest to c26951b
continuous-integration/drone/push Build is passing
2026-05-15 14:01:42 +00:00
db001c1ba4
chore(deps): update tonistiigi/xx docker tag to v1.9.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-15 00:00:59 +00:00
e4215c09aa
chore(deps): update nginx docker tag to v1.31.0
continuous-integration/drone/push Build is passing
2026-05-14 23:04:17 +00:00
e0e6dcb710
chore(deps): update otel/weaver docker tag to v0.23.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-14 23:00:58 +00:00
e7ddb74a08
chore(deps): update module golang.org/x/term to v0.43.0
continuous-integration/drone/push Build is passing
2026-05-14 22:04:37 +00:00
24a5e6334f
chore(deps): update golang docker tag
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-14 22:00:58 +00:00
9d8eb2317e
chore(deps): update module golang.org/x/sys to v0.44.0
continuous-integration/drone/push Build is passing
2026-05-14 21:01:45 +00:00
5945ea8e1b
chore(deps): update module github.com/go-git/go-git/v5 to v5.19.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-14 20:01:30 +00:00
e170d1c971
chore(deps): update alpine docker tag to v3.23
continuous-integration/drone/push Build is passing
2026-05-14 19:04:12 +00:00
5eba3abb1b
chore(deps): update golang docker tag
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-14 19:01:12 +00:00
df5a38e887
chore(deps): update module github.com/decentral1se/cobra to v1.10.2
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-05-14 18:01:50 +00:00
1e80d111e6
test: less flaky test
continuous-integration/drone/push Build is passing
2026-05-02 09:56:40 +02:00
7a079b78de
chore: update translation files
...
continuous-integration/drone/push Build is passing
Updated by "Update PO files to match POT (msgmerge)" add-on in Weblate.
Translation: Co-op Cloud/abra
Translate-URL: https://translate.coopcloud.tech/projects/co-op-cloud/abra/
2026-04-11 13:54:52 +00:00
7524a785ce
chore: make i18n
continuous-integration/drone/push Build is failing
2026-04-11 11:36:14 +02:00
1013f669bb
fix: i18n & clarify no release notes msg
continuous-integration/drone/pr Build is failing
2026-04-10 23:22:40 +02:00
aae20f07cc
fix: general golang path [ci skip]
2026-04-03 22:59:21 +02:00
6ef8e1ff52
test: temporarily skip flaky test
...
continuous-integration/drone/push Build is passing
See #814
2026-04-01 11:37:07 +02:00
7fb9675b1e
chore: golang 1.26 && make deps
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2026-04-01 11:25:57 +02:00
d88b478503
test: unit tests clean up themselves
...
continuous-integration/drone/push Build is passing
See #792
2026-04-01 10:47:32 +02:00
7a735043cd
fix: unbork json [ci skip]
2026-03-30 09:40:13 +02:00
e610f32c35
fix: ignore new forked deps [ci skip]
2026-03-29 18:15:47 +02:00
e04a1e15c4
feat: add filename to error message when yaml file is invalid
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Before:
FATA <internal/validate.go:84> unable to validate recipe: yaml: line 3: did not find expected key
After:
FATA <internal/validate.go:84> unable to validate recipe: <redacted>/recipes/monitoring-ng/compose.grafana-oidc.yml: yaml: line 3: did not find expected key
2026-03-20 14:42:14 +01:00
9d401202b4
test: ensure "release, fail, release" works
...
continuous-integration/drone/push Build is passing
See #794
2026-03-05 11:28:34 +01:00
6504be6403
test: ensure reproducible version
2026-03-05 11:28:33 +01:00
d4944dbf35
chore: update translation files
...
continuous-integration/drone/push Build is passing
Updated by "Update PO files to match POT (msgmerge)" add-on in Weblate.
Translation: Co-op Cloud/abra
Translate-URL: https://translate.coopcloud.tech/projects/co-op-cloud/abra/
2026-03-03 00:03:00 +00:00
8d8d4f799d
chore: i18n
continuous-integration/drone/push Build is passing
2026-03-03 01:02:49 +01:00
0633f24d1b
feat: recipe release reverts completely on failure
continuous-integration/drone/push Build is failing
2026-03-03 00:02:15 +00:00
2e062899c7
feat: release make target
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2026-03-01 09:42:59 +01:00
fbd7275f03
build: remove broken goreleaser automagic
...
continuous-integration/drone/push Build is passing
See #780
2026-03-01 09:40:29 +01:00
cedf185e97
chore: translation using Weblate (Spanish)
...
continuous-integration/drone/push Build is passing
Currently translated at 91.1% (1048 of 1150 strings)
Translation: Co-op Cloud/abra
Translate-URL: https://translate.coopcloud.tech/projects/co-op-cloud/abra/es/
2026-02-28 13:52:56 +00:00
06a57ded02
chore: 0.13.0-beta
continuous-integration/drone/tag Build was killed
continuous-integration/drone/push Build is passing
0.13.0-beta
2026-02-23 17:26:42 +01:00