David Heinemeier Hansson
f98380ef0c
Merge pull request #802 from basecamp/envify-during-setup
...
Envify during setup
2024-05-14 16:00:28 -07:00
David Heinemeier Hansson
0bc27c10cc
Fix tests
2024-05-14 11:59:42 -07:00
David Heinemeier Hansson
e58d2f67f2
Fix env template path check and tests
2024-05-14 10:07:31 -07:00
David Heinemeier Hansson
938ac375a1
Only envify if there is a template file available
2024-05-13 17:08:53 -07:00
David Heinemeier Hansson
dc1f707a56
Fix test
2024-05-13 17:01:50 -07:00
David Heinemeier Hansson
033f2a3401
Correct invocation
2024-05-13 16:59:50 -07:00
David Heinemeier Hansson
7cac7e6fb0
Envify during setup
2024-05-13 15:18:11 -07:00
Nick Hammond
fb58fc0ba6
Add in a server exec command for running ad-hoc commands directly on the server
2024-05-13 14:17:06 -07:00
Donal McBreen
12cad5458a
Merge pull request #762 from kryachkov/main
...
Trim long hostnames
2024-05-10 16:05:27 +01:00
Donal McBreen
f8b7f74543
Merge pull request #786 from hundredwatt/add-target-option-to-builder
...
Add --target option to Builder to support multi-stage Docker builds
2024-05-10 15:15:31 +01:00
Donal McBreen
489d6dbcbb
Merge pull request #789 from basecamp/host-tags
...
Host specific env with tags
2024-05-10 08:08:29 +01:00
Donal McBreen
6d062ce271
Host specific env with tags
...
Allow hosts to be tagged so we can have host specific env variables.
We might want host specific env variables for things like datacenter
specific tags or testing GC settings on a specific host.
Right now you either need to set up a separate role, or have the app
be host aware.
Now you can define tag env variables and assign those to hosts.
For example:
```
servers:
- 1.1.1.1
- 1.1.1.2: tag1
- 1.1.1.2: tag2
- 1.1.1.3: [ tag1, tag2 ]
env_tags:
tag1:
ENV1: value1
tag2:
ENV2: value2
```
The tag env supports the full env format, allowing you to set secret and
clear values.
2024-05-09 16:02:45 +01:00
Jason Nochlin
1e44cc2597
fix rubocop violation
2024-05-08 19:22:25 -06:00
André Falk
63c47eca4c
Trim long hostnames
...
Hostnames longer than 64 characters are not supported by docker
2024-05-07 19:06:39 +02:00
Donal McBreen
3c8428504d
Bump version for 1.5.2
v1.5.2
2024-05-07 09:44:11 +01:00
Donal McBreen
8e71c48747
Merge pull request #759 from basecamp/details-accessory-host
...
Output the host when running accessory details
2024-05-02 15:54:08 +01:00
Donal McBreen
67a86e1068
Merge pull request #790 from basecamp/warn-on-missing-builder
...
Warn on missing builder
2024-05-02 12:50:00 +01:00
Donal McBreen
b67f40bdf7
Warn on missing builder
...
We are going to try to create a builder if one is missing, so let's warn
rather than report it as an error.
2024-05-02 12:38:20 +01:00
Donal McBreen
375f0283c4
Merge pull request #785 from basecamp/filter-traefik-hosts
...
Apply --hosts and --roles filters to traefik hosts as well
2024-04-29 14:48:23 +01:00
Jason Nochlin
947be0877f
add --target option for builder configuration
2024-04-27 10:24:47 -06:00
Matthew Kent
b8aaddb4c9
Apply --hosts and --roles filters to traefik hosts as well.
2024-04-26 17:08:57 -07:00
Donal McBreen
f48f528043
Bump version for 1.5.1
v1.5.1
2024-04-26 14:26:02 +01:00
Donal McBreen
ec0a082542
Merge pull request #779 from basecamp/fix-log-following
...
Escape single quotes to fix log following
2024-04-26 14:25:27 +01:00
Donal McBreen
6c638a8a77
Merge pull request #778 from basecamp/glob-match-roles-and-hosts
...
Allow glob matches for roles and hosts
2024-04-26 14:20:17 +01:00
Donal McBreen
1f5b936fa2
Escape single quotes to fix log following
...
Fixes: https://github.com/basecamp/kamal/issues/777
2024-04-26 14:16:19 +01:00
Donal McBreen
f785451cc7
Allow glob matches for roles and hosts
...
This lets you do things like:
```
kamal details -h '1.1.1.[1-9]'
kamal details -r 'w{eb,orkers}'
```
2024-04-26 13:43:52 +01:00
Donal McBreen
d475e88dbe
Bump version for 1.5.0
v1.5.0
2024-04-25 13:39:06 +01:00
Donal McBreen
d551f044d6
Merge pull request #772 from aishek/take-accessory-hosts-into-account
...
Take accessory hosts into account for --hosts
2024-04-25 11:57:45 +01:00
Donal McBreen
2611179d5e
Merge pull request #773 from xiaohui-zhangxh/docker-env-file-keep-non-ascii
...
don't escape non-ascii characters in docker env file
2024-04-25 11:57:14 +01:00
Donal McBreen
1a013b8d4b
Merge pull request #770 from ttilberg/769-ensure-valid-service-name-with-capital-letters
...
Allow capital letters to match valid service name, such as in MyApp
2024-04-25 11:52:55 +01:00
Maciej Litwiniuk
2f912367ac
Allow custom user and port for builder host
...
When ssh options are set, they overwrite username and password passed as ssh builder uri. Passing part of uri for ssh-kit is fine, as it then properly extracts username and password and forwards it as host.ssh_options (in which case it's no longer empty)
2024-04-17 17:49:50 +02:00
xiaohui
9a9a0914cd
don't escape non-ascii characters in docker env file
2024-04-17 17:42:06 +08:00
Alexandr Borisov
12c518097f
Take accessory hosts into account
2024-04-17 11:45:33 +03:00
Tim Tilberg
69f90387a8
Allow capital letters to match valid service name, such as in MyApp
2024-04-15 09:09:58 -05:00
Donal McBreen
e6d436f646
Output the host when running accessory details
...
We already do this for app and Traefik hosts.
2024-04-05 12:46:51 +01:00
Donal McBreen
31669d4dce
Merge pull request #758 from basecamp/any-runtime-in-test
...
Accept any runtime in the hook tests
2024-04-03 16:27:59 +01:00
Donal McBreen
9d20c1466e
Merge pull request #757 from basecamp/executable-sample-docker-setup-hook
...
Make the sample docker setup hook executable
2024-04-03 16:12:46 +01:00
Donal McBreen
ff1dabe7f8
Merge pull request #756 from basecamp/tidy-up-role-host-setup
...
Tidy up role and host commander setup
2024-04-03 16:09:12 +01:00
Donal McBreen
69aa422890
Accept any runtime in the hook tests
...
Occasionally in CI things run slowly and it takes more that 1 second
for a cli test to run, so let's allow any value for the runtime in the
hook checks.
2024-04-03 16:06:53 +01:00
Donal McBreen
f8b0883036
Make the sample docker setup hook executable
...
Fixes https://github.com/basecamp/kamal/issues/754
2024-04-03 15:50:47 +01:00
Donal McBreen
c8100d1f26
Tidy up role and host commander setup
...
Extract Kamal::Commander::Specifics to deal with host and role setup and
ensure that primary hosts and roles always come first. This means that
in a rolling deploy we deploy to the primary ones first.
This will be important when we remove the healthcheck step as we want
to confirm the primary host can be deployed to before completing a
deployment for other roles.
By setting the hosts and roles all together in one place we can sort
the primary ones to the front without creating infinite loops.
2024-04-03 15:46:30 +01:00
Donal McBreen
3628ecaa44
Merge pull request #753 from basecamp/dump-hook-output-on-failure
...
Include error message on failure
2024-04-03 10:52:49 +01:00
Donal McBreen
67a2d5e7ca
Include error message on failure
2024-04-03 10:43:20 +01:00
Donal McBreen
5e492ecc4d
Merge pull request #748 from basecamp/latest-by-tag
...
Latest by tag
2024-04-03 09:11:03 +01:00
Donal McBreen
77bad291a1
Merge pull request #751 from basecamp/app-exec-env
...
Set env variables when running kamal app exec
2024-04-02 11:03:38 +01:00
Donal McBreen
a0ce9f66c4
Merge pull request #752 from basecamp/dont-debug-hooks
...
Use default verbosity for hooks
2024-04-02 11:03:24 +01:00
Donal McBreen
82962c375d
Use default verbosity for hooks
2024-04-02 10:47:05 +01:00
Donal McBreen
8a6a51977f
Set env variables when running kamal app exec
...
Allow additional env variable to be set when running `kamal app exec`.
Works for both new and existing containers.
2024-04-01 15:01:32 +01:00
Donal McBreen
2562853ae3
Merge pull request #746 from igor-alexandrov/file-join
...
Replaced string interpolations with File.join to build paths
2024-03-29 13:47:24 +00:00
Donal McBreen
ed90b99f0d
Add tag_latest_image tests
2024-03-29 10:51:57 +00:00