feat(caddy): mount uncloud API socket for storage module (#31)

This commit is contained in:
Pasha Sviderski committed 2026-09-17 16:50:26 +10:00
1 parent f68c9859d9
commit bc09954cbd
2 files changed
+19

No files matched your search

+15
View File
@@ -53,6 +53,11 @@ func (cli *Client) NewCaddyDeployment(image, config string, placement api.Placem
VolumeName: "run",
ContainerPath: "/run/caddy",
},
{
VolumeName: "uncloud-api",
ContainerPath: "/run/uncloud/api",
ReadOnly: true,
},
},
},
Mode: api.ServiceModeGlobal,
@@ -95,6 +100,16 @@ func (cli *Client) NewCaddyDeployment(image, config string, placement api.Placem
CreateHostPath: true,
},
},
// Bind the Uncloud API socket so caddy.storage.uncloud module can use it to store assets in the cluster.
{
Name: "uncloud-api",
Type: api.VolumeTypeBind,
BindOptions: &api.BindOptions{
// Mount the parent directory that contains the socket so it lets the container see a replacement
// socket after the Uncloud daemon restarts (in case it doesn't use a systemd-activated socket).
HostPath: "/run/uncloud/api",
},
},
},
}
@@ -83,6 +83,7 @@ services:
image: caddybuilds/caddy-cloudflare:2.10.2
command: caddy run -c /config/Caddyfile
environment:
# unix// is not a typo. Caddy uses network/address format, not a unix:// URL.
CADDY_ADMIN: unix//run/caddy/admin.sock
env_file:
# Contains CLOUDFLARE_API_TOKEN=xxxxx
@@ -91,6 +92,9 @@ services:
- /var/lib/uncloud/caddy:/data
- /var/lib/uncloud/caddy:/config
- /run/uncloud/caddy:/run/caddy
# Required by caddy.storage.uncloud module. Remove this mount if Uncloud cluster storage is not used for Caddy.
# Mount the directory, not the socket file, so Caddy sees a replacement socket after the daemon restarts.
- /run/uncloud/api:/run/uncloud/api:ro
x-ports:
- 80:80@host
- 443:443@host