Skip to content
This repository was archived by the owner on May 31, 2024. It is now read-only.

Commit a42c2cf

Browse files
committed
Merge branch 'main' of github.com:buttahtoast/subst
2 parents 6ed1d9a + 9e55572 commit a42c2cf

File tree

6 files changed

+50
-19
lines changed

6 files changed

+50
-19
lines changed

.goreleaser.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ dockers:
4343
- image_templates:
4444
- "ghcr.io/buttahtoast/{{ .ProjectName }}:{{ .Tag }}"
4545
- "ghcr.io/buttahtoast/{{ .ProjectName }}:latest"
46-
dockerfile: Dockerfile
46+
dockerfile: Dockerfile.goreleaser
4747
goos: linux
4848
goarch: amd64
4949
use: buildx
@@ -87,7 +87,7 @@ dockers:
8787
- image_templates:
8888
- "ghcr.io/buttahtoast/{{ .ProjectName }}-cmp:{{ .Tag }}"
8989
- "ghcr.io/buttahtoast/{{ .ProjectName }}-cmp:latest"
90-
dockerfile: argocd-cmp/Dockerfile
90+
dockerfile: argocd-cmp/Dockerfile.goreleaser
9191
goos: linux
9292
goarch: amd64
9393
use: buildx

Dockerfile.argo-cmp

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
1-
FROM bash:5
2-
COPY subst /subst
3-
COPY argocd-cmp/cmp.yaml /home/argocd/cmp-server/config/plugin.yaml
4-
RUN adduser -H -D -s /bin/bash -G nobody -u 999 argocd
5-
USER argocd:nobody
6-
#ENTRYPOINT ["/usr/local/bin/subst"]
1+
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.19 as builder
2+
3+
ARG TARGETPLATFORM
4+
ARG BUILDPLATFORM
5+
ARG TARGETOS
6+
ARG TARGETARCH
7+
8+
WORKDIR /app/
9+
ADD . .
10+
RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags="-w -s -X github.com/buttahtoast/subst/subst/cmd.Version={{ .Tag }} -X github.com/buttahtoast/subst/subst/cmd.GitCommit={{ .Commit }} -X github.com/buttahtoast/subst/subst/cmd.BuildDate={{ .Date }}" -o subst ./subst/main.go
711

12+
13+
FROM --platform=${TARGETPLATFORM:-linux/amd64} scratch
14+
ENV ARGOCD_EXEC_TIMEOUT=90s
15+
COPY --from=builder /app/subst /subst
16+
COPY cmp.yaml /home/argocd/cmp-server/config/plugin.yaml
17+
COPY entrypoint.sh /entrypoint.sh
18+
RUN adduser -H -D -s /bin/bash -G nobody -u 999 argocd && \
19+
chmod +x /entrypoint.sh
20+
USER argocd:nobody
21+
ENTRYPOINT ["/entrypoint.sh"]
File renamed without changes.

Makefile

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
11
projectname?=subst
22
K3S_NAME ?= subst-cmp
33

4-
VERSION ?= $$(git describe --abbrev=0 --tags --match "v*")
5-
IMG ?= ghcr.io/buttahtoast/subst:$(VERSION)
6-
PLUGIN_IMG ?= ghcr.io/buttahtoast/subst-cmp:$(VERSION)
7-
84
# Get information about git current status
5+
GOOS ?= $(shell go env GOOS)
6+
GOARCH ?= $(shell go env GOARCH)
97
GIT_HEAD_COMMIT ?= $$(git rev-parse --short HEAD)
108
GIT_TAG_COMMIT ?= $$(git rev-parse --short $(VERSION))
119
GIT_MODIFIED_1 ?= $$(git diff $(GIT_HEAD_COMMIT) $(GIT_TAG_COMMIT) --quiet && echo "" || echo ".dev")
1210
GIT_MODIFIED_2 ?= $$(git diff --quiet && echo "" || echo ".dirty")
1311
GIT_MODIFIED ?= $$(echo "$(GIT_MODIFIED_1)$(GIT_MODIFIED_2)")
1412
GIT_REPO ?= $$(git config --get remote.origin.url)
15-
BUILD_DATE ?= $$(git log -1 --format="%at" | xargs -I{} date -d @{} +%Y-%m-%dT%H:%M:%S)
13+
BUILD_DATE ?= $(shell git log -1 --format="%at" | xargs -I{} sh -c 'if [ "$(shell uname)" = "Darwin" ]; then date -r {} +%Y-%m-%dT%H:%M:%S; else date -d @{} +%Y-%m-%dT%H:%M:%S; fi')
14+
15+
# Docker Build
16+
DOCKER_CLI_EXPERIMENTAL ?= enabled
17+
LOCAL_PLATFORM := linux/$(GOARCH)
18+
# Define platforms in cli if multiple needed linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x
19+
TARGET_PLATFORMS ?= $(LOCAL_PLATFORM)
20+
21+
VERSION ?= $$(git describe --abbrev=0 --tags --match "v*")
22+
IMG ?= ghcr.io/buttahtoast/subst:$(VERSION)
23+
PLUGIN_IMG ?= ghcr.io/buttahtoast/subst-cmp:$(VERSION)
1624

1725
default: help
1826

@@ -58,14 +66,24 @@ PHONY: lint
5866
lint: ## lint go files
5967
golangci-lint run -c .golang-ci.yml
6068

69+
6170
.PHONY: docker-build
62-
docker-build: ## dockerize golang application
63-
docker build . -f Dockerfile -t ${IMG} --build-arg GIT_HEAD_COMMIT=$(GIT_HEAD_COMMIT) \
71+
docker-build:
72+
@docker buildx create --use --name=cross --node=cross && \
73+
docker buildx build \
74+
--build-arg GIT_HEAD_COMMIT=$(GIT_HEAD_COMMIT) \
6475
--build-arg GIT_TAG_COMMIT=$(GIT_TAG_COMMIT) \
6576
--build-arg GIT_MODIFIED=$(GIT_MODIFIED) \
6677
--build-arg GIT_REPO=$(GIT_REPO) \
6778
--build-arg GIT_LAST_TAG=$(VERSION) \
68-
--build-arg BUILD_DATE=$(BUILD_DATE)
79+
--build-arg BUILD_DATE=$(BUILD_DATE) \
80+
--platform $(TARGET_PLATFORMS) \
81+
--output "type=docker,push=false" \
82+
--tag $(IMG) \
83+
-f Dockerfile.argo-cmp \
84+
./
85+
86+
6987

7088
.PHONY: docker-build-cmp
7189
docker-build-cmp: ## build argocd plugin

argocd-cmp/Dockerfile renamed to argocd-cmp/Dockerfile.goreleaser

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
FROM bash:5
32
ENV ARGOCD_EXEC_TIMEOUT=90s
43
COPY subst /subst

pkg/subst/build.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,13 +190,13 @@ func (b *Build) decryptors() (decryptors []decrypt.Decryptor, cleanups []func(),
190190
if err == nil {
191191
b.kubeClient, err = kubernetes.NewForConfig(cfg)
192192
if err != nil {
193-
logrus.Warnf("could not load kubernetes client: %s", err)
193+
logrus.Debug("could not load kubernetes client: %s", err)
194194
} else {
195195
ctx := context.Background()
196196
for _, decr := range decryptors {
197197
err = decr.KeysFromSecret(b.cfg.SecretName, b.cfg.SecretNamespace, b.kubeClient, ctx)
198198
if err != nil {
199-
logrus.Warnf("failed to load secrets from Kubernetes: %s", err)
199+
logrus.Debug("failed to load secrets from Kubernetes: %s", err)
200200
}
201201
}
202202

0 commit comments

Comments
 (0)