Donal McBreen
8bb596e216
Merge pull request #741 from igor-alexandrov/destination_in_lock
...
Added destination to the lock directory
2024-03-28 08:26:57 +00:00
Igor Alexandrov
699bcc0d27
Combined two methods and into one
2024-03-27 20:56:47 +04:00
Donal McBreen
20e71d91c0
Label containers with empty destinations
...
This will allow us to filter for containers that have no destination in
cases where we deploy an empty + a non empty destination to the same
host.
To note:
```
\# Containers with a destination label
$ docker ps --filter label=destination
\# Containers with an empty destination label
$ docker ps --filter label=destination=
```
2024-03-27 14:48:55 +00:00
Donal McBreen
866303a59b
Merge pull request #700 from basecamp/git-archive-build
...
Build from a git archive
2024-03-27 09:23:00 +00:00
Donal McBreen
53bfefeb2f
Make building from a git archive the default
...
If no context is specified and we are in a git repo, then we'll build
from a git archive by default. This means we don't need a separate
setting and gives us a safer default build.
2024-03-27 08:42:10 +00:00
Donal McBreen
f3b7569032
Build from a git archive
...
Building directly from a checkout will pull in uncommitted files to or
more sneakily files that are git ignored, but not docker ignored.
To avoid this, we'll add an option to build from a git archive of HEAD
instead. Docker doesn't provide a way to build directly from a git
repo, so instead we create a tarball of the current HEAD with git
archive and pipe it into the build command.
When building from a git archive, we'll still display the warning about
uncommitted changes, but we won't add the `_uncommitted_...` suffix to
the container name as they won't be included in the build.
Perhaps this should be the default, but we'll leave that decision for
now.
2024-03-27 08:38:56 +00:00
Donal McBreen
e5457cf7b4
Merge pull request #736 from tiramizoo/traefik-info
...
Add tip how to apply changes to traefik by "traefik reboot"
2024-03-27 08:38:15 +00:00
Igor Alexandrov
cee449c269
Put locks in a locks directory. Ensure that locks directory exits on a primary host.
2024-03-27 12:04:39 +04:00
Donal McBreen
786454f2ee
Merge pull request #502 from latyshev/main
...
Fix accessory name checking that is passing to command `kamal accessory`
2024-03-26 13:58:26 +00:00
Donal McBreen
827e18480d
Merge pull request #732 from basecamp/always-send-clear-env
...
Always send the clear env to the container
2024-03-26 11:01:59 +00:00
Evgeny Latyshev
981d391d4d
Fix accessory name check in with_accessory
2024-03-26 09:29:34 +03:00
Igor Alexandrov
900041001a
Removed unused method
2024-03-25 22:48:23 +04:00
Igor Alexandrov
43672ec9a5
Added destination to the lock directory
2024-03-25 22:42:22 +04:00
Donal McBreen
49afdbb09a
Always send the clear env to the container
...
Secret and clear env variables have different lifecycles. The clear ones
are part of the repo, so it makes sense to always deploy them with the
rest of the repo.
The secret ones are external so we can't be sure that they are up to
date, therefore they require an explicit push via `envify` or `env push`.
We'll keep the env file, but now it just contains secrets. The clear
values are passed directly to `docker run`.
2024-03-25 11:42:27 +00:00
Donal McBreen
5f58575b62
Merge pull request #730 from igor-alexandrov/confirming_dialogs
...
Added -y option to kamal traefik reboot command
2024-03-22 15:14:44 +00:00
Wojciech Wnętrzak
cb49d7dada
Add tip how to apply changes to traefik by "traefik reboot"
...
Running "traefik restart" is not enough to apply changes
2024-03-22 13:50:54 +01:00
Igor Alexandrov
3d26fa8ddd
Updated confirmation text for the traefik reboot command
2024-03-22 14:27:18 +04:00
Donal McBreen
e99e1955b8
Extract app boot steps
...
The Kamal::Cli::App#boot has a lot to do, so extract the steps to make
things clearer.
2024-03-22 09:21:52 +00:00
Igor Alexandrov
bbf952952d
Added -y option to kamal traefik reboot command
2024-03-20 22:00:13 +04:00
Donal McBreen
3ecfb3744f
Add Rubocop
...
- Pull in the 37signals house style
- Autofix violations
- Add to CI
2024-03-20 10:23:02 +00:00
Donal McBreen
c985fa33d1
Bump version for 1.4.0
2024-03-20 09:27:23 +00:00
Donal McBreen
4966d52919
Pass around Roles instead of Strings
...
Avoid looking up roles by names everywhere. This avoids the awkward
role/role_config naming as well.
2024-03-08 08:44:35 +00:00
Donal McBreen
52bb40add0
Merge pull request #656 from DanielJackson-Oslo/informative-error-message-on-lock
...
Informative message on lock error
2024-03-07 11:16:18 +00:00
Donal McBreen
8c0784ed4a
Merge pull request #634 from alhafoudh/main
...
Allow lines option to be configured when following app logs
2024-03-07 11:11:08 +00:00
Donal McBreen
089a2d3bba
Merge pull request #710 from basecamp/install-wget-or-curl
...
Install docker with curl or wget
2024-03-07 11:01:30 +00:00
Donal McBreen
bd76d23916
Merge pull request #593 from CleverFew/role_logging_config
...
Role specific logging configuration
2024-03-07 10:53:34 +00:00
Donal McBreen
fa37fcd10c
Merge pull request #585 from tsvallender/docker-network
...
Add docker-setup hook
2024-03-07 10:51:08 +00:00
Donal McBreen
f5dc0858b0
Update error message to include wget
2024-03-07 10:49:32 +00:00
Donal McBreen
9dddb140b1
Merge pull request #558 from GeNiuS69/add-skip_push-to-setup
...
Add --skip_push option to setup
2024-03-07 10:26:41 +00:00
Donal McBreen
26b1d57c90
Install docker with curl or wget
...
If curl is not available to download the docker install script, try
with wget instead.
If neither is available or both fail, return a simple failing script
so that we don't carry on regardless.
Fixes: https://github.com/basecamp/kamal/issues/395
2024-03-07 10:16:03 +00:00
Donal McBreen
b94199415f
Convert combine by: '||' to any
2024-03-07 09:10:49 +00:00
Trevor Vallender
f69c45b7ea
Add docker-setup hook
...
This allows the user to make any necessary configuration changes to
Docker before setting up any containers, allowing those configuration
changes to take effect from the outset.
2024-03-06 19:01:48 +00:00
Nick Hammond
37544a6383
Merge branch 'basecamp:main' into valid_service_name
2024-03-06 09:09:13 -07:00
Nick Hammond
a1bc6d61af
Switch the regex ordering for hyphen and underscore for service name to remove warning
2024-03-06 09:08:17 -07:00
Donal McBreen
5c32be10f1
Merge pull request #707 from basecamp/boot-strategy-min-limit-1
...
Ensure a minimum limit of 1 for % boot strategy
2024-03-06 16:06:35 +00:00
Donal McBreen
1abd029ea0
Merge pull request #696 from dorianmariecom/patch-1
...
Replace \`service\` by 'service' so it doesn't get executed by bash
2024-03-06 16:04:11 +00:00
Donal McBreen
c4d0d3e5eb
Merge pull request #704 from basecamp/escape-registry-username-password
...
Escape the docker registry username and password
2024-03-06 15:58:46 +00:00
Donal McBreen
46e7cf8e78
Merge pull request #706 from basecamp/kamal-remove-noop
...
Ensure `kamal remove` completes without setup
2024-03-06 15:58:34 +00:00
Donal McBreen
c7cfc074b6
Ensure a minimum limit of 1 for % boot strategy
...
Fixes: https://github.com/basecamp/kamal/issues/681
2024-03-06 15:51:35 +00:00
Donal McBreen
8e2184d65e
Ensure kamal remove completes without setup
...
If `kamal setup` has not run or errored out part way through,
`kamal remove` should still complete.
Fixes: https://github.com/basecamp/kamal/issues/629
2024-03-06 14:59:26 +00:00
Donal McBreen
2be397b679
Escape the docker registry username and password
...
Fixes: https://github.com/basecamp/kamal/issues/278
2024-03-06 11:04:55 +00:00
Donal McBreen
cc8c508556
Merge branch 'main' into valid_service_name
2024-03-05 11:02:33 +00:00
Nick Hammond
3b16e047c5
Add hyphen to the allowed character list for service name
2024-03-04 10:03:22 -07:00
Donal McBreen
6563393d9a
Merge pull request #627 from aishek/626-mention-sprockets-config-in-deploy-template
...
Mention Sprockets config in deploy template
2024-03-04 15:31:41 +00:00
Ahmed Al Hafoudh
91f350fcce
Merge branch 'basecamp:main' into main
2024-03-04 16:22:28 +01:00
Nick Lozon
e4e9664049
use double quotes
2024-03-04 10:10:51 -05:00
Nick Lozon
788a57e85e
role logging_args method, use in app
2024-03-04 10:06:30 -05:00
Nick Lozon
f9a934a01f
configuration logging accessor
2024-03-04 10:06:30 -05:00
Aleksandr Borisov
f286fdc374
Update lib/kamal/cli/templates/deploy.yml
...
Co-authored-by: Donal McBreen <dmcbreen@gmail.com >
2024-03-04 16:26:11 +03:00
Donal McBreen
828cca322b
Merge pull request #650 from basecamp/retained-containers
...
Config the number of containers to keep
2024-03-04 12:05:35 +00:00