Compare commits

..

No commits in common. "main" and "v0.1.4" have entirely different histories.
main ... v0.1.4

9 changed files with 3 additions and 63 deletions

View file

@ -12,13 +12,3 @@ image: docker:$DOCKER_VERSION-git
.login_registry: .login_registry:
before_script: before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
.go-cache:
variables:
GOPATH: $CI_PROJECT_DIR/.go
before_script:
- mkdir -p .go
- export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
cache:
paths:
- .go/pkg/mod/

View file

@ -15,7 +15,7 @@ build_release:
--build-arg GOLANG_VERSION=$GOLANG_VERSION --build-arg GOLANG_VERSION=$GOLANG_VERSION
--build-arg NODE_VERSION=$NODE_VERSION --build-arg NODE_VERSION=$NODE_VERSION
--build-arg ALPINE_VERSION=$ALPINE_VERSION --build-arg ALPINE_VERSION=$ALPINE_VERSION
--build-arg VERSION=$CI_COMMIT_TAG --build-arg APP_VERSION=$CI_COMMIT_TAG
--build-arg BUILD_TIME=$CI_JOB_STARTED_AT --build-arg BUILD_TIME=$CI_JOB_STARTED_AT
--tag $CURRENT_IMAGE --tag $CURRENT_IMAGE
--tag $LATEST_IMAGE --tag $LATEST_IMAGE

View file

@ -5,8 +5,6 @@ unit_tests:
extends: extends:
- .go-cache - .go-cache
script: script:
- ./scripts/swagger.sh install
- ./scripts/swagger.sh init
- go install gotest.tools/gotestsum@latest - go install gotest.tools/gotestsum@latest
- gotestsum --junitfile report.xml --format testname -- ./... -coverprofile=profile.cov - gotestsum --junitfile report.xml --format testname -- ./... -coverprofile=profile.cov
- go tool cover -func profile.cov - go tool cover -func profile.cov

View file

@ -115,7 +115,6 @@ services:
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- SWAGGER_HOST=https://cafe.test
labels: labels:
- 'traefik.enable=true' - 'traefik.enable=true'
- 'traefik.http.routers.backend.rule=Host(`cafe.test`) && PathPrefix(`/api`)' - 'traefik.http.routers.backend.rule=Host(`cafe.test`) && PathPrefix(`/api`)'

View file

@ -39,7 +39,7 @@ WORKDIR /app
COPY ./scripts/entrypoint.sh . COPY ./scripts/entrypoint.sh .
COPY --from=logo /logo.txt . COPY --from=logo /logo.txt .
COPY --from=nodeBuilder /app/dist/ ./web/ COPY --from=nodeBuilder /app/dist/ ./templates/
COPY --from=goBuilder /app/cafe-plaetschwiesle . COPY --from=goBuilder /app/cafe-plaetschwiesle .
ARG VERSION ARG VERSION

2
internal/env/env.go vendored
View file

@ -15,7 +15,7 @@ type Config struct {
Port int `env:"PORT" envDefault:"8080" validate:"min=1024,max=49151"` Port int `env:"PORT" envDefault:"8080" validate:"min=1024,max=49151"`
LogLevel string `env:"LOG_LEVEL" envDefault:"info" validate:"oneof=debug info warn error panic fatal"` LogLevel string `env:"LOG_LEVEL" envDefault:"info" validate:"oneof=debug info warn error panic fatal"`
Version string `env:"VERSION" envDefault:"v0.0.0"` Version string `env:"VERSION" envDefault:"v0.0.0"`
SwaggerHost string `env:"SWAGGER_HOST"` SwaggerHost string `env:"SWAGGER_HOST" envDefault:"https://cafe.test"`
DB_Host string `env:"DB_HOST"` DB_Host string `env:"DB_HOST"`
DB_User string `env:"DB_USER"` DB_User string `env:"DB_USER"`
DB_Password string `env:"DB_PASSWORD"` DB_Password string `env:"DB_PASSWORD"`

View file

@ -4,13 +4,6 @@ import (
"github.com/labstack/echo/v4" "github.com/labstack/echo/v4"
) )
func longCacheLifetime(next echo.HandlerFunc) echo.HandlerFunc {
return func(c echo.Context) error {
c.Response().Header().Set(echo.HeaderCacheControl, "public, max-age=31536000")
return next(c)
}
}
func authHeader(next echo.HandlerFunc) echo.HandlerFunc { func authHeader(next echo.HandlerFunc) echo.HandlerFunc {
return func(c echo.Context) error { return func(c echo.Context) error {
c.Response().Header().Set("Remote-Groups", c.Request().Header.Get("Remote-Groups")) c.Response().Header().Set("Remote-Groups", c.Request().Header.Get("Remote-Groups"))

View file

@ -29,22 +29,11 @@ func InitRouter() *echo.Echo {
e.Pre(middleware.RemoveTrailingSlash()) e.Pre(middleware.RemoveTrailingSlash())
e.Validator = &CustomValidator{Validator: newValidator()} e.Validator = &CustomValidator{Validator: newValidator()}
e.Renderer = initTemplates()
return e return e
} }
func SetupRoutes(e *echo.Echo, ctrl *controller.Controller, env *env.Config) { func SetupRoutes(e *echo.Echo, ctrl *controller.Controller, env *env.Config) {
favicon := e.Group("/favicon", longCacheLifetime)
favicon.Static("/", "web/favicon")
fonts := e.Group("/fonts", longCacheLifetime)
fonts.Static("/", "web/fonts")
img := e.Group("/img", longCacheLifetime)
img.Static("/", "web/img")
e.Static("/css", "web/css")
e.Static("/js", "web/js")
api := e.Group("/api") api := e.Group("/api")
{ {
tableGroup := api.Group("/tables") tableGroup := api.Group("/tables")
@ -101,12 +90,5 @@ func SetupRoutes(e *echo.Echo, ctrl *controller.Controller, env *env.Config) {
api.GET("/swagger/*", echoSwagger.WrapHandler) api.GET("/swagger/*", echoSwagger.WrapHandler)
zap.L().Info("swagger running", zap.String("url", env.SwaggerHost+"/api/swagger/index.html")) zap.L().Info("swagger running", zap.String("url", env.SwaggerHost+"/api/swagger/index.html"))
} }
e.GET("/robots.txt", func(ctx echo.Context) error {
return ctx.String(http.StatusOK, "User-agent: *\nDisallow: /")
})
e.RouteNotFound("*", func(c echo.Context) error {
return c.Render(http.StatusOK, "index.html", nil)
})
} }
} }

View file

@ -1,22 +0,0 @@
package router
import (
"html/template"
"io"
"github.com/labstack/echo/v4"
)
type Template struct {
templates *template.Template
}
func (t *Template) Render(w io.Writer, name string, data interface{}, c echo.Context) error {
return t.templates.ExecuteTemplate(w, name, data)
}
func initTemplates() *Template {
return &Template{
templates: template.Must(template.ParseGlob("web/*.html")),
}
}