Custom build with DNS plugins failing

1. The problem I’m having:

Hi all! I am trying to build a custom caddy (as I have been doing for ages) just on a different server. But the dns plugins are giving me a warm time.

2. Error messages and/or full log output:

# github.com/libdns/digitalocean
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:42:14: invalid composite literal type libdns.Record
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:76:48: record.Name undefined (type libdns.Record has no field or method Name)
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:77:16: record.Value undefined (type libdns.Record has no field or method Value)
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:78:16: record.Type undefined (type libdns.Record has no field or method Type)
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:79:20: record.TTL undefined (type libdns.Record has no field or method TTL)
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:86:9: record.ID undefined (type libdns.Record has no field or method ID)
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:97:33: record.ID undefined (type libdns.Record has no field or method ID)
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:116:33: record.ID undefined (type libdns.Record has no field or method ID)
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:122:48: record.Name undefined (type libdns.Record has no field or method Name)
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:123:16: record.Value undefined (type libdns.Record has no field or method Value)
/home/camille/go/pkg/mod/github.com/libdns/digitalocean@v0.0.0-20220518195853-a541bc8aa80f/client.go:123:16: too many errors

3. Caddy version:

It’s a custom build so v2.10.0, I guess?

4. How I installed and ran Caddy:

Haven’t gotten to this stage yet.

a. System environment:

OS: Debian 12
Architecture: x86_64
Go version: go version go1.24.2 linux/386

b. Command:

go mod init caddy
go mod tidy
go build

c. Service/unit/compose file:

Not applicable.

d. My complete Caddy config:

Not applicable

5. Links to relevant resources:

And here is what my main.go looks like:

package main

import (
        caddycmd "github.com/caddyserver/caddy/v2/cmd"

        // plug in Caddy modules here
        _ "github.com/caddyserver/caddy/v2/modules/standard"
        _ "github.com/caddy-dns/digitalocean"
        _ "github.com/caddyserver/transform-encoder"
        _ "github.com/caddyserver/nginx-adapter"
        _ "github.com/caddyserver/cache-handler"
)

func main() {
        caddycmd.Main()
}

Help?

I think it seems to be an issue with v2.10.0, but this is for porkbun plugin though. the errors are similar - Incompatible with Caddy v2.10.0 when building via xcaddy · Issue #24 · caddy-dns/porkbun · GitHub

I tried with v2.9.1 and it worked for me. Maybe you could try with v.2.9.1 for the time being.

3 Likes

That worked! Thanks!

Bonus: I learned how to “pin” versions today.

3 Likes