Nick Hammond
1d88281fee
Validate that destination, role, and service are not set as labels on roles and accessories
2025-06-09 19:08:20 -07:00
Donal McBreen
344e2d7995
Merge pull request #1564 from basecamp/add-kamal-host-var-mop-up
...
KAMAL_HOST env var mop-up
2025-05-20 14:32:57 +01:00
Donal McBreen
b387df0e4f
KAMAL_HOST env var mop-up
...
- Ensure tests pass
- Switch from -e to --env everywhere
- Check KAMAL_HOST env var in integration tests
2025-05-20 14:10:50 +01:00
Donal McBreen
9c8a44eec4
Merge pull request #1471 from jakeprem/jakeprem/add-kamal-host-var
...
feat: Add KAMAL_HOST to app and accessory containers
2025-05-20 13:48:35 +01:00
Donal McBreen
e217332cde
Merge pull request #1561 from basecamp/drop-ruby-3.1
...
Drop Ruby 3.1 from the test matrix
2025-05-15 16:20:32 +01:00
Donal McBreen
30d630ce4d
Drop Ruby 3.1 from the test matrix
...
It is EOL since 2025-03-26.
2025-05-15 15:21:13 +01:00
Donal McBreen
22e7243b10
Bump version for 2.6.1
v2.6.1
2025-05-15 15:15:29 +01:00
Donal McBreen
259a018d5a
Merge pull request #1558 from basecamp/per-role-proxy-docs
...
Per role proxy docs
2025-05-15 15:00:11 +01:00
Donal McBreen
a82e88d5c9
Merge pull request #1560 from basecamp/dont-redeploy-on-proxy-reboot
...
Don't deploy on proxy reboot
2025-05-15 14:57:58 +01:00
Donal McBreen
d6459e869a
Merge pull request #1559 from basecamp/default-proxy-config-if-nil
...
Default the proxy config if it is nil
2025-05-15 14:47:46 +01:00
Donal McBreen
ad21c7e984
Don't deploy on proxy reboot
...
It shouldn't be necessary to deploy the app on proxy reboot. When there
are multiple apps using the same proxy we'll only deploy the one we
run the reboot command from, so we don't always reboot anyway.
2025-05-15 14:45:19 +01:00
Donal McBreen
87965281a3
Default the proxy config is it is nil
...
Instead of checking for the proxy key, we'll set the config to {} if it
is nil in the Kamal::Configuration::Proxy initializer.
This is a bit cleaner, and maybe it will help with
https://github.com/basecamp/kamal/issues/1555 if somehow
@raw_config.key?(:proxy) is false but @raw_config.proxy is not nil.
2025-05-15 14:33:05 +01:00
Donal McBreen
dca96eafaa
Merge pull request #1557 from basecamp/sort-primary-role-app-hosts-first
...
Ensure primary_role app hosts are sorted first
2025-05-15 10:16:21 +01:00
Donal McBreen
7b1439c3c6
Update per-role proxy docs
...
Clarify that proxy: true/proxy: false only belong in the role config,
not at the root level.
2025-05-15 10:14:52 +01:00
Donal McBreen
b9e5ce7ca7
Ensure primary_role app hosts are sorted first
...
When booting non-primary role hosts we will always wait for a primary
role host to boor first.
So when booting in groups, if there are no primary role hosts in the
first batch, then booting will stall.
Sort primary role app_hosts first to avoid this.
Fixes: https://github.com/basecamp/kamal/issues/1553
2025-05-15 09:51:40 +01:00
Donal McBreen
f62c1a50c4
Merge pull request #1554 from basecamp/pre-connect-hook-before-remote-builds
...
Run pre-connect hooks before building
2025-05-14 16:05:53 +01:00
Donal McBreen
2c1d6ed891
Run pre-connect hooks before building
...
They might be needed for remote builds or the pre-build hook.
2025-05-14 15:55:54 +01:00
Donal McBreen
031f55ecf7
Bump version for 2.6.0
v2.6.0
2025-05-13 09:50:52 +01:00
Donal McBreen
d98d6a3475
Merge pull request #1550 from krzysztoff1/add-singular-role
...
Add a singular role
2025-05-12 15:20:55 +01:00
Krzysztof Duda
78c9d610cf
Add a singular role
2025-05-12 11:07:10 +02:00
Donal McBreen
4187ee2397
Merge pull request #1547 from basecamp/pin-accessories-to-tags
...
Pin accessories to tags
2025-05-12 08:48:52 +01:00
David Heinemeier Hansson
7bfb2ed9f2
Actually test the fixture for singular
2025-05-09 21:50:07 +02:00
David Heinemeier Hansson
299c741c1b
More natural api when you are just applying accessory to a single tag
2025-05-09 21:47:26 +02:00
David Heinemeier Hansson
fb82d04aaf
Use #filter_map instead of #collect + #compact
2025-05-09 21:30:33 +02:00
David Heinemeier Hansson
9d5a534ef8
Refactored for clarity and style
2025-05-09 21:26:41 +02:00
David Heinemeier Hansson
5ad000a08e
Unnecessary parenthesis
2025-05-09 21:16:31 +02:00
David Heinemeier Hansson
1ca2b4d394
Test with multiple host matches across roles
2025-05-09 21:15:44 +02:00
David Heinemeier Hansson
9aac51bbd0
Extract hosts for accessories by tags
2025-05-09 21:11:28 +02:00
David Heinemeier Hansson
83a5636e27
Pin accessories to tags
2025-05-09 18:14:47 +02:00
Donal McBreen
2d43f788c4
Merge pull request #1546 from basecamp/min-proxy-version-0.9.0
...
Set minimum proxy version to 0.9.0
2025-05-09 09:13:23 +01:00
Donal McBreen
c351c2d2de
Set minimum proxy version to 0.9.0
2025-05-09 08:40:41 +01:00
Donal McBreen
0d36fc4bd0
Merge pull request #1536 from lukef/bump-ed25519
...
Bumping ed25519 dependency to fix compile errors
2025-05-09 08:17:44 +01:00
Donal McBreen
317f00281a
Merge pull request #1504 from basecamp/proxy-metrics-port
...
Allow kamal-proxy run command options to be set
2025-05-06 13:15:47 +01:00
Donal McBreen
226e7091db
Add run_command_file to proxy boot
2025-05-06 12:14:58 +01:00
Donal McBreen
e32ea2e276
Expose the metrics port
2025-05-06 12:12:37 +01:00
Donal McBreen
1ea5d0bd86
Allow kamal-proxy run command options to be set
...
Allow --metrics_port and --debug options to be set via the boot config.
--metrics_port support will come in kamal-proxy v0.8.8, so this option
doesn't work right now.
This will be updated before the next Kamal release though and we can add
integration tests for the metrics at that point.
2025-05-06 12:11:48 +01:00
Luke Freeman
f5f1bab8bf
bumping ed25519 dependency to fix compile errors
2025-05-05 08:29:50 -07:00
Donal McBreen
419a1171fa
Merge pull request #1528 from rahearn/update-hooks-documentation
...
Update name of KAMAL_ROLES in sample hooks files
2025-04-28 08:12:25 +01:00
Ryan Ahearn
2f7feaf59d
Update name of KAMAL_ROLES in sample hooks files
2025-04-26 12:17:59 -04:00
Donal McBreen
52c6191803
Merge pull request #1526 from basecamp/proxy-boot-config
...
Extract Kamal::Configuration::Proxy::Boot
2025-04-24 08:44:55 +01:00
Donal McBreen
b1c5c5092f
Fix polynomial regexp issue
2025-04-24 08:17:02 +01:00
Donal McBreen
128294672d
Extract Kamal::Configuration::Proxy::Boot
...
This is for boot time configuration for the kamal proxy. Config in here
doesn't not belong in Kamal::Configuration::Proxy which is for deploy
time configuration for the app itself.
Kamal apps don't contain boot time config, because multiple apps can
share a proxy and the config could conflict.
2025-04-23 16:16:12 +01:00
Donal McBreen
eb915f830e
Merge pull request #1522 from basecamp/create-directories-before-mapping
...
Create the .kamal/proxy/apps-config directory
2025-04-22 15:29:36 +01:00
Donal McBreen
d26b3f1768
Create the .kamal/proxy/apps-config directory
...
Manually create it to avoid ownership issues when docker creates it
for you.
2025-04-22 15:18:54 +01:00
Donal McBreen
8789a1b10c
Merge pull request #1346 from i7an/handle-parentheses
...
Handle parentheses in variables in commands
2025-04-22 12:02:32 +01:00
Donal McBreen
54b2c79f08
Merge pull request #1520 from basecamp/inherit-lock
...
Inherit locks
2025-04-22 09:31:35 +01:00
Donal McBreen
d464707c32
Merge pull request #1518 from basecamp/dependabot/bundler/bundler-8bcbabbe88
...
Bump nokogiri from 1.18.4 to 1.18.8 in the bundler group across 1 directory
2025-04-22 09:01:50 +01:00
Donal McBreen
f5ff612846
Merge pull request #1519 from basecamp/escape-audit-line
...
Escape the audit line
2025-04-22 09:00:49 +01:00
Donal McBreen
04568dea2f
Inherit locks
...
We'll set the KAMAL_LOCK environment when calling run hooks. If set to
true we have the lock and the hook will not need to acquire it again if
it runs kamal commands.
Fixes: https://github.com/basecamp/kamal/issues/1517
2025-04-22 09:00:22 +01:00
Donal McBreen
63f65d60c6
Escape the audit line
...
Makes it compatible with zsh.
2025-04-22 08:26:51 +01:00