Skip to content

Commit

Permalink
Update to Alpine 3.19/Go 1.22/CoreDNS 1.8.7 (#129)
Browse files Browse the repository at this point in the history
  • Loading branch information
agners authored Mar 11, 2024
1 parent c1db6f7 commit fed6186
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 60 deletions.
101 changes: 51 additions & 50 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,50 +1,51 @@
ARG BUILD_FROM

FROM --platform=amd64 golang:1.15-alpine3.13 AS builder

WORKDIR /usr/src
ARG BUILD_ARCH
ARG COREDNS_VERSION

# Build CoreDNS
COPY plugins plugins
RUN \
set -x \
&& apk add --no-cache \
git \
make \
bash \
&& git clone --depth 1 -b v${COREDNS_VERSION} https://github.com/coredns/coredns \
&& cp -rf plugins/* coredns/plugin/ \
&& cd coredns \
&& sed -i "/^template:template/d" plugin.cfg \
&& sed -i "/^hosts:.*/a template:template" plugin.cfg \
&& sed -i "/^forward:.*/i fallback:fallback" plugin.cfg \
&& sed -i "/^hosts:.*/a mdns:mdns" plugin.cfg \
&& sed -i "/route53:route53/d" plugin.cfg \
&& sed -i "/clouddns:clouddns/d" plugin.cfg \
&& sed -i "/k8s_external:k8s_external/d" plugin.cfg \
&& sed -i "/kubernetes:kubernetes/d" plugin.cfg \
&& sed -i "/etcd:etcd/d" plugin.cfg \
&& sed -i "/grpc:grpc/d" plugin.cfg \
&& go generate \
&& \
if [ "${BUILD_ARCH}" = "armhf" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARM=6 GOARCH=arm"; \
elif [ "${BUILD_ARCH}" = "armv7" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARM=7 GOARCH=arm"; \
elif [ "${BUILD_ARCH}" = "aarch64" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARCH=arm64"; \
elif [ "${BUILD_ARCH}" = "i386" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARCH=386"; \
elif [ "${BUILD_ARCH}" = "amd64" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARCH=amd64"; \
else \
exit 1; \
fi

FROM ${BUILD_FROM}

WORKDIR /config
COPY --from=builder /usr/src/coredns/coredns /usr/bin/coredns
COPY rootfs /
ARG BUILD_FROM

FROM --platform=amd64 golang:1.22-alpine3.19 AS builder

WORKDIR /usr/src
ARG BUILD_ARCH
ARG COREDNS_VERSION

# Build CoreDNS
COPY plugins plugins
RUN \
set -x \
&& apk add --no-cache \
git \
make \
bash \
&& git clone --depth 1 -b v${COREDNS_VERSION} https://github.com/coredns/coredns \
&& cp -rf plugins/* coredns/plugin/ \
&& cd coredns \
&& sed -i "/^template:template/d" plugin.cfg \
&& sed -i "/^hosts:.*/a template:template" plugin.cfg \
&& sed -i "/^forward:.*/i fallback:fallback" plugin.cfg \
&& sed -i "/^hosts:.*/a mdns:mdns" plugin.cfg \
&& sed -i "/route53:route53/d" plugin.cfg \
&& sed -i "/clouddns:clouddns/d" plugin.cfg \
&& sed -i "/k8s_external:k8s_external/d" plugin.cfg \
&& sed -i "/kubernetes:kubernetes/d" plugin.cfg \
&& sed -i "/etcd:etcd/d" plugin.cfg \
&& sed -i "/grpc:grpc/d" plugin.cfg \
&& go mod tidy \
&& go generate \
&& \
if [ "${BUILD_ARCH}" = "armhf" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARM=6 GOARCH=arm"; \
elif [ "${BUILD_ARCH}" = "armv7" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARM=7 GOARCH=arm"; \
elif [ "${BUILD_ARCH}" = "aarch64" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARCH=arm64"; \
elif [ "${BUILD_ARCH}" = "i386" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARCH=386"; \
elif [ "${BUILD_ARCH}" = "amd64" ]; then \
make coredns SYSTEM="CGO_ENABLED=0 GOOS=linux GOARCH=amd64"; \
else \
exit 1; \
fi

FROM ${BUILD_FROM}

WORKDIR /config
COPY --from=builder /usr/src/coredns/coredns /usr/bin/coredns
COPY rootfs /
12 changes: 6 additions & 6 deletions build.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
image: ghcr.io/home-assistant/{arch}-hassio-dns
build_from:
aarch64: ghcr.io/home-assistant/aarch64-base:3.17
armhf: ghcr.io/home-assistant/armhf-base:3.17
armv7: ghcr.io/home-assistant/armv7-base:3.17
amd64: ghcr.io/home-assistant/amd64-base:3.17
i386: ghcr.io/home-assistant/i386-base:3.17
aarch64: ghcr.io/home-assistant/aarch64-base:3.19
armhf: ghcr.io/home-assistant/armhf-base:3.19
armv7: ghcr.io/home-assistant/armv7-base:3.19
amd64: ghcr.io/home-assistant/amd64-base:3.19
i386: ghcr.io/home-assistant/i386-base:3.19
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io
Expand All @@ -21,4 +21,4 @@ labels:
org.opencontainers.image.documentation: https://www.home-assistant.io/docs/
org.opencontainers.image.licenses: Apache License 2.0
args:
COREDNS_VERSION: 1.8.4
COREDNS_VERSION: 1.8.7
2 changes: 1 addition & 1 deletion plugins/fallback/fallback.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
package fallback

import (
"golang.org/x/net/context"
"context"

"github.com/coredns/coredns/plugin"
"github.com/coredns/coredns/plugin/pkg/nonwriter"
Expand Down
3 changes: 1 addition & 2 deletions plugins/fallback/fallback_test.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package fallback

import (
"context"
"testing"

"golang.org/x/net/context"

"github.com/coredns/coredns/plugin/pkg/dnstest"
"github.com/coredns/coredns/plugin/test"

Expand Down
2 changes: 1 addition & 1 deletion plugins/mdns/mdns.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package mdns

import (
"context"
"net"
"strings"
"syscall"
Expand All @@ -11,7 +12,6 @@ import (
"github.com/coredns/coredns/request"

"github.com/miekg/dns"
"golang.org/x/net/context"
)

var log = clog.NewWithPlugin("mdns")
Expand Down

0 comments on commit fed6186

Please sign in to comment.