gamalan / caddy-tlsredis

Redis Storage using for Caddy TLS Data
Apache License 2.0
95 stars 31 forks source link

Build Error with Caddy 2.5 rc1 #38

Closed bryanbuchanan closed 2 years ago

bryanbuchanan commented 2 years ago

There seems to be a new error when using tlsredis with the latest Caddy release candidate. (It worked fine with Caddy 2.5.0 beta1.)

Using the following Dockerfile to build:

FROM caddy:2.5.0-rc.1-builder-alpine AS builder
RUN xcaddy build --with github.com/gamalan/caddy-tlsredis
FROM caddy:2.5.0-rc.1-alpine
COPY --from=builder /usr/bin/caddy /usr/bin/caddy

I get the following error:

#7 123.7 /go/pkg/mod/github.com/gamalan/caddy-tlsredis@v0.2.8/storageredis.go:159:9: cannot use rd (variable of type *RedisStorage) as type certmagic.Storage in return statement:
#7 123.7        *RedisStorage does not implement certmagic.Storage (wrong type for Delete method)
#7 123.7                have Delete(key string) error
#7 123.7                want Delete(ctx context.Context, key string) error
#7 123.7 /go/pkg/mod/github.com/gamalan/caddy-tlsredis@v0.2.8/storageredis.go:484:25: undefined: certmagic.ErrNotExist

I've tried building Caddy with other extensions, like the Cloudflare DNS extension, with no issue. It seems to be unique to tlsredis.

gamalan commented 2 years ago

You should not using master branch for building your caddy.

Currently caddy-tlsredis are using certmagic v0.16 which haven't been used for caddy 2.5 rc1 afaik. You could use latest releases tag that still using previous certmagic version.

On Thu, Apr 21, 2022, 1:13 AM Bryan Buchanan @.***> wrote:

There seems to be a new error when using tlsredis with the latest Caddy release candidate. (It worked fine with Caddy 2.5.0 beta1.)

Using the following Dockerfile to build:

FROM caddy:2.5.0-rc.1-builder-alpine AS builder RUN xcaddy build --with github.com/gamalan/caddy-tlsredis FROM caddy:2.5.0-rc.1-alpine COPY --from=builder /usr/bin/caddy /usr/bin/caddy

I get the following error:

7 123.7 @.**/storageredis.go:159:9: cannot use rd (variable of type RedisStorage) as type certmagic.Storage in return statement:

7 123.7 *RedisStorage does not implement certmagic.Storage (wrong type for Delete method)

7 123.7 have Delete(key string) error

7 123.7 want Delete(ctx context.Context, key string) error

7 123.7 @.***/storageredis.go:484:25: undefined: certmagic.ErrNotExist

I've tried building Caddy with other extensions, like the Cloudflare DNS extension, with no issue. It seems to be unique to tlsredis.

ā€” Reply to this email directly, view it on GitHub https://github.com/gamalan/caddy-tlsredis/issues/38, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIYFE2CEB2V6IDK57M4UYDVGBCN3ANCNFSM5T43EJQQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

bryanbuchanan commented 2 years ago

Thanks!

I'm sorry, I'm not sure if I understand. You're saying I should stick to Caddy versions prior to 2.5 rc1?

Caddy's rc1 release notes mention upgrading to CertMagic v0.16.0: https://github.com/caddyserver/caddy/releases, which is when the current version of tlsredis seems to stop working.

gamalan commented 2 years ago

Ah, sorry my mistake. I haven't test caddy rc1. If it already updated to certmagic v0.16.0 then you could only using caddy-tlsredis on master branch which haven't been tagged yet. Need to fix some configurational issue first.

You could use xcaddy build --with github.com/gamalan/caddy-tlsredis@master for now. @bryanbuchanan

bryanbuchanan commented 2 years ago

Ahh, perfect, thanks so much šŸ‘