Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 0 additions & 27 deletions .buildkite/pipeline.yml

This file was deleted.

15 changes: 6 additions & 9 deletions Dockerfile.lambda
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Fetch or build all required binaries
FROM --platform=linux/amd64 golang:1.20 as builder
FROM golang:1.21-bookworm as builder

ARG VERSION_REF
RUN test -n "${VERSION_REF}"

ENV SRC github.com/segmentio/kubeapply

RUN apt-get update && apt-get install --yes \
RUN apt-get update && apt-get install --no-install-recommends --yes \
curl \
unzip \
wget
Expand All @@ -16,24 +16,21 @@ RUN cd /usr/local/bin && /go/src/${SRC}/scripts/pull-deps.sh

WORKDIR /go/src/${SRC}

ENV CGO_ENABLED=1
ENV GO111MODULE=on

RUN make kubeapply VERSION_REF=${VERSION_REF} && \
cp build/kubeapply /usr/local/bin
RUN make kubeapply-lambda VERSION_REF=${VERSION_REF} && \
cp build/kubeapply-lambda /usr/local/bin

# Copy into final image
# Copy into final image from builder
FROM public.ecr.aws/lambda/provided:al2

RUN yum install -y git unzip

# Not sure if awscli is needed for running lambda, but keeping it here for now
RUN curl https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip \
&& unzip awscliv2.zip \
&& ./aws/install \
&& rm -rf aws awscliv2.zip
&& unzip awscliv2.zip \
&& ./aws/install \
&& rm -rf aws awscliv2.zip

COPY --from=builder \
/usr/local/bin/aws-iam-authenticator \
Expand Down
16 changes: 7 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ ifndef VERSION_REF
VERSION_REF ?= $(shell git describe --tags --always --dirty="-dev")
endif

LDFLAGS := -ldflags='-X "main.VersionRef=$(VERSION_REF)"'
LDFLAGS := -ldflags='-s -w -X "main.VersionRef=$(VERSION_REF)"'
export GOFLAGS := -trimpath

GOFILES = $(shell find . -iname '*.go' | grep -v -e vendor -e _modules -e _cache -e /data/)
TEST_KUBECONFIG = .kube/kind-kubeapply-test.yaml
Expand All @@ -12,7 +13,7 @@ LAMBDAZIP := kubeapply-lambda-$(VERSION_REF).zip
# Main targets
.PHONY: kubeapply
kubeapply: data
go build -o build/kubeapply $(LDFLAGS) ./cmd/kubeapply
go build $(LDFLAGS) -o build/kubeapply ./cmd/kubeapply

.PHONY: install
install: data
Expand All @@ -21,19 +22,19 @@ install: data
# Lambda and server-related targets
.PHONY: kubeapply-lambda
kubeapply-lambda: data
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -tags lambda.norpc -o build/kubeapply-lambda $(LDFLAGS) ./cmd/kubeapply-lambda
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build $(LDFLAGS) -tags lambda.norpc -o build/kubeapply-lambda ./cmd/kubeapply-lambda

.PHONY: kubeapply-lambda-kubeapply
kubeapply-lambda-kubeapply: data
GOOS=linux GOARCH=amd64 go build -o build/kubeapply $(LDFLAGS) ./cmd/kubeapply
GOOS=linux GOARCH=amd64 go build $(LDFLAGS) -o build/kubeapply ./cmd/kubeapply

.PHONY: lambda-zip
lambda-zip: clean kubeapply-lambda kubeapply-lambda-kubeapply
$Q./scripts/create-lambda-bundle.sh $(LAMBDAZIP)

.PHONY: kubeapply-server
kubeapply-server: data
go build -o build/kubeapply-server $(LDFLAGS) ./cmd/kubeapply-server
go build $(LDFLAGS) -o build/kubeapply-server ./cmd/kubeapply-server

# Test and formatting targets
.PHONY: test
Expand Down Expand Up @@ -72,12 +73,9 @@ $(TEST_KUBECONFIG):
.PHONY: go-bindata
go-bindata:
ifeq (, $(shell which go-bindata))
GO111MODULE=off go get -u github.com/kevinburke/go-bindata/...
go install github.com/kevinburke/go-bindata/v4/...@latest
endif

.PHONY: clean
clean:
rm -Rf *.zip .kube build vendor

publish:
./scripts/publish.sh
Loading