418 Commits

Author SHA1 Message Date
7c541ffdfa
fix: better error handling in EnsureUpToDate 2023-02-02 21:12:24 +01:00
7ccc4b4c08
fix: woops, remove that print statement
Some checks failed
continuous-integration/drone/push Build is failing
2023-02-02 21:00:31 +01:00
ef4df35995
fix: don't check twice (called in EnsureUpToDate)
Some checks failed
continuous-integration/drone/push Build is failing
2023-02-02 20:59:04 +01:00
71a9155042
fix: specify refs when fetching tags
See coop-cloud/organising#397
2023-02-02 20:58:38 +01:00
2a88491d7c
fix: catch errors here too
Some checks failed
continuous-integration/drone/push Build is failing
See coop-cloud/abra#266
2023-02-02 20:26:19 +01:00
bf79552204
fix: improve permission denied message
Some checks failed
continuous-integration/drone/push Build is failing
2023-02-02 20:07:45 +01:00
7c1a97be72 refactor!: consolidate SSH handling
Some checks failed
continuous-integration/drone/push Build is failing
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
76717531bd resolve PR: include the service info in the log message
Some checks failed
continuous-integration/drone/push Build is failing
2023-01-31 16:15:11 +01:00
6774893412 add env ENABLE_AUTO_UPDATE as label to enable/disable the auto update process
Some checks reported errors
continuous-integration/drone/pr Build was killed
2023-01-31 16:12:02 +01:00
ebb86391af add a label to signal that a deploy is a chaos deploy (!265)
Some checks failed
continuous-integration/drone/push Build is failing
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)
Some checks failed
continuous-integration/drone/push Build is failing
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)
Some checks failed
continuous-integration/drone/push Build is failing
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
32851d4d99 fix: always fetch all repository tags
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-01-31 11:52:15 +01:00
c47aa49373
fix: improved missing context message
Some checks failed
continuous-integration/drone/push Build is failing
2023-01-24 10:48:53 +01:00
b089109c94
fix: more robust docker context problem handling
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
See coop-cloud/organising#325
See coop-cloud/organising#340
2023-01-23 14:56:34 +01:00
27e0708ac7
fix: don't delete server dir on cleanup if not empty
Part of coop-cloud/organising#325.
2023-01-23 13:56:27 +01:00
521570224b
Merge branch 'filter-servers-by-recipe'
Some checks failed
continuous-integration/drone/push Build is failing
2023-01-23 09:33:31 +01:00
54646650c7 fix!: disable traefik linting when DOMAIN isn't present
Some checks failed
continuous-integration/drone/push Build is failing
Also reformats the linting output to be more readable.

Closes coop-cloud/organising#319.
2023-01-23 08:31:00 +00:00
903aac9d7a
feat: recipe fetch command
Some checks reported errors
continuous-integration/drone/pr Build was killed
continuous-integration/drone/push Build was killed
Also may have rooted out another go-git cloning bug 🙄

Closes coop-cloud/organising#365
2023-01-23 09:26:53 +01:00
49865c6a97 feat: app services command
Some checks reported errors
continuous-integration/drone/push Build was killed
Closes coop-cloud/organising#372
2023-01-23 08:25:17 +00:00
a694c8c20e
feat: filter server by recipe
Closes coop-cloud/organising#363
2023-01-23 00:54:22 +01:00
32de2ee5de
fix: ensure catalogue is clean/up-to-date
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
Closes coop-cloud/organising#367
2023-01-22 17:52:36 +01:00
6fe5aed408
fix!: remove digest handling
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
Closes coop-cloud/organising#379
2023-01-22 08:54:13 +01:00
03041b88d0
chore: gofmt
Some checks failed
continuous-integration/drone/push Build is failing
2023-01-21 23:26:23 +01:00
3wc
4f055096e9 chore: fix Drone build, ignore auto-recipes-catalogue-json
Some checks failed
continuous-integration/drone/push Build is failing
2023-01-15 18:16:53 -08:00
3wc
1403eac72c fix: parse "Status" field during catalogue generate 2023-01-15 17:10:45 -08:00
a6e23938eb Add tests to jsontable.
- Test major functionality of jsontable
- Fix bug discovered in testing.
2023-01-15 17:10:36 -08: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
3wc
b204b289d1 fix: disable progress bar with machine-readable output
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-12-16 10:20:51 -08:00
e788ac21f6 fix: keep abra working if recipe catalogue is offline (!235)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: Moritz <moritz.m@local-it.org>
Reviewed-on: coop-cloud/abra#235
2022-12-13 14:42:45 +00:00
3wc
a21d431541 fix: don't panic() 😅
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-24 17:33:59 +00:00
3wc
8fad34e430 fix: switch back to replacing <recipe>.example.com
Fixes #355
2022-11-24 17:33:59 +00:00
14187449a5
fix: fork passgen
All checks were successful
continuous-integration/drone/push Build is passing
See coop-cloud/organising#358
2022-11-14 15:18:54 +01:00
e41caa891d
fix: dont check ip on server when it is local
All checks were successful
continuous-integration/drone/push Build is passing
Closes coop-cloud/organising#334.
2022-08-14 22:20:17 +02:00
42a6818ff4
fix: app cmd parsing, usage & tests
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
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
Franz Heinzmann (Frando)
8458e61d17
fix: branch checking logic
See https://github.com/go-git/go-git/issues/518 for why this is needed.
2022-08-11 17:49:22 +02:00
49f79dbd45
fix!: new catalogue URL
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-05-03 17:08:52 +02:00
cbd924060f
fix: better local changes message
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-19 10:29:05 +02:00
b27acb2f61
feat: backup/restore [ci skip]
All checks were successful
continuous-integration/drone/pr Build is passing
See coop-cloud/organising#30.
2022-04-03 18:24:09 +02:00
323f4467c8
fix: filtering requires case-by-case handling
Some checks reported errors
continuous-integration/drone/pr Build was killed
continuous-integration/drone/push Build was killed
See https://github.com/moby/moby/issues/32985.
2022-03-30 16:25:38 +02:00
6aa23a76a1 fix: more precise filtering
All checks were successful
continuous-integration/drone/push Build is passing
Closes coop-cloud/organising#305.
2022-03-27 19:30:36 +00:00
338360096c
feat: pass domain to new app envs
All checks were successful
continuous-integration/drone/push Build is passing
See coop-cloud/organising#304.
2022-03-27 21:06:48 +02:00
f432bfdd23
fix: warn when no repo on git
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-18 10:13:24 +01:00
c66695d55e
fix: return err not logrus + new lines 2022-03-12 17:02:04 +01:00
262009701e
fix: guard against concurrent write errors 2022-03-12 16:59:45 +01:00
d3e127e5c8
fix: retain backwards compat with TYPE/RECIPE change
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-11 19:37:50 +01:00
e9cfb076c6
fix: strip length modifiers
All checks were successful
continuous-integration/drone/push Build is passing
See coop-cloud/organising#297.
2022-03-11 16:40:10 +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
2fbdcfb958
refactor: try the meta for default branch too
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Sometimes the Branch(...) call gets confused with state in the
repository. Its more robust to use the default value we get from gitea.

See coop-cloud/organising#299.
2022-02-20 18:07:49 +01:00
09ac74d205
fix: check out default branch from tags
All checks were successful
continuous-integration/drone/push Build is passing
Also fix error handling to match function signatures.
2022-02-18 11:17:43 +01:00