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
Samuel Sieg
c3d0382935
Add another assertion for escape_shell_value
2023-03-17 16:31:10 +01:00
Samuel Sieg
2de5250486
Add tests for Mrsk::Utils
2023-03-17 16:29:25 +01:00
Samuel Sieg
dae8b14469
Fix indentation
2023-03-16 08:35:12 +01:00
Samuel Sieg
b166f3fbf4
Don't report exception here too
2023-03-16 08:29:10 +01:00
Samuel Sieg
d33b723afb
Don't report exception
2023-03-16 08:24:54 +01:00
Samuel Sieg
aae290cefc
Add CLI tests for remaining commands that are not tested yet
2023-03-15 16:48:12 +01: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
3fd2f3f2c5
Improve comments
2023-03-14 16:05:57 +01: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
Samuel Sieg
0ac2cd2a4b
Add tests for deploy/redeploy commands
2023-03-14 11:49:31 +01:00
Richard Taylor
3e0b71b631
Fix healthcheck test
...
Looks like the tests started failing on the options healthcheck PR
after merging the container name env var PR.
2023-03-13 14:51:54 +00: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
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
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
David Heinemeier Hansson
3026a92c98
Merge pull request #71 from tbuehlmann/destination-awareness
...
Destination aware container names
2023-03-09 13:25:49 +00:00
David Heinemeier Hansson
1f784176b7
Allow value-less options with true
2023-03-09 11:17:28 +01:00
David Heinemeier Hansson
d3f07d6313
Allow custom options per role
2023-03-09 11:09:19 +01:00
David Heinemeier Hansson
98a14f6173
Add cmd args for roles
2023-03-09 11:01:06 +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
5a3ea24c6b
Merge pull request #77 from calmyournerves/dockerfile-context-build-options
...
Allow setting the Dockerfile and the Docker build context when building
2023-03-09 08:32:57 +00:00
David Heinemeier Hansson
46bec120c8
Test running without special config
2023-03-09 09:30:09 +01:00
Samuel Sieg
2b95cdf8d0
Merge branch 'main' into dockerfile-context-build-options
2023-03-09 08:54:23 +01:00
David Heinemeier Hansson
7f0e6f1f13
Merge pull request #85 from clowder/traefik-host-port
...
Customizable Traefik host port
2023-03-08 17:06:51 +00:00
David Heinemeier Hansson
2e9d877185
Merge pull request #88 from simonrand/ensure-curl-is-available
...
Ensure curl is installed on hosts during bootstrapping
2023-03-08 17:05:40 +00:00
David Heinemeier Hansson
347046019f
Add test
2023-03-08 18:05:06 +01:00
David Heinemeier Hansson
155384472a
Allow primary host even when a specific role has been set
2023-03-08 18:00:13 +01:00
David Heinemeier Hansson
a4d576f105
Test ENV username
2023-03-08 17:43:29 +01:00
Tobias Bühlmann
8b913068de
Add destination to healthcheck containers names
2023-03-06 16:54:13 +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
Samuel Sieg
ff88ee0b22
Allow setting the build context used for building
2023-03-04 10:59:52 +01:00
Samuel Sieg
b6934b0f41
Allow configuring the Dockerfile used for building
2023-03-04 10:59:23 +01:00
Tobias Bühlmann
170562c7e7
Let App be aware of destination
2023-03-03 15:29:00 +01:00
David Heinemeier Hansson
2004cdaa0d
Fix test
2023-02-27 12:59:41 +01:00
David Heinemeier Hansson
817336df49
No readiness delay in testing
2023-02-23 12:03:03 +01:00
David Heinemeier Hansson
4c399a74bb
Update to match latest
2023-02-23 12:02:56 +01:00
David Heinemeier Hansson
371f98d67f
Start before stopping and longer timeouts
2023-02-22 19:04:23 +01:00
David Heinemeier Hansson
9b02a7668d
Merge branch 'main' into pr/53
...
* main:
Bump version for 0.8.0
Remove images of the same name before pulling a new one
Changed to a timeout
Better language
Switch to ruby-based retry
2023-02-20 18:14:47 +01:00
David Heinemeier Hansson
42b343436d
Remove images of the same name before pulling a new one
...
Or you'll end up with untagged dupes.
2023-02-20 18:06:16 +01:00
David Heinemeier Hansson
9d6ccf9889
Changed to a timeout
2023-02-20 17:59:41 +01:00
Paul Gabriel
f81ba12aa5
fix(escape): Escape double quotes and all other characters reliably
2023-02-20 16:49:47 +01:00
Paul Gabriel
25e8b91569
fix(escape-cli-args): Always use quotes to escape CLI arguments
2023-02-20 15:02:34 +01: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
28be8dc0f0
Encourage registry password from ENV
2023-02-19 17:42:30 +01:00
David Heinemeier Hansson
2ed3ccc53e
More readable tests
2023-02-19 17:40:41 +01:00
David Heinemeier Hansson
5356f31e2e
Remove also removes accessories but requires confirmation
2023-02-19 17:16:14 +01:00
David Heinemeier Hansson
67cb89b9b9
Remove requires confirmation
2023-02-19 17:16:06 +01:00