Commit Graph

80 Commits

Author SHA1 Message Date
Rich M d21c35965d fix: add warning for long secret names (!359)
continuous-integration/drone/push Build is passing Details
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: #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
p4u1 ca91abbed9 fix: correct append service name logic in Filters function (!396)
continuous-integration/drone/push Build is passing Details
This fixes a regression introduced by #395

Reviewed-on: #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 Details
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: #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
test 99e3ed416f fix: secret name generation when secretId is not part of the secret name
continuous-integration/drone/push Build is passing Details
2023-12-04 21:52:09 +00:00
p4u1 3957b7c965 proper env modifiers support
continuous-integration/drone/push Build is passing Details
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
decentral1se c249c6ae9c
fix: fix: trim comments that are not modifers
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
See coop-cloud/organising#505
2023-10-09 14:42:05 +02:00
decentral1se c646263e9e
fix: validate COMPOSE_FILE
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is passing Details
See coop-cloud/organising#468.
See coop-cloud/organising#376.
2023-10-04 13:27:04 +02:00
decentral1se 970ae0fc4e
test: use _test to avoid cyclic imports 2023-10-04 02:36:44 +02:00
decentral1se d02f659bf8
fix: secrets from config, --offline/chaos handling, typos
See coop-cloud/organising#464
2023-09-25 10:31:59 +02:00
decentral1se 0be532692d
test: moar integration tests [ci skip]
continuous-integration/drone/pr Build is failing Details
2023-09-20 13:51:06 +02:00
moritz 31ec322c55 feat(deploy): set timeout via label (!290)
continuous-integration/drone/push Build is passing Details
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: #290
2023-04-14 14:44:18 +00:00
Moritz edff63b446 Revert "review: change label autoupdate -> auto-update"
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
This reverts commit 74baa76f5ee5e5dd7b71b1f14be97cc40dfc611b.
2023-03-07 13:24:46 +01:00
Moritz cb33edaac3 review: change label autoupdate -> auto-update 2023-03-07 13:24:46 +01:00
Moritz e9879e2226 review: label convention chaos_version -> chaos-version 2023-03-07 13:24:46 +01:00
Moritz d120299929 feat(list): show autoupdate state 2023-03-07 13:24:46 +01:00
Moritz 3753357ef8 feat(list): show chaos status and chaos version 2023-03-07 13:24:46 +01:00
Moritz 611430aab2 Set chaos version label for each deployed or upgraded app 2023-03-07 13:24:46 +01:00
decentral1se eec6469ba1
fix: Change error message to reflect RECIPE -> TYPE
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
Closes coop-cloud/organising#409
2023-02-12 16:40:48 +01:00
decentral1se e94f947d20
fix: don't create clients twice per server
continuous-integration/drone/push Build is passing Details
Closes coop-cloud/organising#407
2023-02-12 00:02:59 +01:00
decentral1se fadafda0b8
fix: make test suite work again 2023-02-08 11:11:39 +01:00
decentral1se 7c1a97be72 refactor!: consolidate SSH handling
continuous-integration/drone/push Build is failing Details
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
Moritz 76717531bd resolve PR: include the service info in the log message
continuous-integration/drone/push Build is failing Details
2023-01-31 16:15:11 +01:00
Moritz 6774893412 add env ENABLE_AUTO_UPDATE as label to enable/disable the auto update process
continuous-integration/drone/pr Build was killed Details
2023-01-31 16:12:02 +01:00
moritz ebb86391af add a label to signal that a deploy is a chaos deploy (!265)
continuous-integration/drone/push Build is failing Details
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: #265
2023-01-31 15:06:35 +00:00
moritz 50db39424c add a label to signal that a deploy is connected with a recipe (!264)
continuous-integration/drone/push Build is failing Details
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: #264
2023-01-31 14:35:43 +00:00
moritz ca1ea32c46 Expose all env vars to `app` container. (!263)
continuous-integration/drone/push Build is failing Details
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: #263
2023-01-31 14:13:43 +00:00
decentral1se 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
decentral1se 521570224b
Merge branch 'filter-servers-by-recipe'
continuous-integration/drone/push Build is failing Details
2023-01-23 09:33:31 +01:00
decentral1se 49865c6a97 feat: app services command
continuous-integration/drone/push Build was killed Details
Closes coop-cloud/organising#372
2023-01-23 08:25:17 +00:00
decentral1se a694c8c20e
feat: filter server by recipe
Closes coop-cloud/organising#363
2023-01-23 00:54:22 +01:00
3wc b204b289d1 fix: disable progress bar with machine-readable output
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-12-16 10:20:51 -08:00
3wc a21d431541 fix: don't panic() 😅
continuous-integration/drone/push Build is passing Details
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
decentral1se 323f4467c8
fix: filtering requires case-by-case handling
continuous-integration/drone/pr Build was killed Details
continuous-integration/drone/push Build was killed Details
See https://github.com/moby/moby/issues/32985.
2022-03-30 16:25:38 +02:00
decentral1se 6aa23a76a1 fix: more precise filtering
continuous-integration/drone/push Build is passing Details
Closes coop-cloud/organising#305.
2022-03-27 19:30:36 +00:00
decentral1se 338360096c
feat: pass domain to new app envs
continuous-integration/drone/push Build is passing Details
See coop-cloud/organising#304.
2022-03-27 21:06:48 +02:00
decentral1se d3e127e5c8
fix: retain backwards compat with TYPE/RECIPE change
continuous-integration/drone/push Build is passing Details
2022-03-11 19:37:50 +01:00
decentral1se 58e98f490d
refactor!: type -> recipes
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is passing Details
2022-01-27 12:06:32 +01:00
decentral1se a23124aede feat: auto strip domain names to avoid runtime limits
continuous-integration/drone/push Build is passing Details
2022-01-27 10:33:21 +00:00
decentral1se fc2d83d203
fix: better error message for missing server 2022-01-17 22:04:11 +01:00
decentral1se a556ca625b
fix: handle StackName / Name correctly 2022-01-01 17:22:19 +01:00
decentral1se 5cacd09a04
refactor: remove old/non-urgen/resolved FIXMEs 2021-12-28 01:35:40 +01:00
decentral1se f5d2d3adf6
refactor: formatter gets own package 2021-12-28 01:24:23 +01:00
decentral1se c5a74e9f6b
fix: template env files too
continuous-integration/drone/push Build is passing Details
2021-12-26 04:38:34 +01:00
decentral1se 4283f130a2
refactor: apps -> recipes 2021-12-25 14:04:07 +01:00
decentral1se 3b5354b2a5
refactor: less quotes
continuous-integration/drone/push Build is passing Details
2021-12-25 02:03:09 +01:00
decentral1se a07e71f7df
fix: grand ssh, provisioning, perms refactor
continuous-integration/drone/push Build is failing Details
See coop-cloud/organising#280.
See coop-cloud/organising#273.
2021-12-22 20:08:15 +01:00
decentral1se 8d499c0810
fix: find local only apps 2021-12-20 00:50:09 +01:00
decentral1se 0a903f041f
refactor: less quotes 2021-12-20 00:49:36 +01:00
decentral1se fa0a63c11d
refactor: ensure type, drop comment 2021-12-19 22:45:08 +01:00