Matthew Kent
7137850354
Add support for wildcard matches with '*' on roles and hosts.
...
eg:
--roles=*_chicago,*_tokyo
--hosts=app-*
Useful for targeted deploys.
2023-11-13 23:43:23 -08:00
Donal McBreen
8a85840a47
Merge pull request #582 from basecamp/allow-empty-roles
...
Add allow_empty_roles to control aborting on roles with no hosts.
2023-11-13 09:30:01 +00:00
Donal McBreen
80cc0c23d8
Merge pull request #578 from basecamp/enable-yaml-aliases
...
Enable yaml aliases
2023-11-13 09:28:40 +00:00
Donal McBreen
14a9129410
Merge pull request #577 from basecamp/set-primary-web-role
...
Support customizing the primary_web_role
2023-11-13 09:27:18 +00:00
Matthew Kent
60187cc3a4
Add allow_empty_roles to control aborting on roles with no hosts.
...
This added flexibility allows you to define base roles that might not
necessarily exist in each deploy destination.
2023-11-12 08:54:28 -08:00
Matthew Kent
ed58ce6e61
Add test coverage with aliases.
2023-11-11 17:25:50 -08:00
Matthew Kent
263b4a4fb8
Enable aliases for more exotic templating situations.
...
This is super useful for DRY when configuring a number of roles and you
hit the limits of what's reasonable with ERB.
2023-11-11 17:25:50 -08:00
Matthew Kent
073f745677
Test for both undefined roles and missing traefik.
2023-11-11 12:57:52 -08:00
Matthew Kent
a9cc7c73d2
Handle an undefined primary_web_role.
2023-11-11 12:57:31 -08:00
Matthew Kent
6898e8789e
Further test the override.
2023-11-10 17:17:16 -08:00
Matthew Kent
d0ac6507e7
Add test coverage.
2023-11-10 16:49:37 -08:00
Matthew Kent
628a47ad88
Background for the new option.
2023-11-10 16:39:06 -08:00
Matthew Kent
47f8725cf3
Support a dynamic primary_web_role instead of assuming it's 'web'.
...
This allows for more meaningful naming in roles.
The only caution here is that we don't support the renaming of roles, so
any migration is left to the user.
2023-11-10 16:35:25 -08:00
Donal McBreen
97ba6b746b
Merge pull request #564 from basecamp/return-502-if-no-container
...
Return a 502 when container is down
2023-11-08 14:58:22 +00:00
Donal McBreen
9e25d8a012
Priority 2 for the main app
2023-11-08 14:12:45 +00:00
Donal McBreen
da161445fa
Merge pull request #508 from leonvogt/ssh-port-option
...
Configurable SSH port
2023-11-06 08:48:26 +00:00
Leon
2d86d4f7cc
Add SSH port to run_over_ssh
2023-11-03 22:32:37 +01:00
Leon
792aa1dbdf
Add SSH port option
2023-11-03 22:32:37 +01:00
Donal McBreen
24a2f51641
Return a 502 when container is down
...
If the app container is down or not responding then traefik will return
a 404 response code. This is not ideal as it suggests a client rather
than a server problem.
To fix this, we'll define a catch all route that always returns a 502.
This is not ideal as this route would take priority over a shorter route
with priorty 1.
TODO: up the priority of the app route.
2023-11-03 14:20:52 +00:00
Donal McBreen
8f53104d00
Bump version for 1.1.0
v1.1.0
2023-11-01 09:20:45 +00:00
Donal McBreen
78fc91f2ec
Merge pull request #557 from basecamp/envify-reset-env-before-push
...
Reset the env before pushing
2023-10-30 11:54:00 +00:00
Donal McBreen
dd748fac8c
Reset the env before pushing
...
Calling `load_envs` again does not load updated env variables, because
Dotenv does not overwrite existing values.
To fix this we'll store the original ENV and reset to it before
reloading.
https://github.com/basecamp/kamal/issues/512
2023-10-30 11:31:50 +00:00
Donal McBreen
b732b2dd55
Merge pull request #547 from nickhammond/envify/trim-lines
...
Enable trim mode with ERB
2023-10-30 08:57:55 +00:00
Donal McBreen
e3254b2aa8
Merge pull request #544 from nickhammond/bugfix-require-sshkit-sensitive-util
...
Require sshkit within the sshkit util
2023-10-30 08:57:08 +00:00
Donal McBreen
e9269d2ee8
Merge pull request #501 from rience/optional-envify-push
...
Optionally Skip Push for "envify"
2023-10-30 08:30:21 +00:00
Donal McBreen
d2214b43b7
Merge pull request #499 from basecamp/env-only-needed-for-push
...
Remove the env check
2023-10-30 08:22:56 +00:00
Donal McBreen
370481921e
Merge pull request #498 from basecamp/app-exec-env-file
...
App exec with env file
2023-10-30 08:22:35 +00:00
Donal McBreen
aa23f26330
Merge pull request #479 from npezza93/main
...
Loosen superuser check to match docker-installs script check
2023-10-30 08:21:30 +00:00
Donal McBreen
f4933d83bf
Merge pull request #477 from clintmiller/patch-1
...
Pass KAMAL_VERSION env var to container run
2023-10-30 08:19:20 +00:00
Nick Hammond
6c36c82153
Enable trim mode with ERB
2023-10-24 17:09:05 -07:00
Krzysztof Adamski
8ca04032a1
Optionally Skip Push for "envify"
2023-10-23 14:49:39 +02:00
Nick Hammond
2fb22c934b
Require sshkit within the sshkit util
2023-10-22 22:34:22 -07:00
Donal McBreen
f6662c7a8f
Remove the env check
...
The env check is not needded anymore as all the commands rely on the
env files having already been created remotely.
The only place the env is needed is when running `kamal env push` and
that will still raise an apropriate error.
2023-09-25 15:23:01 +01:00
Donal McBreen
645f5ab72d
App exec with env file
...
When calling `kamal app exec` for new non interactive containers, run
the command per role on each server and include the role config
including the environment.
Fixes: https://github.com/basecamp/kamal/issues/492
2023-09-25 15:07:05 +01:00
Clint Miller
8dca65f48f
Fix commands/app tests
2023-09-20 08:12:27 -05:00
dhh
83a2d52ff4
Bump version for 1.0.0
v1.0.0
2023-09-18 17:39:01 -07:00
Nick Pezza
1a2796a7d0
Loosen superuser check to match docker-installs script check
2023-09-18 20:32:59 -04:00
Clint Miller
d80fdf8468
Pass KAMAL_VERSION env var to container run
...
In lieu of a general purpose mechanism to pass dynamically-evaluated env-vars at container execution time, we can pass the `config.version` as KAMAL_VERSION to avoid having to take apart the container name just to determine the SHA of the deployed version in the entrypoint.
2023-09-18 16:07:36 -05:00
dhh
90fefc419f
Point to rolling restarts
2023-09-18 08:31:49 -07:00
dhh
8671963719
Explain asset bridging
2023-09-18 08:16:44 -07:00
Donal McBreen
a03ffd5b92
Merge pull request #476 from basecamp/exec-with-role
...
Run interactive commands with the correct host
2023-09-18 12:14:13 +01:00
Donal McBreen
0861730e0e
Run interactive commands with the correct host
...
Fixes https://github.com/basecamp/kamal/issues/430
2023-09-18 12:00:36 +01:00
David Heinemeier Hansson
6b0f93a564
Update README.md
2023-09-16 16:02:54 -07:00
David Heinemeier Hansson
e6371faf4f
Merge pull request #473 from basecamp/introduce-git-gateway
...
Extract Kamal::Git as gateway for all git usage
2023-09-16 11:47:18 -07:00
dhh
e95a9b4fa2
Fix tests
2023-09-16 11:35:29 -07:00
dhh
e5886a1a8e
Merge branch 'main' into introduce-git-gateway
...
* main:
Healthcheck polling is a CLI concern
2023-09-16 11:31:48 -07:00
David Heinemeier Hansson
ec8192b160
Merge pull request #472 from basecamp/move-healthcheck-poller-to-cli
...
Healthcheck polling is a CLI concern
2023-09-16 11:31:28 -07:00
dhh
2da03a220d
Merge branch 'main' into introduce-git-gateway
...
* main:
No longer used
Fix env validation
Fix tests
Fix test
Extract Kamal::EnvFile
2023-09-16 11:31:18 -07:00
dhh
cfbfb37e23
Extract Kamal::Git as gateway for all git usage
2023-09-16 11:30:29 -07:00
David Heinemeier Hansson
ff4d025840
Merge pull request #471 from basecamp/extract-env-writer
...
Extract Kamal::EnvFile
2023-09-16 11:29:43 -07:00