178 Commits

Author SHA1 Message Date
d11ad61efb
docs: make chaos flag description more generic [ci skip] 2023-10-04 01:34:53 +02:00
510ce66570
feat: version arguments, local tag lookups & release notes
See:
* coop-cloud/organising#441
* coop-cloud/organising#204
* coop-cloud/organising#493
2023-09-23 09:15:27 +02:00
0be532692d
test: moar integration tests [ci skip] 2023-09-20 13:51:06 +02:00
ab7edd2a62
refactor!: drop "record" & "server new" command
These were alpha prototypes and we'll reconsider once other layers of
Abra are more stable.
2023-09-14 16:45:01 +02:00
3dc5662821
fix: improved offline support
Closes coop-cloud/organising#471.
2023-07-26 08:16:07 +02:00
a7f1af7476
refactor: drop internal deploy package 2023-07-25 18:03:37 +02:00
949510d4c3 revert: always clone latest recipe changes
This change was about trying to optimise for offline scenarios but
caused a lot of issues for the online case. It needs to be thought
through again.

See coop-cloud/organising#471.

Closes coop-cloud/organising#432.
2023-07-25 15:05:01 +00:00
b2739dcdf2 fix(deploy) post deploy cmds 2023-04-18 19:05:46 +02:00
31ec322c55 feat(deploy): set timeout via label (!290)
Solves coop-cloud/organising#437

A timeout can be specified globally for a recipe using this label:
`coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}`. This sets the default timeout to 120s. An app specific timeout can be set using the env `TIMEOUT`.

Co-authored-by: Moritz <moritz.m@local-it.org>
Reviewed-on: coop-cloud/abra#290
2023-04-14 14:44:18 +00:00
18615eaaef Post-deploy abra.sh hooks (!292)
This solves coop-cloud/organising#235

Co-authored-by: Moritz <moritz.m@local-it.org>
Reviewed-on: coop-cloud/abra#292
2023-04-14 14:12:31 +00:00
9ade250f01 feat(cmd): add --tty flag to run commands from a script 2023-03-29 14:25:08 +02:00
5428ebf43b review: avoid stackName recalculation 2023-03-07 13:24:46 +01:00
611430aab2 Set chaos version label for each deployed or upgraded app 2023-03-07 13:24:46 +01:00
312b93e794
fix: no gitops on recipe for "app new"
Closes coop-cloud/organising#408
2023-02-15 00:49:22 +01:00
992e675921
refactor: use passed down conf to decide 2023-02-15 00:35:33 +01:00
d789830ce4 feat: adds --since flag for abra app logs 2023-02-14 00:19:38 +01:00
e4b4084dfd
fix: stream logs without hitting git.coopcloud.tech
Medium-sized options refactor in here too!

See coop-cloud/organising#292.
2023-02-13 16:46:43 +01:00
0a7fa54759
fix: cant pass client here
Closes coop-cloud/organising#396
2023-02-02 20:06:49 +01:00
7c1a97be72 refactor!: consolidate SSH handling
Closes coop-cloud/organising#389.
Closes coop-cloud/organising#341.
Closes coop-cloud/organising#326.
Closes coop-cloud/organising#380.
Closes coop-cloud/organising#360.
2023-02-02 08:37:14 +00:00
6774893412 add env ENABLE_AUTO_UPDATE as label to enable/disable the auto update process 2023-01-31 16:12:02 +01:00
ebb86391af add a label to signal that a deploy is a chaos deploy (!265)
Resolves coop-cloud/organising#390 by adding the following label `coop-cloud.${STACK_NAME}.chaos=true` (according to the version label).
This is required for the auto updater coop-cloud/organising#236 (comment)

Co-authored-by: Moritz <moritz.m@local-it.org>
Reviewed-on: coop-cloud/abra#265
2023-01-31 15:06:35 +00:00
50db39424c add a label to signal that a deploy is connected with a recipe (!264)
Resolves coop-cloud/organising#391 by adding the following label `coop-cloud.${STACK_NAME}.recipe=${RECIPE}` (according to the version label).
This is required for the auto updater coop-cloud/organising#236 (comment)

Co-authored-by: Moritz <moritz.m@local-it.org>
Reviewed-on: coop-cloud/abra#264
2023-01-31 14:35:43 +00:00
ca1ea32c46 Expose all env vars to app container. (!263)
Resolves coop-cloud/organising#393 and is required for the auto updater coop-cloud/organising#236 (comment)

Co-authored-by: Moritz <moritz.m@local-it.org>
Reviewed-on: coop-cloud/abra#263
2023-01-31 14:13:43 +00:00
c47aa49373
fix: improved missing context message 2023-01-24 10:48:53 +01:00
b4cce7dcf4
fix: better warning if flying < 3.8 compose spec
Closes coop-cloud/organising#350
2023-01-23 18:42:23 +01:00
b089109c94
fix: more robust docker context problem handling
See coop-cloud/organising#325
See coop-cloud/organising#340
2023-01-23 14:56:34 +01:00
c72462e0b6
fix: no domain checks if no DOMAIN=... configured
Closes coop-cloud/organising#353
2023-01-23 09:33:12 +01:00
cae0d9ef79 Introduce a JSON output table mechanic
- Create JSONTable as a proxy/extension to tablewriter which can also output JSON.
- Implement machine readable output for `server list` and `recipe list`
2023-01-12 21:15:14 +00:00
82866cd213 Partial implementation of machine readable output.
- Implement global flag for machine readable output.
- Add machine readable output (as JSON) to list command.
2022-12-05 18:03:13 +00:00
42a6818ff4
fix: app cmd parsing, usage & tests
Note: the integration tests don't work due to ValidateApp still
attempting to validate the host key for the test app which doesn't
exist. This will be fixed in a future commit.
2022-08-14 16:18:58 +02:00
b27acb2f61
feat: backup/restore [ci skip]
See coop-cloud/organising#30.
2022-04-03 18:24:09 +02:00
4023e6a066
fix: wait until app created to check for secrets 2022-03-18 11:10:15 +01:00
1615130929
fix: skip prompt for no passwords 2022-03-15 10:54:05 +01:00
b31cb6b866
feat: prompt for secret generation
Closes coop-cloud/organising#302.
2022-03-12 16:47:19 +01:00
a9b522719f
fix: use name not stack name for pass storage 2022-03-12 16:01:31 +01:00
42c1450384
refactor!: prefer short flags on release 2022-03-12 15:28:33 +01:00
a2377882f6
refacator!: use single char short flags 2022-03-12 15:27:19 +01:00
e78b395662
feat: new short flag for RC upgrading 2022-03-12 15:24:19 +01:00
3fbd381f55
fix: add pass remove flag & show name is optional 2022-03-12 09:17:24 +01:00
8ccf856110
fix: lay out generated secrets with warning/clarification 2022-03-11 16:39:34 +01:00
3381b8936d
fix: better error handling & proper context deletion for server rm 2022-02-24 15:57:52 +01:00
823f869f1d
fix: error out correctly from ValidateDomain 2022-02-24 15:57:40 +01:00
b295958c17 fix: handle all container registries
See coop-cloud/organising#258

This fixes also how we read the digest of the image. I think it was
wrong before. Some registries restrict reading this info and we now just
default to "unknown" for that case.

This also appears to bring a wave of new dependencies due to the generic
handling logic of containers/... package. The abra binary is now 1mb
larger.

The catalogue generation is now slower unfortunately. But it is more
robust.

The generic logic looks in ~/.docker/config.json for log in details, so
you don't have to pass those in manually on the CLI anymore. We just
read those defaults. You can "docker login" to get credentials setup in
that file. Since most folks won't generate the catalogue, this seems
fine for now.
2022-02-21 08:46:30 +00:00
5da4afa0ec
fix: only ensure latest after cloning 2022-02-18 09:55:07 +01:00
c3442354e7
fix: skip dupe ipv4 check, done in EnsureDomainsResolveSameIPv4 2022-02-14 17:44:15 +01:00
b5f23d3791 feat: show latest published version on sync 2022-02-09 08:58:20 +00:00
2b2dcc01b4
fix: dont checkout latest if we dont have a copy 2022-02-09 09:54:02 +01:00
227c02cd09
refactor!: make common flags single char again 2022-02-03 14:19:51 +01:00
bfeda40e34
fix: catch more ssh failure modes with help 2022-02-03 13:43:11 +01:00
dfb32cbb68
fix: type -> recipe [ci skip] 2022-02-02 20:48:12 +01:00