mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2025-03-16 21:38:23 +00:00
Merge pull request #1373 from marquiz/devel/static-binaries
Build statically linked binaries
This commit is contained in:
commit
a4cea16119
3 changed files with 8 additions and 6 deletions
|
@ -7,7 +7,8 @@ FROM ${BUILDER_IMAGE} as builder
|
||||||
|
|
||||||
# Build and install the grpc-health-probe binary
|
# Build and install the grpc-health-probe binary
|
||||||
RUN GRPC_HEALTH_PROBE_VERSION=v0.4.19 && \
|
RUN GRPC_HEALTH_PROBE_VERSION=v0.4.19 && \
|
||||||
go install github.com/grpc-ecosystem/grpc-health-probe@${GRPC_HEALTH_PROBE_VERSION} \
|
go install -tags osusergo,netgo -ldflags -extldflags=-static \
|
||||||
|
github.com/grpc-ecosystem/grpc-health-probe@${GRPC_HEALTH_PROBE_VERSION} \
|
||||||
# Rename it as it's referenced as grpc_health_probe in the deployment yamls
|
# Rename it as it's referenced as grpc_health_probe in the deployment yamls
|
||||||
# and in its own project https://github.com/grpc-ecosystem/grpc-health-probe
|
# and in its own project https://github.com/grpc-ecosystem/grpc-health-probe
|
||||||
&& mv /go/bin/grpc-health-probe /go/bin/grpc_health_probe
|
&& mv /go/bin/grpc-health-probe /go/bin/grpc_health_probe
|
||||||
|
|
9
Makefile
9
Makefile
|
@ -10,7 +10,7 @@ IMAGE_PUSH_CMD ?= docker push
|
||||||
CONTAINER_RUN_CMD ?= docker run
|
CONTAINER_RUN_CMD ?= docker run
|
||||||
BUILDER_IMAGE ?= golang:1.20-bullseye
|
BUILDER_IMAGE ?= golang:1.20-bullseye
|
||||||
BASE_IMAGE_FULL ?= debian:bullseye-slim
|
BASE_IMAGE_FULL ?= debian:bullseye-slim
|
||||||
BASE_IMAGE_MINIMAL ?= gcr.io/distroless/base
|
BASE_IMAGE_MINIMAL ?= scratch
|
||||||
|
|
||||||
# Docker base command for working with html documentation.
|
# Docker base command for working with html documentation.
|
||||||
# Use host networking because 'jekyll serve' is stupid enough to use the
|
# Use host networking because 'jekyll serve' is stupid enough to use the
|
||||||
|
@ -57,7 +57,8 @@ KUBECONFIG ?= ${HOME}/.kube/config
|
||||||
E2E_TEST_CONFIG ?=
|
E2E_TEST_CONFIG ?=
|
||||||
E2E_PULL_IF_NOT_PRESENT ?= false
|
E2E_PULL_IF_NOT_PRESENT ?= false
|
||||||
|
|
||||||
LDFLAGS = -ldflags "-s -w -X sigs.k8s.io/node-feature-discovery/pkg/version.version=$(VERSION) -X sigs.k8s.io/node-feature-discovery/pkg/utils/hostpath.pathPrefix=$(HOSTMOUNT_PREFIX)"
|
BUILD_FLAGS = -tags osusergo,netgo \
|
||||||
|
-ldflags "-s -w -extldflags=-static -X sigs.k8s.io/node-feature-discovery/pkg/version.version=$(VERSION) -X sigs.k8s.io/node-feature-discovery/pkg/utils/hostpath.pathPrefix=$(HOSTMOUNT_PREFIX)"
|
||||||
|
|
||||||
# multi-arch build with buildx
|
# multi-arch build with buildx
|
||||||
IMAGE_ALL_PLATFORMS ?= linux/amd64,linux/arm64
|
IMAGE_ALL_PLATFORMS ?= linux/amd64,linux/arm64
|
||||||
|
@ -89,10 +90,10 @@ all: image
|
||||||
|
|
||||||
build:
|
build:
|
||||||
@mkdir -p bin
|
@mkdir -p bin
|
||||||
$(GO_CMD) build -v -o bin $(LDFLAGS) ./cmd/...
|
$(GO_CMD) build -v -o bin $(BUILD_FLAGS) ./cmd/...
|
||||||
|
|
||||||
install:
|
install:
|
||||||
$(GO_CMD) install -v $(LDFLAGS) ./cmd/...
|
$(GO_CMD) install -v $(BUILD_FLAGS) ./cmd/...
|
||||||
|
|
||||||
image: yamls
|
image: yamls
|
||||||
$(IMAGE_BUILD_CMD) $(IMAGE_BUILD_ARGS) $(IMAGE_BUILD_ARGS_FULL)
|
$(IMAGE_BUILD_CMD) $(IMAGE_BUILD_ARGS) $(IMAGE_BUILD_ARGS_FULL)
|
||||||
|
|
|
@ -16,7 +16,7 @@ x86_64 and Arm64 architectures.
|
||||||
## Minimal
|
## Minimal
|
||||||
|
|
||||||
This is a minimal image based on
|
This is a minimal image based on
|
||||||
[gcr.io/distroless/base](https://github.com/GoogleContainerTools/distroless/blob/master/base/README.md)
|
[scratch](https://hub.docker.com/_/scratch)
|
||||||
and only supports running statically linked binaries.
|
and only supports running statically linked binaries.
|
||||||
|
|
||||||
For backwards compatibility a container image tag with suffix `-minimal`
|
For backwards compatibility a container image tag with suffix `-minimal`
|
||||||
|
|
Loading…
Add table
Reference in a new issue