Donal McBreen
bf8779cef4
Merge pull request #950 from admtnnr/fix-registry-cache-options
...
builder/cache/options: fix order of build args when using registry
2024-10-23 13:59:59 +01:00
Donal McBreen
0f97e0b056
Merge pull request #1114 from alanoliveira/main
...
prevent escape '#' when generating env_file string
2024-10-23 12:35:07 +01:00
Donal McBreen
bd8c35b194
Merge pull request #1020 from igor-alexandrov/network-args
...
Allow to override network
2024-10-23 12:22:36 +01:00
Donal McBreen
35075e2e4d
Merge pull request #1136 from aidanharan/secrets-files-not-found-message
...
Updated secrets error message if secrets files do not exist
2024-10-23 11:14:41 +01:00
Donal McBreen
53dad5f54f
Merge pull request #1121 from kylerippey/adapter-cli-installation-checks
...
Raise meaningful error messages when secret adapter CLIs are not installed
2024-10-23 11:12:50 +01:00
Donal McBreen
66f6e8b576
Merge pull request #1045 from junket/allow-false-env-var-value
...
Allow false env var value
2024-10-23 11:11:43 +01:00
Alan Oliveira
a3f5830728
improve test legibility
2024-10-23 08:06:27 +09:00
Aidan Haran
c320343bb2
Updated secrets error message if secrets files do not exist
2024-10-19 20:01:00 +01:00
Jonas Pardeyke
e362b0106a
changed text
2024-10-16 09:08:30 +02:00
Kyle Rippey
8cec17dd05
Made secret adapters raise a meaningful error if the required CLI is not installed
2024-10-15 23:20:18 -07:00
Jonas Pardeyke
0f3786781b
added kamal proxy reboot to raised error
2024-10-15 22:47:08 +02:00
Alan Oliveira
844e3acf50
prevent escape '#' when generating env_file string
2024-10-15 14:57:53 +09:00
Donal McBreen
493c5690f1
Merge pull request #1066 from davidstosik/v2.1.1/path-space-fix
...
Support spaces in git repository path
2024-10-10 10:17:00 -04:00
Igor Alexandrov
da2a543cbc
Reverted network arguments everywhere except to accessory config
2024-10-09 10:00:49 +04:00
Igor Alexandrov
08dacd2745
Added command tests
2024-10-09 09:53:25 +04:00
Igor Alexandrov
b6a10df56a
Added tests for network configuration option
2024-10-09 09:53:25 +04:00
David Stosik
8d6d7ffed0
s/refute_match/assert_no_match/
2024-10-08 07:10:08 +09:00
Donal McBreen
67ce1912f7
Default to keeping 10m of proxy logs
...
Match the defaults for the application containers of 10m of logs.
Allow them to be altered with the proxy boot_config set command.
2024-10-07 16:20:40 -04:00
David Stosik
f45c754e53
Remove unnecessary method
2024-10-07 15:46:04 +09:00
David Stosik
d40057286d
Escape more paths and write a test
2024-10-07 15:46:04 +09:00
Donal McBreen
1e9c9e9103
Skip setting the proxy flag when ssl is false
...
Fixes: https://github.com/basecamp/kamal/issues/1037
2024-10-06 13:22:43 -04:00
junket
6d1d7a4c82
Updates argumentize test for false values
2024-10-03 10:05:54 -04:00
David Heinemeier Hansson
e5ca53db6e
Use new deploy config so as not to update all other tests
2024-10-02 17:34:13 -07:00
David Heinemeier Hansson
82a436fa02
Rubocop
2024-10-02 17:07:51 -07:00
David Heinemeier Hansson
7be2e7e0ba
Test accessory_hosts with roles and without filtering
2024-10-02 17:03:30 -07:00
Donal McBreen
276b469c2b
Merge pull request #1019 from nickhammond/ENV/destination
...
Set KAMAL_DESTINATION when loading config
2024-10-02 09:28:01 +01:00
Adam Tanner
256933f6f3
builder/cache/options: fix order of build args when using registry
2024-10-01 12:27:45 -04:00
Nick Hammond
1d8c40f5d2
Run RC
2024-10-01 08:20:21 -07:00
Nick Hammond
73c78079bc
Set KAMAL_DESTINATION when loading config
2024-10-01 08:16:52 -07:00
Donal McBreen
641e9056b3
Use = in kamal-proxy deploy command args
...
`=` is required for boolean values and works for all values.
2024-10-01 15:42:12 +01:00
Donal McBreen
b4bcf35f78
Merge pull request #1000 from kpumuk/hosts
...
Allow specifying multiple hosts for kamal-proxy via an array
2024-09-30 10:26:15 -04:00
Dmytro Shteflyuk
e75365c8c6
Simplified deploy options for kamal-proxy as it supports multiple --host arguments
2024-09-30 08:09:05 -04:00
Donal McBreen
e441399255
Add kamal secrets print for secret debugging
...
Dotenv's variable substitution doesn't work the same way as commands run
in the shell. It needs values to be escaped.
```sh
$ cat /tmp/env
SECRETS=$(cat /tmp/json)
SECRETS2=$(echo $SECRETS | jq)
$ cat /tmp/json
\{\ \"foo\"\ :\ \"bar\" \}
$ SECRETS=$(cat /tmp/json)
$ SECRETS2=$(echo $SECRETS | jq)
jq: parse error: Invalid numeric literal at line 1, column 2
$ ruby -e 'require "dotenv"; puts Dotenv.parse("/tmp/env")["SECRETS2"]'
{
"foo": "bar"
}
```
Since you then can't use the shell to debug, `kamal secrets print` will
allow you to see what the secrets will be set to.
2024-09-30 12:28:29 +01:00
Donal McBreen
32caf4b148
Merge pull request #995 from honzasterba/bw_nicer_error_message_on_non_field_fetch
...
[bitwarden] default fetch raises NoMethodError
2024-09-30 04:35:48 -04:00
Donal McBreen
28a02262df
Merge pull request #988 from igor-alexandrov/kamal-proxy-remove-no-target
...
Fixed kamal-proxy remove command
2024-09-30 04:18:12 -04:00
Dmytro Shteflyuk
c63ec39f07
Added a test for colliding hosts passed via hosts array
2024-09-29 20:56:23 -04:00
Dmytro Shteflyuk
8df7d7d92d
Do not allow both host and hosts for proxy configuration
2024-09-29 20:43:44 -04:00
Dmytro Shteflyuk
1d48a0fb0a
Allow specifying multiple hosts for kamal proxy via an array
2024-09-29 20:43:44 -04:00
Jan Sterba
29b02f5c30
[bitwarden] default fetch raises NoMethodError
...
When fetched item is not a login, Bitwarden adapter raises NoMethodError
because the returned JSON does not have the login.password value.
Add a nicer error message for that case.
2024-09-28 13:24:14 +02:00
Igor Alexandrov
6d63c4e9c6
Fixed example with the proxy status after the application has been removed
2024-09-27 21:11:51 +04:00
Igor Alexandrov
472d163cc7
Assert 404 after app is stopped
2024-09-27 19:15:42 +04:00
Igor Alexandrov
dadac999d7
Fixed kamal-proxy remove call
2024-09-27 17:45:35 +04:00
Donal McBreen
b3a6921118
Handle ssl: false in proxy config
...
Fixes: https://github.com/basecamp/kamal/issues/956
2024-09-26 06:17:45 -04:00
Donal McBreen
7633fe0293
Merge pull request #974 from basecamp/proxy-boot-config
...
Proxy boot config
2024-09-25 20:28:24 +01:00
Donal McBreen
f6851048a6
Proxy boot config
...
Add commands for managing proxy boot config. Since the proxy can be
shared by multiple applications, the configuration doesn't belong in
`config/deploy.yml`.
Instead you can set the config with:
```
Usage:
kamal proxy boot_config <set|get|clear>
Options:
[--publish], [--no-publish], [--skip-publish] # Publish the proxy ports on the host
# Default: true
[--http-port=N] # HTTP port to publish on the host
# Default: 80
[--https-port=N] # HTTPS port to publish on the host
# Default: 443
[--docker-options=option=value option2=value2] # Docker options to pass to the proxy container
```
By default we boot the proxy with `--publish 80:80 --publish 443:443`.
You can stop it from publishing ports, specify different ports and pass
other docker options.
The config is stored in `.kamal/proxy/options` as arguments to be passed
verbatim to docker run.
Where someone wants to set the options in their application they can do
that by calling `kamal proxy boot_config set` in a pre-deploy hook.
There's an example in the integration tests showing how to use this to
front kamal-proxy with Traefik, using an accessory.
2024-09-25 15:15:26 -04:00
Donal McBreen
f0d7f786fa
Traefik should be kamal-proxy in reboot hooks
2024-09-25 14:51:22 -04:00
David Heinemeier Hansson
04d21f45bb
Fix test
2024-09-20 08:45:40 -07:00
David Heinemeier Hansson
eabd57350c
Fix tests
2024-09-20 08:33:14 -07:00
David Heinemeier Hansson
487f6f5f53
Fix excess spacing
2024-09-20 08:31:56 -07:00
David Heinemeier Hansson
d98500982d
Update tests
2024-09-20 08:19:38 -07:00