replace vault by kasier

This commit is contained in:
m
2026-09-17 07:59:21 +02:00
parent cd4f0179fc
commit f29a3c3617
191 changed files with 956 additions and 927 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
# Serveur
PORT=8080
DATABASE_URL=postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_dev?sslmode=disable
DATABASE_URL=postgres://kazier:kazier@localhost:5432/kazier_dev?sslmode=disable
UPLOAD_DIR=./uploads
MAX_FILE_SIZE_MB=50
OCR_LANG=fra+eng
+9 -9
View File
@@ -14,7 +14,7 @@ ARG VERSION
RUN CGO_ENABLED=0 GOOS=linux go build \
-trimpath \
-ldflags "-s -w -X main.version=${VERSION}" \
-o /out/vaultdrop-server \
-o /out/kazier-server \
./cmd/server/main.go
# --- runtime: mince, Tesseract (fra+eng) embarqué pour l'OCR ---
@@ -30,30 +30,30 @@ WORKDIR /app
ARG VERSION
ARG BUILD_DATE
LABEL org.opencontainers.image.title="vaultdrop-server" \
org.opencontainers.image.description="VaultDrop backend API (Go/Gin + PostgreSQL) — local-first document vault" \
LABEL org.opencontainers.image.title="kazier-server" \
org.opencontainers.image.description="Kazier backend API (Go/Gin + PostgreSQL) — local-first document vault" \
org.opencontainers.image.version="${VERSION}" \
org.opencontainers.image.licenses="AGPL-3.0-only" \
org.opencontainers.image.source="https://gitlab.com/thirdshop-org/dot" \
org.opencontainers.image.url="https://thirdshop.fr/en/applications/vault/" \
org.opencontainers.image.url="https://thirdshop.fr/en/applications/kazier/" \
org.opencontainers.image.created="${BUILD_DATE}" \
org.opencontainers.image.revision=""
COPY --from=builder /out/vaultdrop-server /usr/local/bin/vaultdrop-server
COPY --from=builder /out/kazier-server /usr/local/bin/kazier-server
# UPLOAD_DIR persistant, user non-root
RUN mkdir -p /app/uploads \
&& adduser -D -H -u 10001 vaultdrop \
&& chown vaultdrop:vaultdrop /app/uploads
&& adduser -D -H -u 10001 kazier \
&& chown kazier:kazier /app/uploads
VOLUME /app/uploads
ENV PORT=8080 \
UPLOAD_DIR=/app/uploads
USER vaultdrop
USER kazier
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
CMD wget -q -O - http://127.0.0.1:8080/api/v1/health || exit 1
ENTRYPOINT ["vaultdrop-server"]
ENTRYPOINT ["kazier-server"]
+8 -8
View File
@@ -12,13 +12,13 @@ import (
"time"
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/config"
"github.com/vaultdrop/backend/db"
"github.com/vaultdrop/backend/handlers"
"github.com/vaultdrop/backend/ocr"
"github.com/vaultdrop/backend/pkg/auth"
"github.com/vaultdrop/backend/repository"
"github.com/vaultdrop/backend/service"
"github.com/kazier/backend/config"
"github.com/kazier/backend/db"
"github.com/kazier/backend/handlers"
"github.com/kazier/backend/ocr"
"github.com/kazier/backend/pkg/auth"
"github.com/kazier/backend/repository"
"github.com/kazier/backend/service"
)
var version = "dev"
@@ -31,7 +31,7 @@ func newRouter() *gin.Engine {
func main() {
if len(os.Args) > 1 && os.Args[1] == "--version" {
fmt.Printf("vaultdrop-server %s\n", version)
fmt.Printf("kazier-server %s\n", version)
os.Exit(0)
}
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"fmt"
"testing"
"github.com/vaultdrop/backend/models"
"github.com/kazier/backend/models"
)
func TestUserCreation(t *testing.T) {
+1 -1
View File
@@ -41,7 +41,7 @@ func LoadApplicationConfig() (*ApplicationConfig, error) {
return &ApplicationConfig{
Port: port,
DatabaseURL: get("DATABASE_URL", "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_dev?sslmode=disable"),
DatabaseURL: get("DATABASE_URL", "postgres://kazier:kazier@localhost:5432/kazier_dev?sslmode=disable"),
UploadDir: get("UPLOAD_DIR", "./uploads"),
MaxFileSizeMB: int64(maxSize),
OcrLang: get("OCR_LANG", "fra+eng"),
+1 -1
View File
@@ -28,7 +28,7 @@ func TestLoadApplicationDefaults(t *testing.T) {
if cfg.MaxFileSizeMB != 50 {
t.Errorf("MaxFileSizeMB = %d, attendu 50", cfg.MaxFileSizeMB)
}
if cfg.DatabaseURL != "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_dev?sslmode=disable" {
if cfg.DatabaseURL != "postgres://kazier:kazier@localhost:5432/kazier_dev?sslmode=disable" {
t.Errorf("DatabaseURL défaut inattendu: %q", cfg.DatabaseURL)
}
if cfg.UploadDir != "./uploads" {
+1 -1
View File
@@ -9,7 +9,7 @@ import (
_ "github.com/lib/pq"
)
const defaultTestDatabaseURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_migrations_test?sslmode=disable"
const defaultTestDatabaseURL = "postgres://kazier:kazier@localhost:5432/kazier_migrations_test?sslmode=disable"
func testDatabaseURL(t *testing.T) string {
t.Helper()
+2 -2
View File
@@ -10,7 +10,7 @@ import (
"github.com/lib/pq"
"github.com/vaultdrop/backend/db"
"github.com/kazier/backend/db"
)
// OpenTestDatabase ensures the test database exists, resets its schema, runs
@@ -27,7 +27,7 @@ func OpenTestDatabase(t *testing.T, databaseURL string) *sql.DB {
databaseURL = os.Getenv("TEST_DATABASE_URL")
}
if databaseURL == "" {
databaseURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_test?sslmode=disable"
databaseURL = "postgres://kazier:kazier@localhost:5432/kazier_test?sslmode=disable"
}
// Postgres joignable ? (sinon on skippe, sans être gênés par l'existence
+1 -1
View File
@@ -1,4 +1,4 @@
module github.com/vaultdrop/backend
module github.com/kazier/backend
go 1.26.4
+5 -5
View File
@@ -8,11 +8,11 @@ import (
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/vaultdrop/backend/pkg/auth"
"github.com/vaultdrop/backend/pkg/passwd"
"github.com/vaultdrop/backend/repository"
"github.com/vaultdrop/backend/service"
"github.com/kazier/backend/pkg/api"
"github.com/kazier/backend/pkg/auth"
"github.com/kazier/backend/pkg/passwd"
"github.com/kazier/backend/repository"
"github.com/kazier/backend/service"
)
type LoginRequest struct {
+7 -7
View File
@@ -9,17 +9,17 @@ import (
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/dbtest"
"github.com/vaultdrop/backend/pkg/auth"
"github.com/vaultdrop/backend/pkg/passwd"
"github.com/vaultdrop/backend/repository"
"github.com/vaultdrop/backend/service"
"github.com/kazier/backend/dbtest"
"github.com/kazier/backend/pkg/auth"
"github.com/kazier/backend/pkg/passwd"
"github.com/kazier/backend/repository"
"github.com/kazier/backend/service"
)
const authTestURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_handlers_auth_test?sslmode=disable"
const authTestURL = "postgres://kazier:kazier@localhost:5432/kazier_handlers_auth_test?sslmode=disable"
const (
authTestPassword = "vaultdrop-test-password"
authTestPassword = "kazier-test-password"
authTestDevice = "0123456789abcdef0123456789abcdef"
)
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"regexp"
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/kazier/backend/pkg/api"
)
var deviceIDPattern = regexp.MustCompile(`^[0-9a-f]{32}$`)
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"strings"
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/kazier/backend/pkg/api"
)
func intParam(value string, fallback int) int {
+7 -7
View File
@@ -11,15 +11,15 @@ import (
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/dbtest"
"github.com/vaultdrop/backend/handlers"
"github.com/vaultdrop/backend/pkg/auth"
"github.com/vaultdrop/backend/pkg/passwd"
"github.com/vaultdrop/backend/repository"
"github.com/vaultdrop/backend/service"
"github.com/kazier/backend/dbtest"
"github.com/kazier/backend/handlers"
"github.com/kazier/backend/pkg/auth"
"github.com/kazier/backend/pkg/passwd"
"github.com/kazier/backend/repository"
"github.com/kazier/backend/service"
)
const handlersTestURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_handlers_test?sslmode=disable"
const handlersTestURL = "postgres://kazier:kazier@localhost:5432/kazier_handlers_test?sslmode=disable"
type envelope struct {
Data json.RawMessage `json:"data"`
+1 -1
View File
@@ -2,7 +2,7 @@ package handlers
import (
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/kazier/backend/pkg/api"
)
func Health(c *gin.Context) {
+3 -3
View File
@@ -6,9 +6,9 @@ import (
"strings"
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/vaultdrop/backend/pkg/auth"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/pkg/api"
"github.com/kazier/backend/pkg/auth"
"github.com/kazier/backend/repository"
)
const (
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/pkg/api"
"github.com/kazier/backend/repository"
)
type ocrJobRequest struct {
+5 -5
View File
@@ -11,11 +11,11 @@ import (
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/dbtest"
"github.com/vaultdrop/backend/handlers"
"github.com/vaultdrop/backend/pkg/auth"
"github.com/vaultdrop/backend/repository"
"github.com/vaultdrop/backend/service"
"github.com/kazier/backend/dbtest"
"github.com/kazier/backend/handlers"
"github.com/kazier/backend/pkg/auth"
"github.com/kazier/backend/repository"
"github.com/kazier/backend/service"
)
type stubEngine struct {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/kazier/backend/pkg/api"
)
// RegisterRoutes wires the full /api/v1 surface (public + protected).
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/pkg/api"
"github.com/kazier/backend/repository"
)
// ShareLinkGet resolves a public share link without authentication
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"net/http"
"testing"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/repository"
)
func TestShareLinkPublicResolution(t *testing.T) {
+3 -3
View File
@@ -4,9 +4,9 @@ import (
"errors"
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/vaultdrop/backend/repository"
"github.com/vaultdrop/backend/service"
"github.com/kazier/backend/pkg/api"
"github.com/kazier/backend/repository"
"github.com/kazier/backend/service"
)
// Store is the business layer used by handlers; set once at startup
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"github.com/gin-gonic/gin"
"github.com/vaultdrop/backend/pkg/api"
"github.com/vaultdrop/backend/service"
"github.com/kazier/backend/pkg/api"
"github.com/kazier/backend/service"
)
type syncOpsRequest struct {
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"net/http"
"testing"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/repository"
)
func syncOpsBody(ops []map[string]any) []byte {
+1 -1
View File
@@ -35,7 +35,7 @@ var (
// quand même contre ce hash pour que le délai de réponse soit identique à un
// « mauvais mot de passe ».
var dummyHash = func() string {
h, err := Hash("vaultdrop-constantime-dummy")
h, err := Hash("kazier-constantime-dummy")
if err != nil {
panic(fmt.Sprintf("passwd: impossible de pré-hacher le dummy: %v", err))
}
+1 -1
View File
@@ -3,7 +3,7 @@ package repository
import (
"testing"
"github.com/vaultdrop/backend/dbtest"
"github.com/kazier/backend/dbtest"
)
func newTestDevices(t *testing.T) *Devices {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"testing"
"time"
"github.com/vaultdrop/backend/dbtest"
"github.com/kazier/backend/dbtest"
)
func newTestRepo(t *testing.T) *Repository {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"errors"
"testing"
"github.com/vaultdrop/backend/dbtest"
"github.com/kazier/backend/dbtest"
)
func newTestOperations(t *testing.T) (*Operations, *Devices) {
+2 -2
View File
@@ -5,10 +5,10 @@ import (
"testing"
"time"
"github.com/vaultdrop/backend/dbtest"
"github.com/kazier/backend/dbtest"
)
const repositoryTestURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_repository_test?sslmode=disable"
const repositoryTestURL = "postgres://kazier:kazier@localhost:5432/kazier_repository_test?sslmode=disable"
func newTestResources(t *testing.T) *Resources {
t.Helper()
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"errors"
"testing"
"github.com/vaultdrop/backend/dbtest"
"github.com/kazier/backend/dbtest"
)
func newTestUsers(t *testing.T) *Users {
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"fmt"
"strings"
"github.com/vaultdrop/backend/pkg/passwd"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/pkg/passwd"
"github.com/kazier/backend/repository"
)
// ErrAdminRequired : base vide et identifiants admin absents → le serveur
+2 -2
View File
@@ -4,8 +4,8 @@ import (
"errors"
"testing"
"github.com/vaultdrop/backend/pkg/passwd"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/pkg/passwd"
"github.com/kazier/backend/repository"
)
func TestEnsureAdminCreatesFirstAdmin(t *testing.T) {
+1 -1
View File
@@ -1,6 +1,6 @@
package service
import "github.com/vaultdrop/backend/models"
import "github.com/kazier/backend/models"
func (s *Services) CreateFolder(folderName string, destination *models.Document) (*models.Document, error) {
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"errors"
"fmt"
"github.com/vaultdrop/backend/models"
"github.com/kazier/backend/models"
)
func (s *Services) MoveDocumentIntoDocument(from *models.Document, to *models.Document) error {
+1 -1
View File
@@ -3,7 +3,7 @@ package service
import (
"testing"
"github.com/vaultdrop/backend/models"
"github.com/kazier/backend/models"
)
func TestMoveDocument(t *testing.T) {
+2 -2
View File
@@ -9,8 +9,8 @@ import (
"sync"
"time"
"github.com/vaultdrop/backend/ocr"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/ocr"
"github.com/kazier/backend/repository"
)
const (
+2 -2
View File
@@ -9,8 +9,8 @@ import (
"testing"
"time"
"github.com/vaultdrop/backend/ocr"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/ocr"
"github.com/kazier/backend/repository"
)
// stubEngine again (package service) — même contrat que handlers/ocr_test.
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"strings"
"time"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/repository"
)
// ErrFileTooLarge signals an upload above MaxFileSize.
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"path/filepath"
"testing"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/repository"
)
func multipartFileHeader(t *testing.T, filename string, content []byte) *multipart.FileHeader {
+1 -1
View File
@@ -1,6 +1,6 @@
package service
import "github.com/vaultdrop/backend/models"
import "github.com/kazier/backend/models"
type Services struct {
ConnectedUser *models.User
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"regexp"
"time"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/repository"
)
var resourceIDPattern = regexp.MustCompile(`^[0-9a-f]{32}$`)
+3 -3
View File
@@ -6,11 +6,11 @@ import (
"testing"
"time"
"github.com/vaultdrop/backend/dbtest"
"github.com/vaultdrop/backend/repository"
"github.com/kazier/backend/dbtest"
"github.com/kazier/backend/repository"
)
const serviceTestURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_service_test?sslmode=disable"
const serviceTestURL = "postgres://kazier:kazier@localhost:5432/kazier_service_test?sslmode=disable"
// newServiceStore returns a Resources service over a fresh migrated test DB.
func newServiceStore(t *testing.T) *Resources {
+1 -1
View File
@@ -3,7 +3,7 @@ package service
import (
"fmt"
"github.com/vaultdrop/backend/models"
"github.com/kazier/backend/models"
)
func (s *Services) UploadDocument(file *string, destination *models.Document) error {