From 049626f786b66b13e5e23e926e75579542a84184 Mon Sep 17 00:00:00 2001 From: maximo tejeda Date: Wed, 18 Dec 2024 11:27:06 -0400 Subject: [PATCH] ADD image creation and env vars --- Dockerfile | 36 ++++++++++++++++++++---------------- k8s/deployment.yml.template | 37 +++++++++++++++++-------------------- 2 files changed, 37 insertions(+), 36 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2e67f74..6b16e94 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,21 @@ -#FROM golang:latest as builder -#WORKDIR /app -#COPY . . -#RUN go mod download && go mod tidy - -#RUN go build -o ./bin/us-dop-bot ./cmd/bot - -FROM debian:unstable-slim -ARG BINAME=us-dop-bot-linux-arm64-0.0.0_1 -RUN apt-get update -RUN apt-get install -y ca-certificates - -COPY ./bin/${BINAME} /app/us-dop-bot +FROM golang:alpine AS builder +ARG TARGETARCH +ARG version=not-set +ARG SHORTSHA=not-set WORKDIR /app -RUN echo "bin name ${BINAME}" -# RUN mv /app/${BINAME} /app/us-dop-bot -CMD ["/app/us-dop-bot"] +COPY . . +RUN apk --no-cache add git +# https://stackoverflow.com/questions/70369368/check-architecture-in-dockerfile-to-get-amd-arm +RUN go build -o bin/cedulados-bot \ + -ldflags "-X main.Shortsha=${SHORTSHA} \ + -X main.Version=${version} \ + -X main.Aarch=${TARGETARCH}" ./cmd/bot/main.go + +FROM alpine AS runner +COPY --from=builder /app/bin/cedulados-bot /usr/bin/ +WORKDIR /app +RUN apk --no-cache add --no-check-certificate ca-certificates \ + && update-ca-certificates +RUN apk add --no-cache tzdata + +ENTRYPOINT /usr/bin/cedulados-bot diff --git a/k8s/deployment.yml.template b/k8s/deployment.yml.template index a368c3e..b9bd951 100644 --- a/k8s/deployment.yml.template +++ b/k8s/deployment.yml.template @@ -1,34 +1,31 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: us-dop-bot + name: $REPONAME labels: - app: us-dop-bot + app: $REPONAME spec: replicas: 1 selector: matchLabels: - app: us-dop-bot + app: $REPONAME template: metadata: labels: - app: us-dop-bot - name: us-dop-bot + app: $REPONAME + name: $REPONAME spec: containers: - - name: us-dop-bot - image: localhost:32000/us-dop-bot:latest + - name: $REPONAME + image: $IMAGE env: - - name: DBURI - value: $DBURI - - name: NATSURI - value: "nats://nats-svc:4222" - - name: TOKEN - value: "$PRODTOKEN" - volumeMounts: - - name: database - mountPath: /app/dolardb - volumes: - - name: database - persistentVolumeClaim: - claimName: bank-crawler-pvc \ No newline at end of file + - name: ADMINS + value: $ADMINS + - name: NATS_SERVICE_URL + value: "$NATS_SERVICE_URL" + - name: BOT_TOKEN + value: "$BOT_TOKEN" + - name: TGBUSER_SERVICE_URL + value: $TGBUSER_SERVICE_URL + - name: CEDULADOS_SERVICE_URL + value: $CEDULADOS_SERVICE_URL