Commit Graph

458 Commits

Author SHA1 Message Date
David Heinemeier Hansson a1fc00347b Merge branch 'main' into pr/99
* main:
  Ask for access token
  Style
  Style
  config.traefik is already nil safe
  Update README.md
  Bump dev deps and consolidate platform matches
  Deploys mention the released service@version
  Accessories aren't required to publish a port
  Accessories may be pulled from authenticated registries
  Polish destination config loading
  Allow arbitrary docker options for traefik
  Fixed typos
  Fixed readme
  Rebased on main
  Added volume configuration in response to issue coments
  Modified in response to PR comments
  Added the additional_ports configuration
2023-03-23 14:48:13 +01:00
David Heinemeier Hansson f73c526890 Ask for access token 2023-03-23 14:46:41 +01:00
David Heinemeier Hansson 9648721ce7 Merge pull request #146 from basecamp/tell-me-more
Deploys mention the service and version
2023-03-23 14:38:31 +01:00
David Heinemeier Hansson e409281bb2 Merge pull request #147 from basecamp/destination-config-polish
Polish destination config loading
2023-03-23 14:35:29 +01:00
David Heinemeier Hansson bab8e42965 Merge pull request #151 from basecamp/portless-accessories
Accessories aren't required to publish a port
2023-03-23 14:32:58 +01:00
David Heinemeier Hansson 01d684746e Merge pull request #100 from stepbeekio/feature/multiple-traefik-entrypoints
Added the docker options override configuration for traefik
2023-03-23 14:28:40 +01:00
David Heinemeier Hansson 951a71f38e Style 2023-03-23 14:26:12 +01:00
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
David Heinemeier Hansson 19104cafb4 Merge branch 'main' into role-awareness 2023-03-21 08:20:26 -04: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 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]: https://github.com/rails/rails/commit/5c15b586aab85fc4fa1465499fc9a97a446f4d52
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