Refactoring

This commit is contained in:
PB
2025-11-06 17:55:56 +01:00
parent 988479dc5d
commit 3d8cd00256
24 changed files with 133 additions and 152 deletions

16
deploy/.env.docker Normal file
View File

@@ -0,0 +1,16 @@
SERVER_ADDR=:443
APP_NAME=identity-svc
APP_DOMAIN=identity.service.ego.io
API_DATABASE_URL=postgres://postgres:12345678@db-postgres:5432/egommerce
API_CACHE_ADDR=api-cache:6379
API_CACHE_USERNAME=default
API_CACHE_PASSWORD=12345678
API_MONGODB_URL=mongodb://mongodb:12345678@db-mongo:27017
JWT_ACCESS_TOKEN_SECRET_KEY=SomeFancySecretAndRandomString
JWT_ACCESS_TOKEN_EXPIRE_TIME=1 # hours
JWT_REFRESH_TOKEN_SECRET_KEY=SomeFancySecretAndRandomStringAgain
JWT_REFRESH_TOKEN_EXPIRE_TIME=7 # days

View File

@@ -0,0 +1,15 @@
# Builder
FROM golang:alpine
ARG BIN_OUTPUT=/go/bin
ARG GO_SERVER=cmd/server/main.go
ARG GO_CHRONOS=cmd/scheduler/main.go
ARG GO_MIGRATE=cmd/migrate/main.go
WORKDIR /go/src/app
COPY src/ ./
RUN export CGO_ENABLED=0 ; export GOOS=linux ; export GOARCH=amd64 && \
go build -ldflags="-w -s" -o "$BIN_OUTPUT/server" $GO_SERVER && \
go build -ldflags="-w -s" -o "$BIN_OUTPUT/scheduler" $GO_CHRONOS && \
go build -ldflags="-w -s" -o "$BIN_OUTPUT/migrate" $GO_MIGRATE

View File

@@ -0,0 +1,33 @@
# Builder
ARG BUILDER_IMAGE
FROM ${BUILDER_IMAGE} AS builder
# Destination image - server
# FROM gcr.io/distroless/base-debian10
FROM alpine:3.22
ARG SVC_NAME
ARG SVC_VER
ARG BUILD_TIME
LABEL dev.egommerce.image.author="Piotr Biernat"
LABEL dev.egommerce.image.vendor="Egommerce"
LABEL dev.egommerce.image.service=${SVC_NAME}
LABEL dev.egommerce.image.version=${SVC_VER}
LABEL dev.egommerce.image.build_time=${BUILD_TIME}
WORKDIR /
COPY --from=builder /go/bin/server /usr/local/bin/server
COPY --from=builder /go/bin/migrate /usr/local/bin/migrate
COPY --from=builder /go/bin/scheduler /usr/local/bin/scheduler
COPY deploy/.env.docker /.env
COPY ./bin/* /usr/local/bin/
RUN chmod 755 /usr/local/bin/entrypoint.sh /usr/local/bin/migrate.sh
EXPOSE 443
ENTRYPOINT ["entrypoint.sh"]
CMD ["sh", "-c", "/usr/local/bin/server"]

View File

@@ -11,7 +11,7 @@ TARGET=${1:-latest}
[ ! -d "src/vendor" ] && sh -c "cd src; go mod vendor"
echo "Building target $IMAGE_PREFIX images..."
docker build --rm -t $BUILDER_IMAGE -f Dockerfile.builder .
docker build --rm -t $BUILDER_IMAGE -f deploy/docker/Dockerfile.builder .
if [ $TARGET = "latest" ]
then
@@ -23,7 +23,7 @@ then
--build-arg BUILD_TIME \
--rm --cache-from $SERVER_IMAGE:$TARGET \
-t $SERVER_IMAGE:$TARGET \
-f Dockerfile.target . > /dev/null 2>&1 && echo "Successfully tagged $SERVER_IMAGE:$TARGET"
-f deploy/docker/Dockerfile.target . > /dev/null 2>&1 && echo "Successfully tagged $SERVER_IMAGE:$TARGET"
else
# DEV
docker build \
@@ -32,7 +32,7 @@ else
--build-arg BUILDER_IMAGE=$BUILDER_IMAGE \
--build-arg BUILD_TIME \
--rm --no-cache -t $SERVER_IMAGE:$TARGET \
-f Dockerfile.target . > /dev/null 2>&1 && echo "Successfully tagged $SERVER_IMAGE:$TARGET"
-f deploy/docker/Dockerfile.target . > /dev/null 2>&1 && echo "Successfully tagged $SERVER_IMAGE:$TARGET"
fi
echo "Done."