Skip to content

caddy v2.10.1: panic in caddyhttp.App.Stop due to nil logger after failed provisioning #7197

@steffenbusch

Description

@steffenbusch

I have just built Caddy v2.10.0 with xcaddy and on almost every start, I get this panic:

$ ./caddy-2.10.1 run
2025/08/22 19:47:12.128 INFO    maxprocs: Leaving GOMAXPROCS=2: CPU quota undefined
2025/08/22 19:47:12.129 INFO    GOMEMLIMIT is updated   {"package": "github.com/KimMachineGun/automemlimit/memlimit", "GOMEMLIMIT": 1604973772, "previous": 9223372036854775807}
2025/08/22 19:47:12.130 INFO    using adjacent Caddyfile
2025/08/22 19:47:12.132 INFO    adapted config to JSON  {"adapter": "caddyfile"}
2025/08/22 19:47:12.133 INFO    redirected default logger       {"from": "stderr", "to": "/home/stbu/caddy-prod/bug-report/caddy-test.log"}
2025/08/22 19:47:12.135 INFO    maxprocs: No GOMAXPROCS change to reset
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x86113e]

goroutine 1 [running]:
go.uber.org/zap.(*Logger).check(0x0, 0x0, {0x1b80c28, 0x2f})
        go.uber.org/zap@v1.27.0/logger.go:331 +0x5e
go.uber.org/zap.(*Logger).Info(0xc2225030081a8db4?, {0x1b80c28?, 0x2e79000?}, {0x0, 0x0, 0x0})
        go.uber.org/zap@v1.27.0/logger.go:246 +0x2f
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Stop(0xc00073aa80)
        github.com/caddyserver/caddy/v2@v2.10.1/modules/caddyhttp/app.go:689 +0x498
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Cleanup(0x2e22c20?)
        github.com/caddyserver/caddy/v2@v2.10.1/modules/caddyhttp/app.go:793 +0x26
github.com/caddyserver/caddy/v2.Context.LoadModuleByID({{0x204f260, 0xc0002753b0}, 0xc0004f4f60, 0xc0004ec000, {0xc000520410, 0x1, 0x1}, {0x0, 0x0, 0x0}, ...}, ...)
        github.com/caddyserver/caddy/v2@v2.10.1/context.go:422 +0xe4f
github.com/caddyserver/caddy/v2.Context.App({{0x204f260, 0xc0002753b0}, 0xc0004f4f60, 0xc0004ec000, {0x0, 0x0, 0x0}, {0x0, 0x0, 0x0}, ...}, ...)
        github.com/caddyserver/caddy/v2@v2.10.1/context.go:505 +0x1ce
github.com/caddyserver/caddy/v2.provisionContext.func3(...)
        github.com/caddyserver/caddy/v2@v2.10.1/caddy.go:566
github.com/caddyserver/caddy/v2.provisionContext(0xc0004f4990?, 0x1)
        github.com/caddyserver/caddy/v2@v2.10.1/caddy.go:571 +0x5dc
github.com/caddyserver/caddy/v2.run(0xc0005075d8?, 0x1)
        github.com/caddyserver/caddy/v2@v2.10.1/caddy.go:404 +0x85
github.com/caddyserver/caddy/v2.unsyncedDecodeAndRun({0xc000722b00, 0x56d, 0x580}, 0x1)
        github.com/caddyserver/caddy/v2@v2.10.1/caddy.go:347 +0x145
github.com/caddyserver/caddy/v2.changeConfig({0x1b1697a, 0x4}, {0x1b1c5ca, 0x7}, {0xc000722580, 0x56d, 0x580}, {0x0, 0x0}, 0x1)
        github.com/caddyserver/caddy/v2@v2.10.1/caddy.go:238 +0x6a5
github.com/caddyserver/caddy/v2.Load({0xc000722580, 0x56d, 0x580}, 0x1)
        github.com/caddyserver/caddy/v2@v2.10.1/caddy.go:137 +0x22d
github.com/caddyserver/caddy/v2/cmd.cmdRun({0x0?})
        github.com/caddyserver/caddy/v2@v2.10.1/cmd/commandfuncs.go:240 +0x80d
github.com/caddyserver/caddy/v2/cmd.init.1.func2.WrapCommandFuncForCobra.1(0xc0006ac908, {0x1b169d6?, 0x4?, 0x1b169ae?})
        github.com/caddyserver/caddy/v2@v2.10.1/cmd/cobra.go:141 +0x2f
github.com/spf13/cobra.(*Command).execute(0xc0006ac908, {0x2e9ca80, 0x0, 0x0})
        github.com/spf13/cobra@v1.9.1/command.go:1015 +0xb02
github.com/spf13/cobra.(*Command).ExecuteC(0xc0006ac308)
        github.com/spf13/cobra@v1.9.1/command.go:1148 +0x465
github.com/spf13/cobra.(*Command).Execute(...)
        github.com/spf13/cobra@v1.9.1/command.go:1071
github.com/caddyserver/caddy/v2/cmd.Main()
        github.com/caddyserver/caddy/v2@v2.10.1/cmd/main.go:72 +0x65
main.main()
        caddy/main.go:14 +0xf

The Caddyfile used is:

{
        http_port 8080
        https_port 8443

        skip_install_trust true
        debug

        acme_dns cloudflare {file.cloudflare-api-key.txt}

        log default {
                output file caddy-test.log {
                        roll_size 10m
                        roll_keep_for 7d
                }
                format console {
                        time_format iso8601
                }
                level info
        }

        servers {
                trusted_proxies static private_ranges
                timeouts {
                        read_body 10s
                        read_header 10s
                        write 10m
                        idle 5m
                }
                max_header_size 256kb
                protocols h1 h2 h3
        }

        admin localhost:2019
}

(tls_options) {
        tls {
                dns cloudflare {file.cloudflare-api-key.txt}
                resolvers 1.1.1.1 8.8.8.8 8.8.4.4
        }
}

netcup.stbu.net {
        import tls_options
        log netcup.stbu.net

        handle / {
                respond "It works"
        }

        handle {
                error 404
        }
}

Note: When I use Caddy v2.10.0 with the same Caddyfile, it works.

$ ./caddy-2.10.0 run
2025/08/22 19:42:54.259 INFO    maxprocs: Leaving GOMAXPROCS=2: CPU quota undefined
2025/08/22 19:42:54.259 INFO    GOMEMLIMIT is updated   {"package": "github.com/KimMachineGun/automemlimit/memlimit", "GOMEMLIMIT": 1604973772, "previous": 9223372036854775807}
2025/08/22 19:42:54.259 INFO    using adjacent Caddyfile
2025/08/22 19:42:54.262 INFO    adapted config to JSON  {"adapter": "caddyfile"}
2025/08/22 19:42:54.263 INFO    redirected default logger       {"from": "stderr", "to": "/home/stbu/caddy-prod/bug-report/caddy-test.log"}
2025/08/22 19:42:54.274 INFO    serving initial configuration

Interesting

Sometimes (not often), Caddy is not crashing, but showing the real problem:

$ ./caddy-2.10.1 run
2025/08/22 19:47:12.919 INFO    maxprocs: Leaving GOMAXPROCS=2: CPU quota undefined
2025/08/22 19:47:12.920 INFO    GOMEMLIMIT is updated   {"package": "github.com/KimMachineGun/automemlimit/memlimit", "GOMEMLIMIT": 1604973772, "previous": 9223372036854775807}
2025/08/22 19:47:12.920 INFO    using adjacent Caddyfile
2025/08/22 19:47:12.922 INFO    adapted config to JSON  {"adapter": "caddyfile"}
2025/08/22 19:47:12.923 INFO    redirected default logger       {"from": "stderr", "to": "/home/stbu/caddy-prod/bug-report/caddy-test.log"}
2025/08/22 19:47:12.925 INFO    maxprocs: No GOMAXPROCS change to reset
Error: loading initial config: loading new config: loading tls app module: provision tls: provisioning automation policy 1: loading TLS automation management module: position 0: loading module 'acme': provision tls.issuance.acme: DNS challenge enabled, but no DNS provider configured

Version

$ ./caddy-2.10.1 version
v2.10.1 h1:j//AmT4hh88we6HWjzTIxk2Y7jOypsUvmZH1K1AOh38=

Build-Info

$ ./caddy-2.10.1 build-info
go      go1.25.0
path    caddy
mod     caddy   (devel)
dep     cel.dev/expr    v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY=
dep     cloud.google.com/go/auth        v0.16.2 h1:QvBAGFPLrDeoiNjyfVunhQ10HKNYuOwZ5noee0M5df4=
dep     cloud.google.com/go/auth/oauth2adapt    v0.2.8  h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
dep     cloud.google.com/go/compute/metadata    v0.7.0  h1:PBWF+iiAerVNe8UCHxdOt6eHLVc3ydFeOCw78U8ytSU=
dep     dario.cat/mergo v1.0.1  h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
dep     filippo.io/edwards25519 v1.1.0  h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
dep     github.com/BurntSushi/toml      v1.5.0  h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
dep     github.com/KimMachineGun/automemlimit   v0.7.4  h1:UY7QYOIfrr3wjjOAqahFmC3IaQCLWvur9nmfIn6LnWk=
dep     github.com/Masterminds/goutils  v1.1.1  h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
dep     github.com/Masterminds/semver/v3        v3.3.0  h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0=
dep     github.com/Masterminds/sprig/v3 v3.3.0  h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
dep     github.com/alecthomas/chroma/v2 v2.20.0 h1:sfIHpxPyR07/Oylvmcai3X/exDlE8+FA820NTz+9sGw=
dep     github.com/antlr4-go/antlr/v4   v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
dep     github.com/aryann/difflib       v0.0.0-20210328193216-ff5ff6dc229b      h1:uUXgbcPDK3KpW29o4iy7GtuappbWT0l5NaMo9H9pJDw=
dep     github.com/beorn7/perks v1.0.1  h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
dep     github.com/buger/jsonparser     v1.1.1  h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
dep     github.com/caddy-dns/cloudflare v0.2.1  h1:yPkLUUyi3Yscic+wNFGaSmMdTo7uQS2AGD2gEiGLlIY=
dep     github.com/caddyserver/caddy/v2 v2.10.1 h1:j//AmT4hh88we6HWjzTIxk2Y7jOypsUvmZH1K1AOh38=
dep     github.com/caddyserver/certmagic        v0.24.0 h1:EfXTWpxHAUKgDfOj6MHImJN8Jm4AMFfMT6ITuKhrDF0=
dep     github.com/caddyserver/transform-encoder        v0.0.0-20250416233754-15eef9743261      h1:Jb0C+TunmVTYt3aE/RAqhCueAf4qJsrSIj83McL2ApY=
dep     github.com/caddyserver/zerossl  v0.1.3  h1:onS+pxp3M8HnHpN5MMbOMyNjmTheJyWRaZYwn+YTAyA=
dep     github.com/ccoveille/go-safecast        v1.6.1  h1:Nb9WMDR8PqhnKCVs2sCB+OqhohwO5qaXtCviZkIff5Q=
dep     github.com/cenkalti/backoff/v5  v5.0.2  h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8=
dep     github.com/cespare/xxhash/v2    v2.3.0  h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
dep     github.com/chzyer/readline      v1.5.1  h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI=
dep     github.com/cloudflare/circl     v1.6.1  h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0=
dep     github.com/coreos/go-oidc/v3    v3.14.1 h1:9ePWwfdwC4QKRlCXsJGou56adA/owXczOzwKdOumLqk=
dep     github.com/cpuguy83/go-md2man/v2        v2.0.7  h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo=
dep     github.com/dlclark/regexp2      v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ=
dep     github.com/dustin/go-humanize   v1.0.1  h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
dep     github.com/felixge/httpsnoop    v1.0.4  h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
dep     github.com/francoispqt/gojay    v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk=
dep     github.com/fxamacker/cbor/v2    v2.8.0  h1:fFtUGXUzXPHTIUdne5+zzMPTfffl3RD5qYnkY40vtxU=
dep     github.com/go-chi/chi/v5        v5.2.2  h1:CMwsvRVTbXVytCk1Wd72Zy1LAsAh9GxMmSNWLHCG618=
dep     github.com/go-jose/go-jose/v3   v3.0.4  h1:Wp5HA7bLQcKnf6YYao/4kpRpVMp/yf6+pJKV8WFSaNY=
dep     github.com/go-jose/go-jose/v4   v4.0.5  h1:M6T8+mKZl/+fNNuFHvGIzDz7BTLQPIounk/b9dw3AaE=
dep     github.com/go-logr/logr v1.4.3  h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
dep     github.com/go-logr/stdr v1.2.2  h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
dep     github.com/google/cel-go        v0.26.0 h1:DPGjXackMpJWH680oGY4lZhYjIameYmR+/6RBdDGmaI=
dep     github.com/google/certificate-transparency-go   v1.1.8-0.20240110162603-74a5dd331745    h1:heyoXNxkRT155x4jTAiSv5BVSVkueifPUm+Q8LUXMRo=
dep     github.com/google/go-tpm        v0.9.5  h1:ocUmnDebX54dnW+MQWGQRbdaAcJELsa6PqZhJ48KwVU=
dep     github.com/google/go-tspi       v0.3.0  h1:ADtq8RKfP+jrTyIWIZDIYcKOMecRqNJFOew2IT0Inus=
dep     github.com/google/s2a-go        v0.1.9  h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=
dep     github.com/google/uuid  v1.6.0  h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
dep     github.com/googleapis/enterprise-certificate-proxy      v0.3.6  h1:GW/XbdyBFQ8Qe+YAmFU9uHLo7OnF5tL52HFAgMmyrf4=
dep     github.com/googleapis/gax-go/v2 v2.14.2 h1:eBLnkZ9635krYIPD+ag1USrOAI0Nr0QYF3+/3GqO0k0=
dep     github.com/grpc-ecosystem/grpc-gateway/v2       v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww=
dep     github.com/huandu/xstrings      v1.5.0  h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
dep     github.com/klauspost/compress   v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
dep     github.com/klauspost/cpuid/v2   v2.3.0  h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y=
dep     github.com/libdns/cloudflare    v0.2.1  h1:E8aoP5o79AU47t1XyzCgSecST3GvWv/nC3ycibg0t+o=
dep     github.com/libdns/libdns        v1.1.0  h1:9ze/tWvt7Df6sbhOJRB8jT33GHEHpEQXdtkE3hPthbU=
dep     github.com/manifoldco/promptui  v0.9.0  h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA=
dep     github.com/mattn/go-colorable   v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
dep     github.com/mattn/go-isatty      v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
dep     github.com/mgutz/ansi   v0.0.0-20200706080929-d51e80ef957d      h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI=
dep     github.com/mholt/acmez/v3       v3.1.2  h1:auob8J/0FhmdClQicvJvuDavgd5ezwLBfKuYmynhYzc=
dep     github.com/miekg/dns    v1.1.65 h1:0+tIPHzUW0GCge7IiK3guGP57VAw7hoPDfApjkMD1Fc=
dep     github.com/mitchellh/copystructure      v1.2.0  h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
dep     github.com/mitchellh/go-ps      v1.0.0  h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc=
dep     github.com/mitchellh/reflectwalk        v1.0.2  h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
dep     github.com/munnerz/goautoneg    v0.0.0-20191010083416-a7dc8b61c822      h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
dep     github.com/pbnjay/memory        v0.0.0-20210728143218-7b4eea64cf58      h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0=
dep     github.com/pires/go-proxyproto  v0.8.1  h1:9KEixbdJfhrbtjpz/ZwCdWDD2Xem0NZ38qMYaASJgp0=
dep     github.com/pkg/errors   v0.9.1  h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
dep     github.com/prometheus/client_golang     v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaXXlptpfy8Uc=
dep     github.com/prometheus/client_model      v0.6.2  h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=
dep     github.com/prometheus/common    v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE=
dep     github.com/prometheus/procfs    v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
dep     github.com/quic-go/qpack        v0.5.1  h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI=
dep     github.com/quic-go/quic-go      v0.54.0 h1:6s1YB9QotYI6Ospeiguknbp2Znb/jZYjZLRXn9kMQBg=
dep     github.com/rs/xid       v1.6.0  h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU=
dep     github.com/russross/blackfriday/v2      v2.1.0  h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
dep     github.com/shopspring/decimal   v1.4.0  h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
dep     github.com/shurcooL/sanitized_anchor_name       v1.0.0  h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
dep     github.com/sirupsen/logrus      v1.9.3  h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
dep     github.com/slackhq/nebula       v1.9.5  h1:ZrxcvP/lxwFglaijmiwXLuCSkybZMJnqSYI1S8DtGnY=
dep     github.com/smallstep/certificates       v0.28.4 h1:JTU6/A5Xes6m+OsR6fw1RACSA362vJc9SOFVG7poBEw=
dep     github.com/smallstep/cli-utils  v0.12.1 h1:D9QvfbFqiKq3snGZ2xDcXEFrdFJ1mQfPHZMq/leerpE=
dep     github.com/smallstep/go-attestation     v0.4.4-0.20241119153605-2306d5b464ca    h1:VX8L0r8vybH0bPeaIxh4NQzafKQiqvlOn8pmOXbFLO4=
dep     github.com/smallstep/linkedca   v0.23.0 h1:5W/7EudlK1HcCIdZM68dJlZ7orqCCCyv6bm2l/0JmLU=
dep     github.com/smallstep/nosql      v0.7.0  h1:YiWC9ZAHcrLCrayfaF+QJUv16I2bZ7KdLC3RpJcnAnE=
dep     github.com/smallstep/pkcs7      v0.2.1  h1:6Kfzr/QizdIuB6LSv8y1LJdZ3aPSfTNhTLqAx9CTLfA=
dep     github.com/smallstep/scep       v0.0.0-20240926084937-8cf1ca453101      h1:LyZqn24/ZiVg8v9Hq07K6mx6RqPtpDeK+De5vf4QEY4=
dep     github.com/smallstep/truststore v0.13.0 h1:90if9htAOblavbMeWlqNLnO9bsjjgVv2hQeQJCi/py4=
dep     github.com/spf13/cast   v1.7.0  h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
dep     github.com/spf13/cobra  v1.9.1  h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
dep     github.com/spf13/pflag  v1.0.7  h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M=
dep     github.com/stoewer/go-strcase   v1.2.0  h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU=
dep     github.com/tailscale/tscert     v0.0.0-20240608151842-d3f834017e53      h1:uxMgm0C+EjytfAqyfBG55ZONKQ7mvd7x4YYCWsf8QHQ=
dep     github.com/ueffel/caddy-tls-format      v1.0.0  h1:SC9VZIcunx0ZzmCZd4Hvj4GWp8/FkjQIASwBnVtf9rc=
dep     github.com/urfave/cli   v1.22.17        h1:SYzXoiPfQjHBbkYxbew5prZHS1TOLT3ierW8SYLqtVQ=
dep     github.com/x448/float16 v0.8.4  h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
dep     github.com/yuin/goldmark        v1.7.13 h1:GPddIs617DnBLFFVJFgpo1aBfe/4xcvMc3SB5t/D0pA=
dep     github.com/yuin/goldmark-highlighting/v2        v2.0.0-20230729083705-37449abec8cc      h1:+IAOyRda+RLrxa1WC7umKOZRsGq4QrFFMYApOeHzQwQ=
dep     github.com/zeebo/blake3 v0.2.4  h1:KYQPkhpRtcqh0ssGYcKLG1JYvddkEA8QwCM/yBqhaZI=
dep     go.etcd.io/bbolt        v1.3.10 h1:+BqfJTcCzTItrop8mq/lbzL8wSGtj94UO/3U31shqG0=
dep     go.opentelemetry.io/auto/sdk    v1.1.0  h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
dep     go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp   v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus=
dep     go.opentelemetry.io/contrib/propagators/autoprop        v0.62.0 h1:1+EHlhAe/tukctfePZRrDruB9vn7MdwyC+rf36nUSPM=
dep     go.opentelemetry.io/contrib/propagators/aws     v1.37.0 h1:cp8AFiM/qjBm10C/ATIRnEDXpD5MBknrA0ANw4T2/ss=
dep     go.opentelemetry.io/contrib/propagators/b3      v1.37.0 h1:0aGKdIuVhy5l4GClAjl72ntkZJhijf2wg1S7b5oLoYA=
dep     go.opentelemetry.io/contrib/propagators/jaeger  v1.37.0 h1:pW+qDVo0jB0rLsNeaP85xLuz20cvsECUcN7TE+D8YTM=
dep     go.opentelemetry.io/contrib/propagators/ot      v1.37.0 h1:tVjnBF6EiTDMXoq2Xuc2vK0I7MTbEs05II/0j9mMK+E=
dep     go.opentelemetry.io/otel        v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
dep     go.opentelemetry.io/otel/exporters/otlp/otlptrace       v1.37.0 h1:Ahq7pZmv87yiyn3jeFz/LekZmPLLdKejuO3NcK9MssM=
dep     go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 h1:EtFWSnwW9hGObjkIdmlnWSydO+Qs8OwzfzXLUPg4xOc=
dep     go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
dep     go.opentelemetry.io/otel/sdk    v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
dep     go.opentelemetry.io/otel/trace  v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
dep     go.opentelemetry.io/proto/otlp  v1.7.0  h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os=
dep     go.step.sm/crypto       v0.67.0 h1:1km9LmxMKG/p+mKa1R4luPN04vlJYnRLlLQrWv7egGU=
dep     go.uber.org/automaxprocs        v1.6.0  h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
dep     go.uber.org/multierr    v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
dep     go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
dep     go.uber.org/zap/exp     v0.3.0  h1:6JYzdifzYkGmTdRR59oYH+Ng7k49H9qVpWwNSsGJj3U=
dep     golang.org/x/crypto     v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
dep     golang.org/x/crypto/x509roots/fallback  v0.0.0-20250305170421-49bf5b80c810      h1:V5+zy0jmgNYmK1uW/sPpBw8ioFvalrhaUrYWmu1Fpe4=
dep     golang.org/x/exp        v0.0.0-20250408133849-7e4ce0ab07d0      h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
dep     golang.org/x/net        v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
dep     golang.org/x/oauth2     v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
dep     golang.org/x/sync       v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
dep     golang.org/x/sys        v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
dep     golang.org/x/term       v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg=
dep     golang.org/x/text       v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
dep     golang.org/x/time       v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
dep     google.golang.org/api   v0.240.0        h1:PxG3AA2UIqT1ofIzWV2COM3j3JagKTKSwy7L6RHNXNU=
dep     google.golang.org/genproto/googleapis/api       v0.0.0-20250603155806-513f23925822      h1:oWVWY3NzT7KJppx2UKhKmzPq4SRe0LdCijVRwvGeikY=
dep     google.golang.org/genproto/googleapis/rpc       v0.0.0-20250603155806-513f23925822      h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
dep     google.golang.org/grpc  v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
dep     google.golang.org/protobuf      v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
dep     gopkg.in/natefinch/lumberjack.v2        v2.2.1  h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
dep     gopkg.in/yaml.v3        v3.0.1  h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
build   -buildmode=exe
build   -compiler=gc
build   -tags=nobadger,nomysql,nopgx
build   -trimpath=true
build   CGO_ENABLED=0
build   GOARCH=amd64
build   GOOS=linux
build   GOAMD64=v1

How caddy was built

FROM oraclelinux:10

RUN yum -y install oracle-epel-release-el10
RUN yum -y install git curl make wget curl unzip

WORKDIR /root

ARG GO_VERSION=1.25.0
RUN wget --quiet https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz && \
    rm -rf /usr/local/go && tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
ENV PATH=$PATH:/usr/local/go/bin
ENV GOBIN=/usr/local/bin/

ARG CADDY_VERSION=v2.10.1
RUN --mount=type=cache,target=/go/pkg/mod \
    --mount=type=cache,target=/root/.cache/go-build \
     go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest && \
    /usr/local/bin/xcaddy build ${CADDY_VERSION} --output /usr/local/bin/caddy \
      --with github.com/caddyserver/transform-encoder \
      --with github.com/ueffel/caddy-tls-format \
      --with github.com/caddy-dns/cloudflare && \
    /usr/local/bin/caddy version

CMD ["bash"]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug 🐞Something isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions