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
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
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
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
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
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
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
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
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
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
ba7a13f895
Only tag after deploying to all hosts
2024-03-29 10:29:58 +00:00
Donal McBreen
05ac808f2a
Use image tag to determine stale containers
...
Use current_running_version to determine the latest version when finding
stale containers.
2024-03-29 10:23:50 +00:00
Donal McBreen
fb7d9077ff
Use latest tag for the current destination
2024-03-29 09:48:09 +00:00
Donal McBreen
55dd2f49c1
Tag image after booting and include destination
...
If you are deploying more than one destination to a host, the latest
tags will conflict, so we'll append the destination to the tag.
The latest tag is used when booting the app or exec-ing a new container.
If a deploy doesn't complete on a host for all roles then we should
probably not be using it, so move the tagging to the end of the boot
process.
2024-03-29 08:51:50 +00:00
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
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
Evgeny Latyshev
981d391d4d
Fix accessory name check in with_accessory
2024-03-26 09:29:34 +03: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
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
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
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
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
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
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
6892abb4be
Config the number of containers to keep
...
By default we keep 5 containers around for rollback. The containers
don't take much space, but the images for them can.
Make the number of containers to retain configurable, either in the
config with the `retain_containers` setting on the command line
with the `--retain` option.
2024-03-04 11:55:45 +00:00
Aleksandr Nigomatulin
064ace0598
Rollback passing invoke_options
2024-02-24 21:36:20 +06:00
Aleksandr Nigomatulin
bc6c027315
Upds according remarks
2024-02-16 11:56:58 +06:00
Daniel Jackson
ad04bb7556
Show context for lock status message on raise_if_locked
2024-01-23 09:17:15 +01:00
Daniel Jackson
1ec69d3764
Tell user about 'kamal lock help' when deploy fails due to a lock
2024-01-23 09:16:09 +01:00
Daniel Jackson
2d1a0dc9ba
Informative message on lock error
2024-01-22 09:11:17 +01:00
Ahmed Al Hafoudh
0d709a3fdb
Allow lines option to be configured when following app logs
2024-01-08 09:34:38 +01:00