caddy-dns / cloudflare

Caddy module: dns.providers.cloudflare
Apache License 2.0
436 stars 59 forks source link

Docker builds fail due to requirement for unreleased Caddy version #59

Closed StudioLE closed 1 year ago

StudioLE commented 1 year ago

Following the documentation for installing a provider to the Caddy docker image https://registry.hub.docker.com/_/caddy results in the following Dockerfile

FROM caddy:2.7-builder-alpine AS builder
RUN xcaddy build \
    --with github.com/caddy-dns/cloudflare

FROM caddy:2.7-alpine
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
COPY Caddyfile /etc/caddy/Caddyfile

However this fails with a verbose go error.

 > [caddy builder 2/2] RUN xcaddy build     --with github.com/caddy-dns/cloudflare:
1.684 2023/08/09 10:36:59 [INFO] Temporary folder: /tmp/buildenv_2023-08-09-1036.1122905880
1.687 2023/08/09 10:36:59 [INFO] Writing main module: /tmp/buildenv_2023-08-09-1036.1122905880/main.go
1.687 package main
1.687 
1.687 import (
1.687   caddycmd "github.com/caddyserver/caddy/v2/cmd"
1.687 
1.687   // plug in Caddy modules here
1.687   _ "github.com/caddyserver/caddy/v2/modules/standard"
1.687   _ "github.com/caddy-dns/cloudflare"
1.687 )
1.687 
1.687 func main() {
1.687   caddycmd.Main()
1.687 }
1.688 2023/08/09 10:36:59 [INFO] Initializing Go module
1.694 2023/08/09 10:36:59 [INFO] exec (timeout=-2562047h47m16.854775808s): /usr/local/go/bin/go mod init caddy 
1.710 go: creating new go.mod: module caddy
1.714 go: to add module requirements and sums:
1.714   go mod tidy
1.720 2023/08/09 10:36:59 [INFO] Pinning versions
1.720 2023/08/09 10:36:59 [INFO] exec (timeout=-2562047h47m16.854775808s): /usr/local/go/bin/go get -d -v github.com/caddyserver/caddy/v2@v2.7.2 
1.855 go: downloading github.com/caddyserver/caddy/v2 v2.7.2
2.361 go: downloading github.com/caddyserver/certmagic v0.19.1
2.362 go: downloading github.com/google/uuid v1.3.0
2.362 go: downloading github.com/prometheus/client_golang v1.14.0
2.455 go: downloading github.com/quic-go/quic-go v0.37.1
2.482 go: downloading go.uber.org/zap v1.25.0
2.588 go: downloading golang.org/x/sys v0.10.0
2.743 go: downloading golang.org/x/term v0.10.0
2.867 go: downloading github.com/klauspost/cpuid/v2 v2.2.5
2.874 go: downloading github.com/libdns/libdns v0.2.1
2.922 go: downloading github.com/mholt/acmez v1.2.0
2.993 go: downloading github.com/miekg/dns v1.1.55
2.993 go: downloading github.com/zeebo/blake3 v0.2.3
3.053 go: downloading golang.org/x/crypto v0.11.0
3.054 go: downloading golang.org/x/net v0.12.0
3.199 go: downloading github.com/beorn7/perks v1.0.1
3.200 go: downloading github.com/cespare/xxhash/v2 v2.2.0
3.229 go: downloading github.com/cespare/xxhash v1.1.0
3.235 go: downloading github.com/golang/protobuf v1.5.3
3.267 go: downloading github.com/prometheus/client_model v0.3.0
3.320 go: downloading github.com/prometheus/common v0.37.0
3.397 go: downloading github.com/prometheus/procfs v0.8.0
3.397 go: downloading google.golang.org/protobuf v1.31.0
3.504 go: downloading go.uber.org/multierr v1.11.0
3.548 go: downloading github.com/quic-go/qpack v0.4.0
3.582 go: downloading github.com/golang/mock v1.6.0
3.582 go: downloading github.com/onsi/ginkgo/v2 v2.9.5
3.740 go: downloading golang.org/x/tools v0.10.0
3.900 go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
3.901 go: downloading golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0
3.964 go: downloading golang.org/x/text v0.11.0
4.614 go: downloading golang.org/x/mod v0.11.0
4.702 go: downloading github.com/quic-go/qtls-go1-20 v0.3.0
5.213 go: downloading github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
5.288 go: downloading github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1
10.04 go: added github.com/beorn7/perks v1.0.1
10.04 go: added github.com/caddyserver/caddy/v2 v2.7.2
10.04 go: added github.com/caddyserver/certmagic v0.19.1
10.04 go: added github.com/cespare/xxhash/v2 v2.2.0
10.04 go: added github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
10.04 go: added github.com/golang/mock v1.6.0
10.04 go: added github.com/golang/protobuf v1.5.3
10.04 go: added github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1
10.04 go: added github.com/google/uuid v1.3.0
10.04 go: added github.com/klauspost/cpuid/v2 v2.2.5
10.04 go: added github.com/libdns/libdns v0.2.1
10.04 go: added github.com/matttproud/golang_protobuf_extensions v1.0.1
10.04 go: added github.com/mholt/acmez v1.2.0
10.04 go: added github.com/miekg/dns v1.1.55
10.04 go: added github.com/onsi/ginkgo/v2 v2.9.5
10.04 go: added github.com/prometheus/client_golang v1.14.0
10.04 go: added github.com/prometheus/client_model v0.3.0
10.04 go: added github.com/prometheus/common v0.37.0
10.04 go: added github.com/prometheus/procfs v0.8.0
10.04 go: added github.com/quic-go/qpack v0.4.0
10.04 go: added github.com/quic-go/qtls-go1-20 v0.3.0
10.04 go: added github.com/quic-go/quic-go v0.37.1
10.04 go: added github.com/zeebo/blake3 v0.2.3
10.04 go: added go.uber.org/multierr v1.11.0
10.04 go: added go.uber.org/zap v1.25.0
10.04 go: added golang.org/x/crypto v0.11.0
10.04 go: added golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0
10.04 go: added golang.org/x/mod v0.11.0
10.04 go: added golang.org/x/net v0.12.0
10.04 go: added golang.org/x/sys v0.10.0
10.04 go: added golang.org/x/term v0.10.0
10.04 go: added golang.org/x/text v0.11.0
10.04 go: added golang.org/x/tools v0.10.0
10.04 go: added google.golang.org/protobuf v1.31.0
10.04 2023/08/09 10:37:08 [INFO] exec (timeout=-2562047h47m16.854775808s): /usr/local/go/bin/go get -d -v github.com/caddy-dns/cloudflare github.com/caddyserver/caddy/v2@v2.7.2 
10.25 go: downloading github.com/caddy-dns/cloudflare v0.0.0-20230807034102-74f004e1c1ab
10.35 go: github.com/caddy-dns/cloudflare@upgrade (v0.0.0-20230807034102-74f004e1c1ab) requires github.com/caddyserver/caddy/v2@v2.7.3, not github.com/caddyserver/caddy/v2@v2.7.2
10.35 2023/08/09 10:37:08 [FATAL] exit status 1
------
failed to solve: process "/bin/sh -c xcaddy build     --with github.com/caddy-dns/cloudflare" did not complete successfully: exit code: 1

A little delving has shown that the issue is that despite me specifying the caddy version via docker tag the xcaddy resolver is fetching a version of caddy-dns/cloudflare that requires a newer version of Caddy than is currently available on Dockerhub https://registry.hub.docker.com/_/caddy

StudioLE commented 1 year ago

This is related to the feature request #58 but I thought it best to separate the discussion as this is a specific bug

Zelec commented 1 year ago

@StudioLE v2.7.3 has been released in the primary caddy repo

The problem is the DockerHub version haven't updated to the latest version yet, Issue #307 in the caddy-docker repo gets more into detail.

Thankfully in that issue there is a posted workaround to get by for now until the docker tags are updated properly.