Mike Dalessio
8e470ed051
Builder::Remote.inspect_builder requires both checks to pass
...
Previously, if either of the builder or the remote context were in a
bad state, the build would proceed anyway and fail.
2025-07-17 15:41:38 -04:00
Donal McBreen
6e517665e8
OnePassword adapter refactor
...
- fix rubocop offenses
- extract fields_map
- no early return
- include fields in error message
2025-06-17 11:37:30 +01:00
Donal McBreen
4b0afdf42b
Merge pull request #1567 from capripot/add_all_fields_one_password_retrieval
...
feat: Add allowing retrieving all fields for an item
2025-06-17 11:22:10 +01:00
Donal McBreen
ccbcbbc8c5
Custom certs per role
...
- Upload the cert with `sshkit.upload!`
- Use the role name to create a directory for each role's certs
- Add an integration test for the custom certs
2025-06-17 10:26:57 +01:00
Donal McBreen
8a7260d1e9
Merge pull request #1531 from acidtib/feat/custom-ssl
...
feat: Add support for custom certificates
2025-06-17 09:25:15 +01:00
Donal McBreen
52e06c1351
Merge pull request #1570 from nickcoyne/bws-secrets
...
Request Bitwarden Secrets Manager secrets as JSON
2025-06-16 10:59:53 +01:00
Donal McBreen
9bcc953cd6
Stub bws project list correctly
2025-06-16 10:58:57 +01:00
Donal McBreen
e2015b47f9
Merge pull request #1422 from acidtib/feat/secrets-add-passbolt-adapter
...
feat(secrets): add Passbolt adapter
2025-06-16 09:14:07 +01:00
Donal McBreen
23f2bf71f9
Fix rubocop whitespace issues
2025-06-16 09:00:04 +01:00
Donal McBreen
054a85d3c0
Merge pull request #916 from nickhammond/buildpacks
...
Add pack option to the builder options for cloud native buildpacks
2025-06-16 08:57:27 +01:00
Donal McBreen
a201a6ca68
Merge pull request #1544 from prullmann/kamal-exec-piping
...
Allow piping into kamal exec #1485
2025-06-16 07:52:03 +01:00
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
Nick Coyne
a004232ffc
Request secrets as json
2025-06-02 09:06:05 +12:00
Nick Hammond
487aa306c9
Merge branch 'basecamp:main' into buildpacks
2025-05-23 10:59:05 -07:00
capripot
cbf94fa7f5
feat: Add allowing retrieving all fields for an item
...
With 1Password, there is a way to retrieve all fields
of a given item directly without having to enumerate them.
Allowing this when passing no arguments for secrets fetch
command.
2025-05-22 22:21:51 -07: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
Dainel Vera
99f763d742
Merge branch 'main' into feat/custom-ssl
2025-05-19 15:38:33 -06:00
Nick Hammond
4bd1f0536c
Merge branch 'basecamp:main' into buildpacks
2025-05-16 15:21:49 -07: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
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
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
Nick Hammond
c5e5f5d7cc
Merge branch 'basecamp:main' into buildpacks
2025-05-13 09:34:13 -07:00
Krzysztof Duda
78c9d610cf
Add a singular role
2025-05-12 11:07:10 +02:00
Nick Hammond
0ab0649d07
Merge branch 'basecamp:main' into buildpacks
2025-05-10 12:54:29 -07: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
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
c351c2d2de
Set minimum proxy version to 0.9.0
2025-05-09 08:40:41 +01:00
Peter Rullmann
d62c35e63e
Add UT for new interactive behaviour
...
also adding helpers to simulate STDIN being tty or file
2025-05-08 20:24:50 +02:00
Nick Hammond
68404e2673
Merge branch 'basecamp:main' into buildpacks
2025-05-08 02:34:40 -07: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
acidtib
9219b87630
remove chown for TLS certificates in proxy container
2025-04-29 19:57:41 -06:00
acidtib
a525d45b4d
allow defining certificates directly within ssl hash instead of at the proxy root level
2025-04-28 00:34:24 -06:00
acidtib
045410368d
add support for custom certificates
2025-04-26 01:03:15 -06: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
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
54b2c79f08
Merge pull request #1520 from basecamp/inherit-lock
...
Inherit locks
2025-04-22 09:31:35 +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
Nick Hammond
045da87219
Merge branch 'basecamp:main' into buildpacks
2025-04-21 09:33:40 -07:00
Donal McBreen
d0c9af20d8
Merge pull request #1405 from mike-weiner/fix-1399-fail-exec-without-cmd
...
Raise an error to the user if the exec command parsed is blank
2025-04-21 16:16:06 +01:00
Donal McBreen
f898fb8cb7
Merge pull request #1515 from basecamp/build-green-output
...
Redirect buildx build output to stdout
2025-04-21 10:48:22 +01:00
Donal McBreen
400fbcea1f
Merge pull request #1514 from basecamp/hook-kamal-roles
...
Add KAMAL_ROLES to hook env variables
2025-04-21 10:22:57 +01:00
Donal McBreen
93d1bd1369
Redirect buildx build output to stdout
...
Docker buildx build outputs the build logs to stderr by default.
SSHKit displays stderr logs in red, which can suggest that an error has
occurred.
Redirect the output to stdout, so it shows in green. If there is an
error, the output will be repeated in red anyway.
Fixes: https://github.com/basecamp/kamal/issues/1356
2025-04-21 10:19:36 +01:00
Donal McBreen
f768fab481
Add KAMAL_ROLES to hook env variables
...
And add an integration test to check the env vars are set.
2025-04-21 09:45:23 +01:00
Nick Hammond
fc67cdea33
Merge branch 'basecamp:main' into buildpacks
2025-04-18 07:47:38 -07:00