Donal McBreen
4435fdf6fc
Allow the driver to be set
2024-08-01 11:57:43 +01:00
Donal McBreen
2dd0ccc276
docker buildx build -> docker build
2024-08-01 10:18:56 +01:00
Donal McBreen
efb2a5d7c6
Get tests passing
2024-08-01 10:18:56 +01:00
Donal McBreen
e7431f9832
Simplfy choosing a builder
2024-08-01 10:18:56 +01:00
Donal McBreen
cf80932216
Validate multiarch configuration
...
Remote and local are only allowed when multiarch is enabled.
Remote requires a host and arch, local only requires an arch.
2024-08-01 10:18:56 +01:00
Donal McBreen
cf81837737
Rip out context_hosts checks
...
The remote host is now encoded in the builder name so we don't need
to check it. We'll just do an inspect to confirm the builder exists.
2024-08-01 10:18:56 +01:00
Donal McBreen
8567ce9bf9
Move multiarch remote builder to hybrid builder
...
Include the host name in the builder name, so we can have one builder
per host/arch across all kamal projects.
Inherit from the remote builder. The difference in the hybrid builder
is that we create a local buildx instance and append the remote context
to it.
2024-08-01 10:18:56 +01:00
Donal McBreen
5d8e4dee13
Create a context for local builds
...
This ensures we use the docker-container driver and not whatever the
local default is.
2024-08-01 10:18:56 +01:00
Donal McBreen
10a7645ab8
Local build doesn't need a builder
2024-08-01 10:18:56 +01:00
Donal McBreen
c93f0f3048
Dump native builder
...
We already ensure that buildx is installed, so let's always use it.
2024-08-01 10:18:56 +01:00
Donal McBreen
6cedec68e3
Move native remote to just remote
...
It's just a remote builder, that will build whichever platform is asked
for, so let's remove the "native" part.
We'll also remove the service name from the builder name, so multiple
services can share the same builder.
2024-08-01 10:18:56 +01:00
Donal McBreen
2a4a8ac859
Combine multiarch and native/cache builders
...
Combine the two builders, as they are almost identical. The only
difference was whether the platforms were set.
The native cached builder wasn't using the context it created, so now
we do.
We'll set the driver to `docker-container` - it seems to be the default
but the Docker docs claim it is `docker`.
2024-08-01 10:18:56 +01:00
Donal McBreen
f48987aa03
Merge pull request #903 from basecamp/integration-test-insecure-registry
...
Integration test insecure registry
2024-08-01 09:57:17 +01:00
Donal McBreen
ef051eca1b
Merge pull request #904 from galori/main
...
Fixed typo in `env.yml`: "valies" --> "values"
2024-08-01 09:57:03 +01:00
Gall Steinitz
173d44ee0a
fixed typo in env.yml: valies --> values
2024-07-31 22:12:21 -07:00
Donal McBreen
4e811372f8
Integration test insecure registry
...
The integrations tests use their own registry so avoid hitting docker
hub rate limits.
This was using a self signed certificate but instead use
`--insecure-registry` to let the docker daemon use HTTP.
2024-07-31 16:54:00 +01:00
Donal McBreen
ec4aa45852
Bump version for 1.8.1
v1.8.1
2024-07-29 09:09:57 +01:00
Donal McBreen
5e11a64181
Merge pull request #891 from basecamp/single-pull
...
Pull once from hosts that warm registry mirrors
2024-07-22 08:18:48 +01:00
Jeremy Daer
57d9ce177a
Pull once from hosts that warm registry mirrors
2024-07-18 09:14:22 -07:00
Donal McBreen
8a98949634
Merge pull request #886 from guoard/patch-2
...
Remove `--update` flag from `apk add` command
2024-07-16 15:46:37 +01:00
Donal McBreen
0eb9f48082
Merge pull request #887 from basecamp/fix-tests-with-git-config
...
Fix the tests when you have a git config email set
2024-07-16 13:08:18 +01:00
Donal McBreen
9db6fc0704
Fix the tests when you have a git config email set
...
The ran ok on CI where we fall back to `whoami`, but failed locally
where there was a git email set.
2024-07-16 12:09:05 +01:00
Donal McBreen
27fede3caa
Merge pull request #884 from basecamp/x-config
...
Add support for configuration extensions
2024-07-16 11:38:28 +01:00
Donal McBreen
29c723f7ec
Add support for configuration extensions
...
Allow blocks prefixed with `x-` in the configuration as a place to
declare reusable blocks with YAML anchors and aliases.
Borrowed from the Docker Compose configuration file format -
https://github.com/compose-spec/compose-spec/blob/main/spec.md#extension
Thanks to @ruyrocha for the suggestion.
2024-07-15 20:47:55 +01:00
Ali Afsharzadeh
2755582c47
Remove --update flag from apk add command
2024-07-15 22:15:25 +03:30
Donal McBreen
fa73d722ea
Bump version for 1.8.0
v1.8.0
2024-07-15 14:21:23 +01:00
Donal McBreen
c535e4e44f
Merge pull request #883 from basecamp/revert-840-main
...
Revert "Add x25519 gem, support Curve25519"
2024-07-15 13:56:49 +01:00
Donal McBreen
0ea07b1760
Merge pull request #878 from pagbrl/main
...
feat: Use git email as performer when available
2024-07-15 13:41:17 +01:00
Donal McBreen
03b531f179
Merge pull request #865 from basecamp/clean-envify-env
...
Ensure envify templates aren't polluted by existing env
2024-07-15 13:41:03 +01:00
Donal McBreen
d8570d1c2c
Merge pull request #847 from basecamp/remove-ruby-2.7-from-ci
...
Remove Ruby 2.7 from CI
2024-07-15 13:40:37 +01:00
Donal McBreen
3fe70b458d
Merge pull request #862 from jeromedalbert/bump-sshkit
...
Bump sshkit to support unbracketed IPv6 addresses
2024-07-15 13:40:18 +01:00
Donal McBreen
ade8b43599
Merge pull request #866 from acidtib/ssh-key-overwrite
...
Configurable SSH Identity
2024-07-15 13:39:51 +01:00
Donal McBreen
d24fc3ca4e
Revert "Add x25519 gem, support Curve25519"
2024-07-15 13:36:50 +01:00
Donal McBreen
7c244bbb98
Merge pull request #879 from basecamp/seed-mirror
...
Seed docker mirrors by pulling once per mirror first
2024-07-15 13:30:53 +01:00
Donal McBreen
1369c46a83
Seed docker mirrors by pulling once per mirror first
...
Find the first registry mirror on each host. If we find any, pull the
images on one host per mirror, then do the remainder concurrently.
The initial pulls will seed the mirrors ensuring that we pull the image
from Docker Hub once each.
This works best if there is only one mirror on each host.
2024-07-11 16:20:37 +01:00
Paul Gabriel
deccf1cfaf
feat: Use git email as performer when available
2024-07-11 11:19:44 +02:00
Donal McBreen
1573cebadf
Merge pull request #868 from nickhammond/env/service
...
Add ENV['KAMAL_SERVICE'] to hooks
2024-07-10 10:26:59 +01:00
Nick Hammond
85a2926cde
Remove the deprecated docker compose version ( #869 )
2024-06-28 15:00:23 -07:00
Nick Hammond
58a51b079e
Add KAMAL_SERVICE to custom hooks and exclude from auditor
2024-06-27 10:52:55 -06:00
Nick Hammond
f1f3fc566f
Add ENV['SERVICE'] to hooks
2024-06-27 10:26:11 -06:00
acidtib
44726ff65a
overwrite ssh identity
2024-06-26 17:14:13 -06:00
Jerome Dalbert
fd0d4af21f
Bump sshkit to support unbracketed IPv6 addresses
...
Set sshkit minimum version to 1.23.0, which includes an enhancement to
support unbracketed IPv6 addresses.
See https://github.com/capistrano/sshkit/pull/538
2024-06-25 12:17:40 -07:00
Jeremy Daer
13409ada5a
Ensure envify templates aren't polluted by existing env
...
Setting `GITHUB_TOKEN` as in the docs results in reusing the existing
`GITHUB_TOKEN` since `gh` returns that env var if it's set:
```bash
GITHUB_TOKEN=junk gh config get -h github.com oauth_token
junk
```
Using the original env ensures that the templates will be evaluated the
same way regardless of whether envify had been previously invoked.
2024-06-25 11:14:34 -07:00
Donal McBreen
9a1379be6c
Bump version for 1.7.3
v1.7.3
2024-06-25 15:03:02 +01:00
Donal McBreen
31d6c198da
Merge pull request #861 from K4sku/update-docker-setup-sample-hook
...
Expand on docker-setup.sample hook
2024-06-25 14:44:13 +01:00
Donal McBreen
22afe4de77
Merge pull request #864 from basecamp/allow-arrays-in-args
...
Allow arrays in args
2024-06-25 14:41:07 +01:00
Donal McBreen
b63982c3a7
Allow arrays in args
...
Just check that args is a Hash without checking the value types.
Fixes: https://github.com/basecamp/kamal/issues/863
2024-06-25 14:18:23 +01:00
Cezary Kłos
9e12d32cc3
Expand on docker-setup.sample script so it creates docker network "kamal" on each of the defined hosts.
2024-06-24 12:45:56 +02:00
Donal McBreen
ff03891d47
Bump version for 1.7.2
v1.7.2
2024-06-24 10:11:27 +01:00
Donal McBreen
f21dc30875
Merge pull request #858 from basecamp/match-does-not-exist
...
Match a "does not exist" error message
2024-06-24 09:54:25 +01:00