Caddy won't build with tls.dns.cloudflare plugin

This has been broken for a few months for me and was wondering if this is a known issue and if there is a fix is on the horizon?

Hi @kgtree,

What version of Caddy are you trying to build, and what steps are you taking to build it?

I’m assuming Caddy v1 (because of the wording tls.dns.cloudflare). I was able to successfully build Caddy v1.0.4 (h1:wwuGSkUHo6RZ3oMpeTt7J09WBB87X5o+IZN4dKehcQE=) with the plugin just now using the official build instructions: https://github.com/caddyserver/caddy#build

1 Like

Hey @Whitestrake,

I should have specified, but I’m trying to build the Windows x64 1.0.4 version of Caddy using the download page (https://caddyserver.com/v1/download)

I’m actually trying to use Caddy with 2 plugins, cloudflare and reauth. What’s interesting is that I just tried building with just the Cloudflare plugin and it successfully built for me also. Previously I had just tried building with reauth and that also built successfully; which actually led me to assume the problem was with the cloudflare plugin. I should have been more thorough and not assumed that though, because if I try to build with either reauth or cloudflare alone I get a successful build prompt, but if I try to build Caddy with both plugins selected I get a prompt that one of the plugins is broken? Any idea why these two plugins are no longer compatible with each other?

Given the nature of plugins and how they (don’t) interact with each other… I’m not ruling incompatibility out as the cause, but I’d be far more inclined to think there’s an issue with the build server itself, which would require @matt to investigate.

I was able to easily build the binary with http.reauth and tls.dns.cloudflare included (log below).

~/Projects/test via 🐹 v1.13.8
➜ cat main.go
package main

import (
	"github.com/caddyserver/caddy/caddy/caddymain"

	// plug in plugins here, for example:
	// _ "import/path/here"
	_ "github.com/caddyserver/dnsproviders/cloudflare"
	_ "github.com/freman/caddy-reauth"
)

func main() {
	// optional: disable telemetry
	// caddymain.EnableTelemetry = false
	caddymain.Run()
}

~/Projects/test via 🐹 v1.13.8
➜ go mod init caddy
go: creating new go.mod: module caddy

~/Projects/test via 🐹 v1.13.8
➜ go get github.com/caddyserver/caddy
go: finding github.com/caddyserver/caddy v1.0.4
go: downloading github.com/caddyserver/caddy v1.0.4
go: extracting github.com/caddyserver/caddy v1.0.4
go: downloading github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
go: extracting github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
go: downloading github.com/google/uuid v1.1.1
go: extracting github.com/google/uuid v1.1.1
go: finding github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
go: finding github.com/google/uuid v1.1.1

~/Projects/test via 🐹 v1.13.8
➜ go build
go: finding github.com/freman/caddy-reauth latest
go: downloading github.com/freman/caddy-reauth v0.0.0-20191025011741-deaa60e56872
go: extracting github.com/freman/caddy-reauth v0.0.0-20191025011741-deaa60e56872
go: downloading github.com/allegro/bigcache v1.2.1
go: downloading github.com/hashicorp/go-getter v1.4.0
go: downloading gopkg.in/ldap.v2 v2.5.1
go: extracting github.com/hashicorp/go-getter v1.4.0
go: extracting github.com/allegro/bigcache v1.2.1
go: extracting gopkg.in/ldap.v2 v2.5.1
go: downloading github.com/aws/aws-sdk-go v1.23.0
go: downloading github.com/hashicorp/go-cleanhttp v0.5.0
go: downloading cloud.google.com/go v0.45.1
go: downloading github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d
go: downloading google.golang.org/api v0.9.0
go: downloading github.com/mitchellh/go-homedir v1.1.0
go: downloading github.com/hashicorp/go-version v1.1.0
go: downloading github.com/mitchellh/go-testing-interface v1.0.0
go: extracting github.com/mitchellh/go-homedir v1.1.0
go: extracting github.com/mitchellh/go-testing-interface v1.0.0
go: extracting github.com/hashicorp/go-version v1.1.0
go: extracting github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d
go: extracting github.com/hashicorp/go-cleanhttp v0.5.0
go: downloading github.com/ulikunitz/xz v0.5.5
go: downloading gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d
go: extracting gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d
go: downloading github.com/hashicorp/go-safetemp v1.0.0
go: extracting github.com/hashicorp/go-safetemp v1.0.0
go: extracting github.com/ulikunitz/xz v0.5.5
go: extracting cloud.google.com/go v0.45.1
go: downloading google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55
go: extracting google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55
go: downloading google.golang.org/grpc v1.21.1
go: extracting google.golang.org/grpc v1.21.1
go: downloading go.opencensus.io v0.22.0
go: extracting go.opencensus.io v0.22.0
go: downloading github.com/googleapis/gax-go/v2 v2.0.5
go: extracting github.com/googleapis/gax-go/v2 v2.0.5
go: extracting google.golang.org/api v0.9.0
go: downloading golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
go: downloading github.com/hashicorp/golang-lru v0.5.3
go: extracting github.com/aws/aws-sdk-go v1.23.0
go: extracting github.com/hashicorp/golang-lru v0.5.3
go: extracting golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
go: downloading github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af
go: extracting github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af
go: finding github.com/allegro/bigcache v1.2.1
go: finding gopkg.in/ldap.v2 v2.5.1
go: finding github.com/hashicorp/go-getter v1.4.0
go: finding gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d
go: finding github.com/aws/aws-sdk-go v1.23.0
go: finding cloud.google.com/go v0.45.1
go: finding github.com/googleapis/gax-go/v2 v2.0.5
go: finding github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d
go: finding github.com/hashicorp/go-cleanhttp v0.5.0
go: finding google.golang.org/grpc v1.21.1
go: finding github.com/hashicorp/go-safetemp v1.0.0
go: finding github.com/hashicorp/go-version v1.1.0
go: finding go.opencensus.io v0.22.0
go: finding github.com/mitchellh/go-homedir v1.1.0
go: finding google.golang.org/api v0.9.0
go: finding github.com/mitchellh/go-testing-interface v1.0.0
go: finding google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55
go: finding github.com/ulikunitz/xz v0.5.5
go: finding github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af
go: finding golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
go: finding github.com/hashicorp/golang-lru v0.5.3

~/Projects/test via 🐹 v1.13.8 took 30s 153ms
➜ ./caddy -version
Caddy v1.0.4 (h1:wwuGSkUHo6RZ3oMpeTt7J09WBB87X5o+IZN4dKehcQE=)

~/Projects/test via 🐹 v1.13.8
➜ ./caddy -plugins
Server types:
  http

Caddyfile loaders:
  short
  flag
  default

Other plugins:
  http.basicauth
  http.bind
  http.browse
  http.errors
  http.expvar
  http.ext
  http.fastcgi
  http.gzip
  http.header
  http.index
  http.internal
  http.limits
  http.log
  http.markdown
  http.mime
  http.pprof
  http.proxy
  http.push
  http.reauth
  http.redir
  http.request_id
  http.rewrite
  http.root
  http.secrets
  http.status
  http.templates
  http.timeouts
  http.websocket
  on
  tls
  tls.cluster.file
  tls.dns.cloudflare
1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.