Donal McBreen
aca7796e9d
Bump version for 1.3.1
v1.3.1
2024-01-10 08:56:34 +00:00
Donal McBreen
8b6d8306d1
Merge pull request #637 from basecamp/tests-wait-longer-for-health
...
Be a bit more patient during tests
2024-01-09 16:45:28 +00:00
Donal McBreen
bb50546467
Merge pull request #636 from basecamp/tests-clean-known-hosts
...
Fix Net::SSH::HostKeyMismatch between bin/test runs
2024-01-09 16:45:12 +00:00
Donal McBreen
acc6b9ad71
Merge pull request #635 from basecamp/missing-base64-require
...
Add a missing base64 require
2024-01-09 16:44:42 +00:00
Matthew Kent
9c681d4a38
Be a bit more patient during tests.
...
Seeing reasonably consistent local failures at 20 seconds.
2024-01-09 08:21:45 -08:00
Matthew Kent
2a8924b53c
Address Net::SSH::HostKeyMismatch seen locally between bin/test runs.
2024-01-09 08:21:30 -08:00
Matthew Kent
c5ae54d7d4
Add a missing base64 require.
...
Also, prepare for the moving of base64 from default to a bundled gem in ruby 3.4.
2024-01-09 08:21:10 -08:00
Donal McBreen
4b05068493
Merge pull request #638 from basecamp/rails-7.2-compatible-rubies
...
Rails 7.2 compatible Rubies
2024-01-09 12:10:29 +00:00
Donal McBreen
68eb549795
Update to actions/checkout@v4 to silence node warning
2024-01-09 11:35:10 +00:00
Donal McBreen
1a3dd52af4
Rails 7.2 compatible Rubies
...
1. Add Ruby 2.7 specific Gemfile that uses an older version of nokogiri
2. Rails edge doesn't support Ruby 2.7.0, so exclude it.
3. Add Ruby 3.3
4. Update Gemfile.lock to test against Rails 7.1.2 as it's the latest
version.
5. Remove continue-on-error from the matrix and always set to true
2024-01-09 11:13:11 +00:00
Donal McBreen
457f06da13
Merge pull request #598 from basecamp/fix-duplicate-role-env-vars
...
Fix duplicate role env vars
2023-11-29 10:09:34 +00:00
Matthew Kent
7fa53d90bd
Merge hashes to de-dupe the app and role envs.
...
This is better then adding them together which confusingly results in
both ENV vars in the same file, though based on the load order, they
worked anyway.
2023-11-28 15:59:03 -08:00
Donal McBreen
a155b7baab
Bump version for 1.3.0
v1.3.0
2023-11-28 14:06:45 +00:00
Donal McBreen
175e3bc159
Merge pull request #507 from leonvogt/introduce-absolute-accessories-paths
...
Add option to set an absolute directory path
2023-11-28 10:15:27 +00:00
Donal McBreen
e3d8a2aa82
Merge pull request #594 from basecamp/match-primary-role-in-filters
...
Try to match primary_role when roles are filtered
2023-11-28 09:15:39 +00:00
Donal McBreen
0e067fb5e1
Merge pull request #595 from basecamp/error-on-filter-miss
...
Error out when roles or host filters don't match anything
2023-11-27 08:08:19 +00:00
Matthew Kent
63babecba7
Raise an error when either the filtered hosts or roles are empty.
...
Keeps us confusingly running things on the primary_host when nothing
matches.
2023-11-25 12:47:39 -08:00
Matthew Kent
79baa598fa
Make an effort to match the primary_role from a list of specific roles.
...
This is less surprising than picking the first role and first host.
2023-11-24 17:41:58 -08:00
Donal McBreen
b1dc188841
Remove stray file
2023-11-23 09:22:36 +00:00
Donal McBreen
635876bdb9
Merge pull request #523 from rmacklin/fix-error-message-in-pre-build-sample-hook
...
Fix duplicate error message in pre-build.sample
2023-11-16 08:51:22 +00:00
Donal McBreen
11521517fa
Merge pull request #550 from dmitrytrager/feature-name-all-for-accessory-reboot
...
feature: add NAME=all option for accessory reboot
2023-11-16 08:50:51 +00:00
Donal McBreen
610d9de3fd
Merge pull request #580 from happyscribe/feat/no-web
...
Allow Kamal to run without traefik
2023-11-16 08:44:45 +00:00
Donal McBreen
bf79df0f72
Bump version for 1.2.0
v1.2.0
2023-11-15 14:48:11 +00:00
Donal McBreen
a0959b5afd
Merge pull request #573 from basecamp/pre-post-traefik-reboot-hooks
...
Pre and post Traefik reboot hooks
2023-11-15 14:01:40 +00:00
Yoel Cabo
7472e5dfa6
Merge remote-tracking branch 'origin/main' into feat/no-web
2023-11-14 12:11:18 +01:00
Yoel Cabo
887b7dd46d
Do not invoke healthcheck on deploy when no web role
2023-11-14 11:34:32 +01:00
Donal McBreen
77a79b299a
Merge pull request #583 from basecamp/wildcard-filters
...
Add wildcards to roles and hosts filters
2023-11-14 08:19:02 +00:00
Matthew Kent
efcb855db7
Advertise wildcard support.
2023-11-13 23:43:26 -08:00
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
Yoel Cabo
87cb8c1f71
fix: allow configurations without web roles
2023-11-12 09:39:07 +01: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
5fd4a28bf7
Pre and post Traefik reboot hooks
...
Provide pre and post reboot hooks for Traefik, that can be used to
remove/add to an external load balancer to prevent requests from being
sent during the reboot.
Works best with the --rolling setting, where each hook is called once
per host.
2023-11-08 15:11:26 +00: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
f339626667
Add option to set absolute directory path
2023-11-03 22:48:30 +01: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