mirror of
https://github.com/MizuchiLabs/mantrae.git
synced 2025-12-16 20:05:17 -06:00
adding compression
This commit is contained in:
13
.ko.yaml
13
.ko.yaml
@@ -4,13 +4,14 @@ defaultPlatforms:
|
||||
- linux/amd64
|
||||
defaultLdflags:
|
||||
- -s -w
|
||||
- -X github.com/mizuchilabs/mantrae/pkg/build.Version={{.Git.Tag}}
|
||||
- -X github.com/mizuchilabs/mantrae/pkg/build.Commit={{.Git.FullCommit}}
|
||||
- -X github.com/mizuchilabs/mantrae/pkg/build.Date={{.Date}}
|
||||
- -X github.com/mizuchilabs/mantrae/pkg/build.Dirty={{.Git.IsDirty}}
|
||||
- -X github.com/mizuchilabs/mantrae/pkg/meta.Version={{.Git.Tag}}
|
||||
- -X github.com/mizuchilabs/mantrae/pkg/meta.Commit={{.Git.FullCommit}}
|
||||
- -X github.com/mizuchilabs/mantrae/pkg/meta.Date={{.Date}}
|
||||
- -X github.com/mizuchilabs/mantrae/pkg/meta.Dirty={{.Git.IsDirty}}
|
||||
defaultLabels:
|
||||
org.opencontainers.image.title: "{{.Target}}"
|
||||
org.opencontainers.image.description: "Mantrae is a self-hosted, open-source, Traefik dynamic config manager."
|
||||
org.opencontainers.image.description:
|
||||
"Mantrae is a self-hosted, open-source, Traefik dynamic config manager."
|
||||
org.opencontainers.image.version: "{{.Git.Tag}}"
|
||||
org.opencontainers.image.created: "{{.Date}}"
|
||||
org.opencontainers.image.revision: "{{.Git.FullCommit}}"
|
||||
@@ -22,6 +23,7 @@ defaultLabels:
|
||||
|
||||
builds:
|
||||
- id: server
|
||||
main: ./server/cmd
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
|
||||
@@ -29,4 +31,3 @@ builds:
|
||||
main: ./agent/cmd
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
|
||||
|
||||
92
Makefile
92
Makefile
@@ -1,92 +0,0 @@
|
||||
BIN_SERVER=mantrae
|
||||
BIN_AGENT=mae
|
||||
|
||||
VERSION=$(shell git describe --tags --abbrev=0)
|
||||
DATE=$(shell date -u +%Y-%m-%d)
|
||||
COMMIT=$(shell git rev-parse --short HEAD)
|
||||
|
||||
# Setup the -ldflags option for go build here, interpolate the variable values
|
||||
LDFLAGS=-ldflags "-s -w -X github.com/mizuchilabs/mantrae/pkg/build.Version=${VERSION} -X github.com/MizuchiLabs/mantrae/pkg/build.Date=${DATE} -X github.com/MizuchiLabs/mantrae/pkg/build.Commit=${COMMIT}"
|
||||
|
||||
all: clean build
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(PWD)/$(BIN) $(PWD)/$(BIN)-agent $(PWD)/web/build $(PWD)/builds
|
||||
|
||||
.PHONY: run
|
||||
run:
|
||||
go run -tags=dev .
|
||||
|
||||
.PHONY: audit
|
||||
audit-security:
|
||||
- gosec --exclude=G104 ./...
|
||||
- govulncheck -show=color ./...
|
||||
- staticcheck -checks=all -f=stylish ./...
|
||||
|
||||
audit: audit-security
|
||||
go fmt ./...
|
||||
go vet ./...
|
||||
go mod tidy
|
||||
go mod verify
|
||||
go test -v -coverprofile cover.out ./...
|
||||
go tool cover -html cover.out -o cover.html
|
||||
|
||||
build-server:
|
||||
go generate ./...
|
||||
go build $(LDFLAGS) -o $(BIN_SERVER) main.go
|
||||
|
||||
build-agent:
|
||||
go build $(LDFLAGS) -o $(BIN_AGENT) agent/cmd/main.go
|
||||
|
||||
docker-local:
|
||||
go generate ./...
|
||||
KO_DOCKER_REPO=ko.local/mantrae ko build . --bare
|
||||
KO_DOCKER_REPO=ko.local/mantrae-agent ko build ./agent/cmd --bare
|
||||
# Check for vulnerabilities
|
||||
grype --scope all-layers ko.local/mantrae:latest
|
||||
grype --scope all-layers ko.local/mantrae-agent:latest
|
||||
|
||||
docker-release:
|
||||
go generate ./...
|
||||
KO_DOCKER_REPO=ghcr.io/mizuchilabs/mantrae ko build . --bare
|
||||
KO_DOCKER_REPO=ghcr.io/mizuchilabs/mantrae-agent ko build ./agent/cmd --bare
|
||||
|
||||
.PHONY: release
|
||||
release:
|
||||
go generate ./...
|
||||
goreleaser release --clean --skip=validate
|
||||
|
||||
.PHONY: snapshot
|
||||
snapshot:
|
||||
goreleaser release --clean --snapshot
|
||||
|
||||
.PHONY: upgrade
|
||||
upgrade:
|
||||
go get -u && go mod tidy
|
||||
cd web && pnpm update
|
||||
|
||||
|
||||
.PHONY: db-up
|
||||
db-up:
|
||||
goose sqlite3 data/mantrae.db -dir internal/store/migrations up-by-one
|
||||
|
||||
.PHONY: db-down
|
||||
db-down:
|
||||
goose sqlite3 data/mantrae.db -dir internal/store/migrations down
|
||||
|
||||
.PHONY: db-reset
|
||||
db-reset:
|
||||
rm -f mantrae.db
|
||||
goose sqlite3 data/mantrae.db -dir internal/store/migrations up
|
||||
|
||||
.PHONY: db-status
|
||||
db-status:
|
||||
goose sqlite3 data/mantrae.db -dir internal/store/migrations status
|
||||
|
||||
.PHONY: run
|
||||
run-server:
|
||||
go run main.go
|
||||
|
||||
run-web:
|
||||
cd web && npm run dev
|
||||
@@ -11,8 +11,8 @@ import (
|
||||
"syscall"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/agent/internal/client"
|
||||
"github.com/mizuchilabs/mantrae/pkg/build"
|
||||
"github.com/mizuchilabs/mantrae/pkg/logger"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -22,7 +22,7 @@ func main() {
|
||||
flag.Parse()
|
||||
|
||||
if *version {
|
||||
fmt.Println(build.Version)
|
||||
fmt.Println(meta.Version)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -13,6 +13,8 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -50,13 +52,13 @@ func Update(update bool) {
|
||||
|
||||
if !update {
|
||||
if compareVersions(
|
||||
strings.TrimPrefix(Version, "v"),
|
||||
strings.TrimPrefix(meta.Version, "v"),
|
||||
strings.TrimPrefix(latest.Tag, "v"),
|
||||
) <= 0 {
|
||||
slog.Info("You are running the latest version!")
|
||||
return
|
||||
}
|
||||
slog.Info("New version available!", "latest", latest.Tag, "current", Version)
|
||||
slog.Info("New version available!", "latest", latest.Tag, "current", meta.Version)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Package build provides build information.
|
||||
package build
|
||||
package meta
|
||||
|
||||
var (
|
||||
Version = "unknown"
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"os/signal"
|
||||
"syscall"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/api/server"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/api/server"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -14,9 +14,9 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/coreos/go-oidc/v3/oidc"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
"golang.org/x/oauth2"
|
||||
)
|
||||
@@ -7,9 +7,9 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/traefik"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/traefik"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
"golang.org/x/sync/singleflight"
|
||||
"gopkg.in/yaml.v3"
|
||||
@@ -11,9 +11,9 @@ import (
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/storage"
|
||||
"github.com/mizuchilabs/mantrae/internal/traefik"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/storage"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/traefik"
|
||||
"github.com/traefik/traefik/v3/pkg/config/dynamic"
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"strings"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
"github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1/mantraev1connect"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
@@ -3,7 +3,7 @@ package middlewares
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
)
|
||||
|
||||
type Middleware func(http.Handler) http.Handler
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"time"
|
||||
|
||||
connectcors "connectrpc.com/cors"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
"github.com/rs/cors"
|
||||
"golang.org/x/net/http2"
|
||||
"golang.org/x/net/http2/h2c"
|
||||
@@ -16,11 +16,11 @@ import (
|
||||
"connectrpc.com/grpcreflect"
|
||||
"connectrpc.com/validate"
|
||||
"github.com/caarlos0/env/v11"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/handler"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/middlewares"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/service"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1/mantraev1connect"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/api/handler"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/api/middlewares"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/api/service"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/web"
|
||||
)
|
||||
|
||||
@@ -182,8 +182,8 @@ func (s *Server) registerServices() {
|
||||
log.Fatal(err)
|
||||
}
|
||||
uploadsContent := http.FileServer(http.Dir("./data/uploads"))
|
||||
s.mux.Handle("/", http.FileServer(http.FS(staticContent)))
|
||||
s.mux.Handle("/uploads/", http.StripPrefix("/uploads/", uploadsContent))
|
||||
s.mux.Handle("/", CompressedFileHandler(staticContent))
|
||||
|
||||
// Health check
|
||||
s.mux.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) {
|
||||
48
server/internal/api/server/static.go
Normal file
48
server/internal/api/server/static.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"io/fs"
|
||||
"mime"
|
||||
"net/http"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func CompressedFileHandler(root fs.FS) http.Handler {
|
||||
fileServer := http.FileServer(http.FS(root))
|
||||
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
originalPath := r.URL.Path
|
||||
accept := r.Header.Get("Accept-Encoding")
|
||||
|
||||
switch {
|
||||
case strings.Contains(accept, "br") && fileExists(root, originalPath+".br"):
|
||||
r.URL.Path += ".br"
|
||||
w.Header().Set("Content-Encoding", "br")
|
||||
setContentType(w, originalPath)
|
||||
|
||||
case strings.Contains(accept, "gzip") && fileExists(root, originalPath+".gz"):
|
||||
r.URL.Path += ".gz"
|
||||
w.Header().Set("Content-Encoding", "gzip")
|
||||
setContentType(w, originalPath)
|
||||
}
|
||||
|
||||
fileServer.ServeHTTP(w, r)
|
||||
})
|
||||
}
|
||||
|
||||
func setContentType(w http.ResponseWriter, origPath string) {
|
||||
ext := filepath.Ext(origPath)
|
||||
if mimeType := mime.TypeByExtension(ext); mimeType != "" {
|
||||
w.Header().Set("Content-Type", mimeType)
|
||||
}
|
||||
}
|
||||
|
||||
func fileExists(fsys fs.FS, name string) bool {
|
||||
f, err := fsys.Open(strings.TrimPrefix(name, "/"))
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
defer f.Close()
|
||||
return true
|
||||
}
|
||||
@@ -9,9 +9,9 @@ import (
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"log/slog"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -6,9 +6,9 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -10,8 +10,8 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"context"
|
||||
"slices"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"context"
|
||||
"log/slog"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"errors"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -3,9 +3,9 @@ package service
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -4,8 +4,8 @@ import (
|
||||
"context"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
@@ -9,11 +9,11 @@ import (
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/middlewares"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/mail"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/api/middlewares"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/mail"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
@@ -5,10 +5,10 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/pkg/build"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/config"
|
||||
)
|
||||
|
||||
type UtilService struct {
|
||||
@@ -24,7 +24,7 @@ func (s *UtilService) GetVersion(
|
||||
req *connect.Request[mantraev1.GetVersionRequest],
|
||||
) (*connect.Response[mantraev1.GetVersionResponse], error) {
|
||||
return connect.NewResponse(&mantraev1.GetVersionResponse{
|
||||
Version: build.Version,
|
||||
Version: meta.Version,
|
||||
}), nil
|
||||
}
|
||||
|
||||
@@ -15,10 +15,10 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/storage"
|
||||
"github.com/mizuchilabs/mantrae/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/internal/traefik"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/storage"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/traefik"
|
||||
)
|
||||
|
||||
const BackupPath = "backups"
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"os"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/pkg/build"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
)
|
||||
|
||||
type Flags struct {
|
||||
@@ -28,7 +29,7 @@ func ParseFlags() {
|
||||
flag.CommandLine = flag.NewFlagSet(os.Args[0], flag.ExitOnError)
|
||||
|
||||
if f.Version {
|
||||
fmt.Println(build.Version)
|
||||
fmt.Println(meta.Version)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
@@ -8,8 +8,9 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/pkg/build"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store"
|
||||
)
|
||||
|
||||
type Flags struct {
|
||||
@@ -30,7 +31,7 @@ func ParseFlags() {
|
||||
flag.CommandLine = flag.NewFlagSet(os.Args[0], flag.ExitOnError)
|
||||
|
||||
if f.Version {
|
||||
fmt.Println(build.Version)
|
||||
fmt.Println(meta.Version)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
@@ -10,10 +10,10 @@ import (
|
||||
|
||||
"github.com/caarlos0/env/v11"
|
||||
"github.com/google/uuid"
|
||||
"github.com/mizuchilabs/mantrae/internal/backup"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/backup"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/pkg/logger"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
)
|
||||
@@ -5,9 +5,9 @@ import (
|
||||
"log/slog"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/dns"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/dns"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
)
|
||||
|
||||
// setupBackgroundJobs initiates essential background operations for the application.
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
)
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"log/slog"
|
||||
|
||||
"github.com/cloudflare/cloudflare-go"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
)
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"log/slog"
|
||||
|
||||
"github.com/joeig/go-powerdns/v3"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
)
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"net/url"
|
||||
"slices"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
)
|
||||
|
||||
@@ -8,8 +8,8 @@ import (
|
||||
"net/smtp"
|
||||
|
||||
"github.com/domodwyer/mailyak/v3"
|
||||
"github.com/mizuchilabs/mantrae/internal/mail/templates"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/mail/templates"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
)
|
||||
|
||||
type EmailConfig struct {
|
||||
@@ -12,8 +12,8 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
)
|
||||
|
||||
// Settings defines all application settings
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
)
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
"github.com/aws/aws-sdk-go-v2/config"
|
||||
"github.com/aws/aws-sdk-go-v2/credentials"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
)
|
||||
|
||||
type S3Config struct {
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"io"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/settings"
|
||||
)
|
||||
|
||||
type BackendType string
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/pkg/util"
|
||||
"github.com/pressly/goose/v3"
|
||||
_ "modernc.org/sqlite"
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countAgents = `-- name: CountAgents :one
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"log/slog"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
"google.golang.org/protobuf/types/known/structpb"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countDnsProviders = `-- name: CountDnsProviders :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countHttpMiddlewares = `-- name: CountHttpMiddlewares :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const createHttpRouterDNSProvider = `-- name: CreateHttpRouterDNSProvider :exec
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countHttpRouters = `-- name: CountHttpRouters :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countHttpServersTransports = `-- name: CountHttpServersTransports :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countHttpServices = `-- name: CountHttpServices :one
|
||||
@@ -7,7 +7,7 @@ package db
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
type Agent struct {
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countServersTransportsByAgent = `-- name: CountServersTransportsByAgent :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countTcpMiddlewares = `-- name: CountTcpMiddlewares :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const createTcpRouterDNSProvider = `-- name: CreateTcpRouterDNSProvider :exec
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countTcpRouters = `-- name: CountTcpRouters :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countTcpServersTransports = `-- name: CountTcpServersTransports :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countTcpServices = `-- name: CountTcpServices :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countTraefikInstances = `-- name: CountTraefikInstances :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countUdpRouters = `-- name: CountUdpRouters :one
|
||||
@@ -8,7 +8,7 @@ package db
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
|
||||
)
|
||||
|
||||
const countUdpServices = `-- name: CountUdpServices :one
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user