Commit Graph

37 Commits

Author SHA1 Message Date
Jeremy Daer
bd8f13dd5e Traefik image config for version pinning, upgrades, and custom images
Accounts for the 2.9.10 security release and allows testing Traefik 3 betas.

* Use `image` to configure a specific Traefik Docker image.
* Default to `traefik:v2.9` to track future 2.9.x minor releases rather
  than tightly pinning to `v2.9.9`.
* Support images from the configured registry.

References #165
2023-04-07 14:15:25 -07:00
Kevin McConnell
2957388bf6 Pin Traefik to v2.9.9 2023-03-28 14:59:03 +01:00
Donal McBreen
05488e4c1e Zero downtime redeploys
When deploying check if there is already a container with the existing
name. If there is rename it to "<version>_<random_hex_string>" to remove
the name clash with the new container we want to boot.

We can then do the normal zero downtime run/wait/stop.

While implementing this I discovered the --filter name=foo does a
substring match for foo, so I've updated those filters to do an exact
match instead.
2023-03-24 17:09:20 +00:00
Samuel Sieg
4670db7f6d Merge branch 'main' into global-logging-config 2023-03-24 08:35:43 +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
Samuel Sieg
b5372988f7 Add global logging configuration 2023-03-19 09:21:08 +01:00
Stephen van Beek
4c542930c5 Allow arbitrary docker options for traefik 2023-03-15 15:37:10 +00: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
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
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
David Heinemeier Hansson
d3f07d6313 Allow custom options per role 2023-03-09 11:09:19 +01:00
David Heinemeier Hansson
487fcd4cea Only used for traefik 2023-03-09 11:00:52 +01:00
David Heinemeier Hansson
c8badea6dd Extract argumentization for cmd and add proper escaping 2023-03-09 10:54:53 +01:00
David Heinemeier Hansson
0431bb5f97 Extract named constant and method 2023-03-09 09:29:56 +01:00
Rasmus
eacdf34540 fix: mrsk deploy fails when traefik config is empty 2023-03-08 18:55:04 +01:00
Chris Lowder
963b96ff62 Customizable Traefik host port
Allow users to free up port 80 on the host machine, without losing
Traefik's Docker routing super-powers.
2023-03-05 13:13:22 +00:00
David Heinemeier Hansson
5898fdd8f4 Expand arguments to be more self-explanatory in logs 2023-02-19 18:11:06 +01:00
David Heinemeier Hansson
f371cda8d8 Stick with json logger for filebeat compatibility but cap at 10mb 2023-02-09 19:56:17 +01:00
David Heinemeier Hansson
a80289d046 Use local log driver for everything
Auto rotation, max is 100mb
2023-02-09 17:02:15 +01:00
Xavier Noria
539752e9bd Load with Zeitwerk 2023-02-03 22:45:12 +01:00
David Heinemeier Hansson
ca86573d89 Custom cmd args for Traefik 2023-01-31 20:11:42 +01:00
David Heinemeier Hansson
3ebf8d7777 Fix interpolation 2023-01-30 13:59:44 +01:00
David Heinemeier Hansson
598e7ab97f Add power to follow logs on app and traefik 2023-01-22 11:27:31 +01:00
David Heinemeier Hansson
e4dc4c300e Log more aggressively for now 2023-01-22 10:21:50 +01:00
David Heinemeier Hansson
652e17f260 Configure Traefik logs and catch all 2023-01-21 12:39:47 +01:00
David Heinemeier Hansson
1f06b1ff94 Switch to just last 100 log lines for now 2023-01-12 16:00:21 +01:00
David Heinemeier Hansson
d3ab10be22 Better require setup 2023-01-12 14:57:34 +01:00
David Heinemeier Hansson
94d61f3d9a Proper param array separation 2023-01-08 16:32:31 +01:00
David Heinemeier Hansson
998525c93d Switch to cmd array so we can redact 2023-01-08 16:20:06 +01:00
David Heinemeier Hansson
ffb532a50d Add remove tasks to clean up 2023-01-08 14:55:06 +01:00
David Heinemeier Hansson
73019bedfb Keep containers around for quick rollback + restarting
Now need to deal with pruning.
2023-01-08 11:45:48 +01:00
David Heinemeier Hansson
55c5875321 Use Base class for default config assignment 2023-01-07 21:31:24 +01:00
David Heinemeier Hansson
f7f61f697f First 2023-01-07 15:32:25 +01:00