David Heinemeier Hansson
8b755c6973
Style
2023-03-23 14:24:34 +01:00
David Heinemeier Hansson
9a909ba7eb
config.traefik is already nil safe
2023-03-23 14:06:15 +01:00
Jeremy Daer
53d7f9d528
Deploys mention the released service@version
...
Less work for broadcast commands to take on.
Also fixes a bug where rollback on hosts without a running container
would stop the container they had just started.
2023-03-23 01:09:25 -07:00
Jeremy Daer
c870e560c1
Accessories aren't required to publish a port
...
Allows for background accessories like schedulers that don't act
as typical network service dependencies and have no port to expose.
2023-03-23 00:10:30 -07:00
Jeremy Daer
04b1d5e49e
Accessories may be pulled from authenticated registries
2023-03-22 23:48:22 -07:00
Jeremy Daer
c0d5b48f22
Polish destination config loading
...
* `Pathname#sub_ext` to munge .yml ext to .destination.yml
* Extract multi-file config merge
2023-03-22 10:38:37 -07:00
Donal McBreen
fb3353084f
Default to deploying the config version
...
If we don't supply a version when deploying we'll use the result of
docker image ls to decide which image to boot. But that doesn't
necessarily correspond to the one we have just built.
E.g. if you do something like:
```
mrsk deploy # deploys git sha AAAAAAAAAAAAAA
git commit --amend # update the commit message
mrsk deploy # deploys git sha BBBBBBBBBBBBBB
```
In this case running `docker image ls` will give you the same image
twice (because the contents are identical) with tags for both SHAs but
the image we have just built will not be returned first. Maybe the order
is random, but it always seems to come second as far as I have seen.
i.e you'll get something like:
```
REPOSITORY TAG IMAGE ID CREATED SIZE
foo/bar AAAAAAAAAAAAAA 6272349a9619 31 minutes ago 791MB
foo/bar BBBBBBBBBBBBBB 6272349a9619 31 minutes ago 791MB
```
Since we already know what version we want to deploy from the config,
let's just pass that through.
2023-03-22 16:14:50 +00:00
David Heinemeier Hansson
19104cafb4
Merge branch 'main' into role-awareness
2023-03-21 08:20:26 -04:00
Samuel Sieg
1bdfc217c4
Merge branch 'main' into global-logging-config
2023-03-21 13:20:12 +01:00
David Heinemeier Hansson
790be0f5f3
Style
2023-03-21 12:42:04 +01:00
David Heinemeier Hansson
49d60a045a
Style
2023-03-21 12:41:28 +01:00
David Heinemeier Hansson
00b970323b
Merge branch 'main' into pr/99
...
* main:
Add another assertion for `escape_shell_value`
Add tests for `Mrsk::Utils`
Fix indentation
Don't report exception here too
Don't report exception
Add CLI tests for remaining commands that are not tested yet
Minor: Properly require active_support
2023-03-20 17:31:50 +01:00
Samuel Sieg
b5372988f7
Add global logging configuration
2023-03-19 09:21:08 +01:00
Samuel Sieg
491777221f
Fix destination label filter
2023-03-16 16:15:31 +01:00
Stephen van Beek
4c542930c5
Allow arbitrary docker options for traefik
2023-03-15 15:37:10 +00:00
David Heinemeier Hansson
cb824bdc42
Merge branch 'main' into role-awareness
2023-03-14 19:11:10 -04:00
Yoann Lecuyer
85a0267447
Minor: Properly require active_support
2023-03-14 23:29:00 +01:00
Stephen van Beek
9843c5e1ce
Fixed typos
2023-03-14 20:13:13 +00:00
Stephen van Beek
2db1bfde00
Added volume configuration in response to issue coments
2023-03-14 19:59:19 +00:00
Stephen van Beek
2cea12c56b
Modified in response to PR comments
2023-03-14 19:59:19 +00:00
Stephen van Beek
43a1b42f8c
Added the additional_ports configuration
...
ISSUE: https://github.com/mrsked/mrsk/issues/98
2023-03-14 19:59:19 +00:00
David Heinemeier Hansson
c282461265
Merge pull request #116 from tbuehlmann/traefik-command-options
...
Properly pass traefik command options
2023-03-14 15:08:27 -04:00
Samuel Sieg
46dad1ee6c
Add tests for main CLI commands
2023-03-14 15:58:12 +01:00
Tobias Bühlmann
3ca5bc50b6
Properly pass traefik command options
...
Traefik command options need to be passed as `--key=value`, not `--key value`.
2023-03-14 15:04:33 +01:00
David Heinemeier Hansson
b668ce3f25
Merge pull request #111 from calmyournerves/deploy-without-build-push
2023-03-14 07:32:27 -04:00
Jacopo
50ee954ca9
Fix Traefik retry middleware
...
As per [Traefik docs](https://doc.traefik.io/traefik/middlewares/overview/#configuration-example )
a middleware to be activated needs to be applied to a route. Change the default settings
to apply the `retry` middleware on every role with Traefik enabled.
2023-03-14 12:15:00 +01:00
Tobias Bühlmann
72e0184e9f
Fix failing tests
2023-03-13 17:36:02 +01:00
Samuel Sieg
5010850b86
Merge branch 'main' into deploy-without-build-push
2023-03-13 16:10:31 +01:00
Samuel Sieg
c29d1ddeba
Fix
2023-03-13 16:05:21 +01:00
Samuel Sieg
cb15800d25
Move option to deploy/redeploy, rename to skip-push
2023-03-13 16:02:24 +01:00
David Heinemeier Hansson
d2f76dac6b
Merge branch 'main' into role-awareness
2023-03-13 15:16:44 +01:00
David Heinemeier Hansson
20733a4493
Merge pull request #102 from moomerman/cmd-options-for-healthcheck
...
Use custom web options for healthcheck
2023-03-13 15:12:25 +01:00
David Heinemeier Hansson
c1c26a154d
Merge pull request #104 from moomerman/add-container-name-env-var
...
Add container name env var for containers
2023-03-13 15:10:02 +01:00
David Heinemeier Hansson
5969ff66d5
Merge pull request #107 from clowder/order-options-dig
...
Avoid `[ActiveSupport::OrderedOptions#dig]`
2023-03-13 15:08:31 +01:00
Samuel Sieg
47af6d9483
Is a global option better?
2023-03-12 10:53:29 +01:00
Samuel Sieg
ff0170076e
Simplify
2023-03-12 10:44:33 +01:00
Samuel Sieg
9b39f2f3ab
Keep it simple for the proposal
2023-03-12 10:41:04 +01:00
Richard Taylor
bb241dea43
Add container name env var for containers
...
Because the container name is generated it isn't possible to
determine this inside the container.
This adds the MRSK_CONTAINER_NAME env var when running the
container so it can be read by the service running inside the
container.
2023-03-11 10:14:41 +00:00
Chris Lowder
f26beeaa9f
Update accessory remove description and warning
...
Make it clear the accessory's data directory will also be removed.
2023-03-10 20:51:14 +00:00
Chris Lowder
41a5cb2a04
Avoid [ActiveSupport::OrderedOptions#dig]
...
The implementation has been updated upstream[^1] to expect symbolized
keys. MRSK relies heavily on the fact that nested keys are strings, so
we're removing existing uses of `#dig`.
[^1]: 5c15b586aa
2023-03-10 19:45:35 +00:00
Richard Taylor
e5c5e89232
Use custom web options for healthcheck
...
If the web role has custom options, ensure these are used for the
healthcheck.
2023-03-10 15:55:04 +00:00
Samuel Sieg
4bf77ccd1b
Allow deploy/deliver without building and pushing the image
2023-03-10 11:26:35 +01:00
Tobias Bühlmann
ccf8762c98
Reuse web container per default
2023-03-10 10:50:26 +01:00
Tobias Bühlmann
418bc13ae7
Apply filters correctly
2023-03-10 10:33:55 +01:00
Tobias Bühlmann
7d4dfc4c86
Pass role names for simplicity
2023-03-10 09:18:47 +01:00
Tobias Bühlmann
fdb0c8ee91
Rolify app cli/command
2023-03-10 08:50:26 +01:00
Tobias Bühlmann
6b11303230
Prepare auditor to print a present role
2023-03-09 20:55:37 +01:00
Tobias Bühlmann
901484d75d
Filter roles and hosts by their respective counterpart
2023-03-09 18:21:39 +01:00
Tobias Bühlmann
e178907a21
Don't list duplicate hosts
2023-03-09 16:46:57 +01:00
David Heinemeier Hansson
3026a92c98
Merge pull request #71 from tbuehlmann/destination-awareness
...
Destination aware container names
2023-03-09 13:25:49 +00:00