Commit Graph

675 Commits

Author SHA1 Message Date
p4u1 0076b31253 new package envfile and move GetComposeFiles to recipe package
continuous-integration/drone/pr Build is failing
2024-07-06 16:37:16 +02:00
p4u1 37aff723c0 move GetComposeFiles 2024-07-06 16:37:16 +02:00
p4u1 f18c642226 refactor: move app files from config to app package 2024-07-06 16:37:16 +02:00
p4u1 ac695ae28e feat: introduce abra config file and load abra dir from it (!419)
continuous-integration/drone/push Build is passing
This is the first step to introduce a configuration file for abra. The config file must be named `abra.yaml` or àbra.yml`. abra look for the config file in the current directory and when not found traverses the directory tree up until it is found or the home/root directory is reached.

For now there is only one setting that is made configurable: `abraDir`. The new logic for setting the abra dir is the following:
1. lookup `$ABRA_DIR` env
2. look for config file and take value from there
3. `$HOME/.abra` as fallback

See coop-cloud/organising#303.

Reviewed-on: coop-cloud/abra#419
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2024-07-06 14:36:31 +00:00
decentral1se 9554ad40c8 refactor: use adapted upstream detach=false logic [ci skip]
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
See coop-cloud/organising#607.
2024-07-02 14:52:12 +02:00
decentral1se a9ce2106c6 test: skip test for now
continuous-integration/drone/push Build is passing
Also, don't build image if tests fail.
2024-06-28 06:12:32 +02:00
decentral1se 34de38928a test: include catalogue
continuous-integration/drone/push Build is failing
2024-06-26 23:46:35 +02:00
decentral1se 1fe601cd16 fix: custom timeout only for "server add" 2024-06-25 16:13:57 +02:00
decentral1se 7b7e1bfa97 refactor!: server add/rm has better UI/UX
Less confusing logging messages, clear "is created" / "already exists"
output. Move the majority of logging to debug output to not confuse the
situation. Some code cleanups also in there.
2024-06-25 09:48:53 +02:00
decentral1se d787f71215 fix: more accurate dns errors
continuous-integration/drone/push Build is passing
2024-06-25 00:27:48 +02:00
p4u1 b2485cc122 feat: add git-user and git-email flags to recipe new
continuous-integration/drone/push Build is passing
2024-06-22 16:38:32 +00:00
decentral1se aa3910f8df refactor!: drop all SSH opts / config handling
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
See coop-cloud/organising#601
See coop-cloud/organising#482
2024-06-21 17:16:41 +02:00
decentral1se 316fdd3643 fix: abra app new checks out latest version
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
See coop-cloud/organising#618
2024-06-21 15:51:34 +02:00
decentral1se e07ae8cccd chore: make format/check
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-06-19 19:17:22 +02:00
decentral1se 300a4ead01 fix: stop using deprecated APIs
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2024-06-19 19:14:52 +02:00
decentral1se 004cd70aed fix: use unique rule number & wording [ci skip] 2024-04-06 23:52:56 +02:00
decentral1se a4de446f58 test: more verbose failure msg, use contains [ci skip] 2024-04-06 23:48:22 +02:00
rix d21c35965d fix: add warning for long secret names (!359)
continuous-integration/drone/push Build is passing
A start of a fix for coop-cloud/organising#463
Putting some code out to start a discussion.  I've added a linting rule for recipes to establish a general principal but I want to put some validation into cli/app/new.go as that's the point we have both the recipe and the domain and can say for sure whether or not the secret names lengths cause a problem but that will have to wait for a bit.  Let me know if I've missed the mark somewhere

Reviewed-on: coop-cloud/abra#359
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
Co-authored-by: Rich M <r.p.makepeace@gmail.com>
Co-committed-by: Rich M <r.p.makepeace@gmail.com>
2024-04-06 21:41:37 +00:00
mayel 63ea58ffaa add relevant command to error message
continuous-integration/drone/push Build is passing
2024-04-01 18:51:53 +01:00
p4u1 d5ac3958a4 feat: add retries to app volume remove
continuous-integration/drone/push Build is passing
2024-03-27 05:38:24 +00:00
decentral1se 575f9905f1 Revert "Revert "feat: backup revolution""
continuous-integration/drone/push Build is passing
This reverts commit 2c515ce70a.
2024-03-12 10:34:40 +01:00
decentral1se 2c515ce70a Revert "feat: backup revolution"
This reverts commit c5687dfbd7.

This is a temporary measure to facilitate a release which won't
completely explode peoples workflows (missing command logic). We
re-instate this commit after the first 0.9.x release.
2024-03-12 10:03:42 +01:00
p4u1 0643df6d73 feat: fetch all recipes when no recipe is specified (!401)
continuous-integration/drone/push Build is passing
Closes coop-cloud/organising#530

Reviewed-on: coop-cloud/abra#401
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2024-01-24 15:01:33 +00:00
p4u1 0a3624c15b feat: add version input to abra app new (!400)
continuous-integration/drone/push Build is passing
Closes coop-cloud/organising#519

Reviewed-on: coop-cloud/abra#400
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2024-01-19 15:08:41 +00:00
decentral1se c5687dfbd7 feat: backup revolution
continuous-integration/drone/push Build is passing
See coop-cloud/organising#485
2024-01-12 22:01:08 +01:00
p4u1 ca91abbed9 fix: correct append service name logic in Filters function (!396)
continuous-integration/drone/push Build is passing
This fixes a regression introduced by #395

Reviewed-on: coop-cloud/abra#396
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2023-12-22 12:08:12 +00:00
p4u1 d4727db8f9 feat: abra app logs shows task errors (!395)
continuous-integration/drone/push Build is passing
The log command now checks for the ready state in the task list. If it is not ready. It shows the task logs. This might look like this:
```
ERRO[0000] Service abra-test-recipe_default_app: State rejected: No such image: ngaaaax:1.21.0
ERRO[0000] Service abra-test-recipe_default_app: State preparing:
ERRO[0000] Service abra-test-recipe_default_app: State rejected: No such image: ngaaaax:1.21.0
ERRO[0000] Service abra-test-recipe_default_app: State rejected: No such image: ngaaaax:1.21.0
ERRO[0000] Service abra-test-recipe_default_app: State rejected: No such image: ngaaaax:1.21.0
```

Closes coop-cloud/organising#518

Reviewed-on: coop-cloud/abra#395
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2023-12-14 13:15:24 +00:00
p4u1 af8cd1f67a feat: abra release now asks for a release note (!393)
continuous-integration/drone/push Build is passing
This implements coop-cloud/organising#540 by checking if a`release/next` file exists and if so moves it to `release/<tag>`. When no release notes exists it prompts for them.

Reviewed-on: coop-cloud/abra#393
Reviewed-by: moritz <moritz.m@local-it.org>
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2023-12-12 14:46:20 +00:00
test 99e3ed416f fix: secret name generation when secretId is not part of the secret name
continuous-integration/drone/push Build is passing
2023-12-04 21:52:09 +00:00
p4u1 02b726db02 add comments to better explain how the length modifier gets added to the secret
continuous-integration/drone/push Build is passing
2023-12-04 17:30:26 +00:00
p4u1 2de6934322 feat: abra app cp enhancements
continuous-integration/drone/push Build is passing
2023-12-02 15:39:27 +00:00
p4u1 3957b7c965 proper env modifiers support
continuous-integration/drone/push Build is passing
This implements proper modifier support in the env file using this new fork of the godotenv library. The modifier implementation is quite basic for but can be improved later if needed. See this commit for the actual implementation.

Because we are now using proper modifer parsing, it does not affect the parsing of value, so this is possible again:
```
MY_VAR="#foo"
```
Closes coop-cloud/organising#535
2023-12-01 11:03:52 +00:00
moritz 0d83339d80 fix(ssh): increase connection timeout #482
continuous-integration/drone/push Build is passing
see coop-cloud/organising#482
2023-11-30 16:35:53 +01:00
decentral1se 6e54ec7213 test: skip failing test for now
continuous-integration/drone/push Build is passing
See coop-cloud/organising#535.
2023-11-28 11:42:36 +01:00
p4u1 7b6134f35e add bash completion for abra cmd 2023-11-27 10:01:33 +00:00
knoflook ccf0215495 hotfix: parse values starting with # correctly
continuous-integration/drone/push Build is failing
2023-10-23 19:21:45 +02:00
decentral1se 254df7f2be feat: app cmd ls
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
See coop-cloud/organising#484
2023-10-17 21:16:31 +02:00
decentral1se 6a673ef101 refactor: filter by topic when building catalogue
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
See coop-cloud/organising#377
2023-10-16 18:42:38 +02:00
decentral1se 7f7f7224c6 feat: diff on release flow
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Also, don't commit unstaged files.
2023-10-16 18:31:22 +02:00
decentral1se c249c6ae9c fix: fix: trim comments that are not modifers
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
See coop-cloud/organising#505
2023-10-09 14:42:05 +02:00
decentral1se be693e9df0 fix: trim comments that are not modifers
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
See coop-cloud/organising#505
2023-10-08 22:42:34 +02:00
decentral1se b57edb440a fix: improve app check
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
See coop-cloud/organising#446
2023-10-06 10:56:33 +02:00
decentral1se b4fd39828f test: abra-integration-test-recipe -> abra-test-recipe
continuous-integration/drone/push Build is passing
See coop-cloud/abra-test-recipe#3
2023-10-05 14:22:11 +02:00
decentral1se 14f2d72aba refactor!: lowercase, hyphenate keys
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
This will potentially break scripts, so time to discuss!
2023-10-05 08:36:01 +02:00
decentral1se 47d3b77003 refactor: not generating here, skipping
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-04 15:13:15 +02:00
decentral1se 8078e91e52 fix: warn if secrets not generated
See coop-cloud/organising#499
2023-10-04 15:13:14 +02:00
decentral1se e837835e00 test: remove duplicate call to EnsureCatalogue
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-10-04 14:05:02 +02:00
decentral1se c646263e9e fix: validate COMPOSE_FILE
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is passing
See coop-cloud/organising#468.
See coop-cloud/organising#376.
2023-10-04 13:27:04 +02:00
decentral1se 422c642949 fix: ensure ipv4 is checked, not sometimes ipv6
continuous-integration/drone/push Build is passing
See coop-cloud/organising#490
2023-10-04 09:29:10 +00:00
decentral1se 379915587c fix: don't export from within function
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Also, don't explode on command function which has "export" in the name!

See coop-cloud/organising#498
2023-10-04 11:20:50 +02:00