mirror of
https://github.com/psviderski/uncloud.git
synced 2026-08-26 19:13:34 +00:00
chore: add header to generated Caddyfile that it's autogenerated
This commit is contained in:
@@ -17,7 +17,11 @@ import (
|
|||||||
"github.com/psviderski/uncloud/pkg/api"
|
"github.com/psviderski/uncloud/pkg/api"
|
||||||
)
|
)
|
||||||
|
|
||||||
const caddyfileTemplate = `http:// {
|
const (
|
||||||
|
caddyfileHeader = `# This file is autogenerated by Uncloud. Do not edit manually.
|
||||||
|
# Any manual changes will be overwritten on the next update.
|
||||||
|
`
|
||||||
|
caddyfileTemplate = `http:// {
|
||||||
handle {{.VerifyPath}} {
|
handle {{.VerifyPath}} {
|
||||||
respond "{{.VerifyResponse}}" 200
|
respond "{{.VerifyResponse}}" 200
|
||||||
}
|
}
|
||||||
@@ -47,6 +51,7 @@ https://{{$hostname}} {
|
|||||||
log
|
log
|
||||||
}{{end}}
|
}{{end}}
|
||||||
`
|
`
|
||||||
|
)
|
||||||
|
|
||||||
// CaddyfileGenerator generates a Caddyfile configuration for the Caddy reverse proxy.
|
// CaddyfileGenerator generates a Caddyfile configuration for the Caddy reverse proxy.
|
||||||
type CaddyfileGenerator struct {
|
type CaddyfileGenerator struct {
|
||||||
@@ -188,7 +193,7 @@ func (g *CaddyfileGenerator) Generate(ctx context.Context, records []store.Conta
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return caddyfile, nil
|
return caddyfileHeader + "\n" + caddyfile, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *CaddyfileGenerator) generateBaseFromPorts(containers []api.ServiceContainer) (string, error) {
|
func (g *CaddyfileGenerator) generateBaseFromPorts(containers []api.ServiceContainer) (string, error) {
|
||||||
|
|||||||
@@ -19,7 +19,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestCaddyfileGenerator(t *testing.T) {
|
func TestCaddyfileGenerator(t *testing.T) {
|
||||||
caddyfileHeader := `http:// {
|
caddyfileHeader := `# This file is autogenerated by Uncloud. Do not edit manually.
|
||||||
|
# Any manual changes will be overwritten on the next update.
|
||||||
|
|
||||||
|
http:// {
|
||||||
handle /.uncloud-verify {
|
handle /.uncloud-verify {
|
||||||
respond "test-machine-id" 200
|
respond "test-machine-id" 200
|
||||||
}
|
}
|
||||||
@@ -185,7 +188,10 @@ https://secure.example.com {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestCaddyfileGeneratorWithCustomConfigs(t *testing.T) {
|
func TestCaddyfileGeneratorWithCustomConfigs(t *testing.T) {
|
||||||
caddyfileBase := `http:// {
|
caddyfileBase := `# This file is autogenerated by Uncloud. Do not edit manually.
|
||||||
|
# Any manual changes will be overwritten on the next update.
|
||||||
|
|
||||||
|
http:// {
|
||||||
handle /.uncloud-verify {
|
handle /.uncloud-verify {
|
||||||
respond "test-machine-id" 200
|
respond "test-machine-id" 200
|
||||||
}
|
}
|
||||||
@@ -220,12 +226,28 @@ func TestCaddyfileGeneratorWithCustomConfigs(t *testing.T) {
|
|||||||
time.Now(),
|
time.Now(),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
want: `# Global Caddy configuration
|
want: `# This file is autogenerated by Uncloud. Do not edit manually.
|
||||||
|
# Any manual changes will be overwritten on the next update.
|
||||||
|
|
||||||
|
# Global Caddy configuration
|
||||||
{
|
{
|
||||||
global directive
|
global directive
|
||||||
}
|
}
|
||||||
|
|
||||||
` + caddyfileBase,
|
http:// {
|
||||||
|
handle /.uncloud-verify {
|
||||||
|
respond "test-machine-id" 200
|
||||||
|
}
|
||||||
|
log
|
||||||
|
}
|
||||||
|
|
||||||
|
(common_proxy) {
|
||||||
|
# Retry failed requests up to lb_retries times against other available upstreams.
|
||||||
|
lb_retries 3
|
||||||
|
# Upstreams are marked unhealthy for fail_duration after a failed request (passive health checking).
|
||||||
|
fail_duration 30s
|
||||||
|
}
|
||||||
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "regular service with valid custom config",
|
name: "regular service with valid custom config",
|
||||||
@@ -386,12 +408,28 @@ web.example.com {
|
|||||||
time.Now(),
|
time.Now(),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
want: `# Global config
|
want: `# This file is autogenerated by Uncloud. Do not edit manually.
|
||||||
|
# Any manual changes will be overwritten on the next update.
|
||||||
|
|
||||||
|
# Global config
|
||||||
{
|
{
|
||||||
global directive
|
global directive
|
||||||
}
|
}
|
||||||
|
|
||||||
` + caddyfileBase + `
|
http:// {
|
||||||
|
handle /.uncloud-verify {
|
||||||
|
respond "test-machine-id" 200
|
||||||
|
}
|
||||||
|
log
|
||||||
|
}
|
||||||
|
|
||||||
|
(common_proxy) {
|
||||||
|
# Retry failed requests up to lb_retries times against other available upstreams.
|
||||||
|
lb_retries 3
|
||||||
|
# Upstreams are marked unhealthy for fail_duration after a failed request (passive health checking).
|
||||||
|
fail_duration 30s
|
||||||
|
}
|
||||||
|
|
||||||
http://app.example.com {
|
http://app.example.com {
|
||||||
reverse_proxy 10.210.0.2:8080 {
|
reverse_proxy 10.210.0.2:8080 {
|
||||||
import common_proxy
|
import common_proxy
|
||||||
@@ -601,7 +639,10 @@ badconfig.com {
|
|||||||
time.Now(),
|
time.Now(),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
want: `# Global config from test machine
|
want: `# This file is autogenerated by Uncloud. Do not edit manually.
|
||||||
|
# Any manual changes will be overwritten on the next update.
|
||||||
|
|
||||||
|
# Global config from test machine
|
||||||
{
|
{
|
||||||
admin off
|
admin off
|
||||||
}
|
}
|
||||||
@@ -610,7 +651,20 @@ localhost:8080 {
|
|||||||
respond "Admin panel"
|
respond "Admin panel"
|
||||||
}
|
}
|
||||||
|
|
||||||
` + caddyfileBase + `
|
http:// {
|
||||||
|
handle /.uncloud-verify {
|
||||||
|
respond "test-machine-id" 200
|
||||||
|
}
|
||||||
|
log
|
||||||
|
}
|
||||||
|
|
||||||
|
(common_proxy) {
|
||||||
|
# Retry failed requests up to lb_retries times against other available upstreams.
|
||||||
|
lb_retries 3
|
||||||
|
# Upstreams are marked unhealthy for fail_duration after a failed request (passive health checking).
|
||||||
|
fail_duration 30s
|
||||||
|
}
|
||||||
|
|
||||||
http://api.example.com {
|
http://api.example.com {
|
||||||
reverse_proxy 10.210.1.2:8080 10.210.2.2:8080 10.210.3.2:8080 {
|
reverse_proxy 10.210.1.2:8080 10.210.2.2:8080 10.210.3.2:8080 {
|
||||||
import common_proxy
|
import common_proxy
|
||||||
|
|||||||
Reference in New Issue
Block a user