Merge branch '2-issue' into 'main'
make use of minicurl Closes #2 See merge request h6n/users!2
This commit is contained in:
commit
2e35c300e6
2 changed files with 32 additions and 1 deletions
14
Dockerfile
14
Dockerfile
|
|
@ -1,5 +1,12 @@
|
||||||
FROM golang:1.21-alpine AS develop
|
FROM golang:1.21-alpine AS develop
|
||||||
|
|
||||||
|
# Changement du répertoire de travail
|
||||||
|
WORKDIR /
|
||||||
|
|
||||||
|
RUN apk update && apk add --no-cache curl tar && \
|
||||||
|
curl -O https://gitlab.g3e.fr/api/v4/projects/34/packages/generic/minicurl/v1.0.0/minicurl_linux_amd64.tar.gz && \
|
||||||
|
tar xzvf minicurl_linux_amd64.tar.gz
|
||||||
|
|
||||||
# Changement du répertoire de travail
|
# Changement du répertoire de travail
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
@ -7,6 +14,9 @@ WORKDIR /app
|
||||||
COPY go.mod go.sum ./
|
COPY go.mod go.sum ./
|
||||||
RUN go mod download && go mod verify
|
RUN go mod download && go mod verify
|
||||||
|
|
||||||
|
ENV PORT=1222
|
||||||
|
HEALTHCHECK --interval=1s --timeout=30s --start-period=5s --retries=3 CMD [ "/minicurl" ]
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
CMD ["sh", "-c", "echo 'run application' && go run ./cmd/"]
|
CMD ["sh", "-c", "echo 'run application' && go run ./cmd/"]
|
||||||
|
|
@ -18,7 +28,11 @@ RUN CGO_ENABLED=0 go build -o ./build/app ./cmd/
|
||||||
FROM scratch AS release
|
FROM scratch AS release
|
||||||
|
|
||||||
COPY --from=build /app/build/app /exec
|
COPY --from=build /app/build/app /exec
|
||||||
|
COPY --from=develop /minicurl /minicurl
|
||||||
|
|
||||||
EXPOSE 1222
|
EXPOSE 1222
|
||||||
|
|
||||||
|
ENV PORT=1222
|
||||||
|
HEALTHCHECK --interval=1s --timeout=30s --start-period=5s --retries=3 CMD [ "/minicurl" ]
|
||||||
|
|
||||||
ENTRYPOINT ["/exec"]
|
ENTRYPOINT ["/exec"]
|
||||||
19
cmd/main.go
19
cmd/main.go
|
|
@ -23,6 +23,10 @@ func isLoggedIn(c echo.Context) error {
|
||||||
return c.NoContent(http.StatusNoContent)
|
return c.NoContent(http.StatusNoContent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func health(c echo.Context) error {
|
||||||
|
return c.NoContent(http.StatusOK)
|
||||||
|
}
|
||||||
|
|
||||||
func init_database() {
|
func init_database() {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
|
|
@ -38,6 +42,16 @@ func skip_auth(c echo.Context) bool {
|
||||||
if c.Request().Method == "POST" && c.Path() == "/" {
|
if c.Request().Method == "POST" && c.Path() == "/" {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
if c.Request().Method == "GET" && c.Path() == "/health" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func skip_log(c echo.Context) bool {
|
||||||
|
if c.Request().Method == "GET" && c.Path() == "/health" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -50,7 +64,9 @@ func main() {
|
||||||
e := echo.New()
|
e := echo.New()
|
||||||
|
|
||||||
// Middleware
|
// Middleware
|
||||||
e.Use(middleware.Logger())
|
e.Use(middleware.LoggerWithConfig(middleware.LoggerConfig{
|
||||||
|
Skipper: skip_log,
|
||||||
|
}))
|
||||||
e.Use(middleware.Recover())
|
e.Use(middleware.Recover())
|
||||||
e.Use(middleware.CORS())
|
e.Use(middleware.CORS())
|
||||||
e.Use(lib.AuthMiddleware(skip_auth))
|
e.Use(lib.AuthMiddleware(skip_auth))
|
||||||
|
|
@ -59,6 +75,7 @@ func main() {
|
||||||
e.GET("/", isLoggedIn)
|
e.GET("/", isLoggedIn)
|
||||||
e.POST("/", login)
|
e.POST("/", login)
|
||||||
e.DELETE("/", logout)
|
e.DELETE("/", logout)
|
||||||
|
e.GET("/health", health)
|
||||||
|
|
||||||
// Start server
|
// Start server
|
||||||
e.Logger.Fatal(e.Start(":1222"))
|
e.Logger.Fatal(e.Start(":1222"))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue