Donal McBreen
434490bd0c
Merge pull request #940 from basecamp/proxy
...
Replace Traefik with kamal-proxy
2024-09-17 09:47:16 +01:00
Nick Hammond
548452aa12
Merge branch 'basecamp:main' into buildpacks
2024-09-16 18:11:33 -07:00
Donal McBreen
267b526438
Switch proxy/hosts to proxy/host
...
The proxy only supports a single host per app for nowm so make the
config match that.
2024-09-16 20:45:09 +01:00
Donal McBreen
1f721739d6
Use version 0.1.0 of kamal-proxy and add minimum version check
2024-09-16 16:44:58 +01:00
Donal McBreen
6c51e596ae
Put locks directories in .kamal so they leave no trace when deleted
2024-09-16 16:44:58 +01:00
Donal McBreen
7f31510aec
Set hosts via config rather than options
2024-09-16 16:44:58 +01:00
Donal McBreen
e8ff233e81
Fix default log header tests
2024-09-16 16:44:58 +01:00
Donal McBreen
a316e51eda
Add user agent to default headers
2024-09-16 16:44:58 +01:00
Donal McBreen
bf91d6c1ca
Fix command description
2024-09-16 16:44:58 +01:00
Donal McBreen
a84ee6315f
Rename service -> app directory
2024-09-16 16:44:58 +01:00
Donal McBreen
3c39086613
Not experimental
2024-09-16 16:44:58 +01:00
Donal McBreen
8b965b0a31
Handle polling without the healthcheck config
2024-09-16 16:44:58 +01:00
Donal McBreen
d2672c771e
Remove redundant call to env remove
2024-09-16 16:44:58 +01:00
Donal McBreen
24031fefb0
Remove proxy only if no apps are installed
2024-09-16 16:44:58 +01:00
Donal McBreen
35fe9c154d
Move audits back to run dir so they survive kamal remove
2024-09-16 16:44:58 +01:00
Donal McBreen
b8972a6833
Remove service directory on kamal remove
2024-09-16 16:44:58 +01:00
Donal McBreen
d7d6fa34b0
Use Volume for kamal proxy config volume
2024-09-16 16:44:58 +01:00
Donal McBreen
c21757f747
Move all files on the host under a common directory
...
This will make running kamal remove simpler, we can just clean up that
directory.
2024-09-16 16:44:58 +01:00
Donal McBreen
cb73c730f9
No need for run_id
2024-09-16 16:44:58 +01:00
Donal McBreen
109339189a
Fix up integration app_test.rb
2024-09-16 16:44:58 +01:00
Donal McBreen
33834a266a
Drop sleep after container healthy
2024-09-16 16:44:58 +01:00
Donal McBreen
e1016b2469
No need to wait_for_healthy
2024-09-16 16:44:58 +01:00
Donal McBreen
a40b644145
Check that there's no traefik hooks left behind
2024-09-16 16:44:58 +01:00
Donal McBreen
ccb7424197
Remove stray exit!
2024-09-16 16:44:58 +01:00
Donal McBreen
2125327d54
proxy/host -> proxy/hosts
2024-09-16 16:44:58 +01:00
Donal McBreen
f4d309c5cc
Rip out Traefik
2024-09-16 16:44:55 +01:00
Donal McBreen
5bca8015bc
Map kamal proxy config into .kamal/proxy/config
...
This will allow us to share files with the proxy via the host.
2024-09-16 16:44:41 +01:00
Donal McBreen
27a7b339a6
Drop run_directory configuration option
...
We need to drop to be fixed so multiple applications put the config in
the same place.
2024-09-16 16:44:41 +01:00
Donal McBreen
dcd4778dd9
Port -> app_port
2024-09-16 16:44:41 +01:00
Donal McBreen
6f2eaed398
Work out the host and port for the container
...
Avoid docker inspect:
1. Use the container ID as the host
2. Configure the port, default to 3000
2024-09-16 16:44:41 +01:00
Donal McBreen
e9d480b514
Add the proxy/ssl config and pass on to kamal-proxy
2024-09-16 16:44:41 +01:00
Donal McBreen
2fdc59a3aa
Fix tests
2024-09-16 16:44:41 +01:00
Donal McBreen
b33c999125
Remove envify, make proxy booting work with env files
2024-09-16 16:44:41 +01:00
Donal McBreen
2056351c38
Use kamal network for accessories
2024-09-16 16:44:41 +01:00
Donal McBreen
9c2d5f83f7
Boot latest version when upgrading proxy
2024-09-16 16:44:41 +01:00
Donal McBreen
f347ef7e44
Add proxy upgrade command
2024-09-16 16:44:41 +01:00
Donal McBreen
63ebeda489
Create proxy and app containers in a kamal network
2024-09-16 16:44:41 +01:00
Donal McBreen
13bdf50ceb
Fix tests for proxy defaults and required builder arch
2024-09-16 16:44:41 +01:00
Donal McBreen
bd6558630f
Fix merge error
2024-09-16 16:44:39 +01:00
Donal McBreen
53903ddcd2
Read buffer not buffering
2024-09-16 16:44:21 +01:00
Donal McBreen
55756fa6f3
Set request and response headers
2024-09-16 16:44:21 +01:00
Donal McBreen
fe0c656de5
Split buffer requests/responses
2024-09-16 16:44:21 +01:00
Donal McBreen
418d8045d8
Add forward headers support
2024-09-16 16:44:21 +01:00
Donal McBreen
d63ff8f251
Set extra fields
2024-09-16 16:44:21 +01:00
Donal McBreen
eab717e0cf
Add kamal-proxy in experimental mode
...
The proxy can be enabled via the config:
```
proxy:
enabled: true
hosts:
- 10.0.0.1
- 10.0.0.2
```
This will enable the proxy and cause it to be run on the hosts listed
under `hosts`, after running `kamal proxy reboot`.
Enabling the proxy disables `kamal traefik` commands and replaces them
with `kamal proxy` ones. However only the marked hosts will run the
kamal-proxy container, the rest will run Traefik as before.
2024-09-16 16:44:19 +01:00
Donal McBreen
66d5e25834
Merge pull request #939 from basecamp/secrets-mutex
...
Add a mutex around loading secrets
2024-09-16 16:26:58 +01:00
Donal McBreen
6bbbd81da1
Add a mutex around loading secrets
...
Loading secrets may ask for use input, so we need to ensure only one
thread does it at a time.
2024-09-16 14:44:39 +01:00
Donal McBreen
876eebc7c5
Merge pull request #936 from basecamp/asset-extraction-entrypoint
...
Override the entrypoint when extracting assets
2024-09-13 17:46:43 +01:00
Donal McBreen
dc1bbac3c8
Override the entrypoint when extracting assets
...
When overriding the command, docker will still run the entrypoint. We
want to avoid that here - we just want to get the assets out as quickly
as possible. Otherwise maybe something important is going on when we
stop the container.
2024-09-12 19:31:18 +01:00
Donal McBreen
045aa7d167
Merge pull request #934 from basecamp/secrets-dont-exit
...
Don't exit from failed secrets commands
2024-09-11 16:27:33 +01:00