feat: CI/CD pipeline + Learning/Medicine/Travel services
Some checks failed
Build and Deploy GooSeek / build-backend (push) Failing after 1m4s
Build and Deploy GooSeek / build-webui (push) Failing after 1m2s
Build and Deploy GooSeek / deploy (push) Has been skipped

- Add Gitea Actions workflow for automated build & deploy
- Add K8s manifests: webui, travel-svc, medicine-svc, sandbox-svc
- Update kustomization for localhost:5000 registry
- Add ingress for gooseek.ru and api.gooseek.ru
- Learning cabinet with onboarding, courses, sandbox integration
- Medicine service with symptom analysis and doctor matching
- Travel service with itinerary planning
- Server setup scripts (NVIDIA/CUDA, K3s, Gitea runner)

Made-with: Cursor
This commit is contained in:
home
2026-03-02 20:25:44 +03:00
parent 08bd41e75c
commit ab48a0632b
92 changed files with 15562 additions and 2198 deletions

View File

@@ -18,6 +18,7 @@ import (
"github.com/gooseek/backend/pkg/config"
"github.com/gooseek/backend/pkg/middleware"
"github.com/gooseek/backend/pkg/ndjson"
"github.com/gooseek/backend/pkg/storage"
)
type SearchRequest struct {
@@ -55,6 +56,24 @@ func main() {
searchClient := search.NewSearXNGClient(cfg)
var photoCache *agent.PhotoCacheService
if cfg.MinioEndpoint != "" {
minioStorage, err := storage.NewMinioStorage(storage.MinioConfig{
Endpoint: cfg.MinioEndpoint,
AccessKey: cfg.MinioAccessKey,
SecretKey: cfg.MinioSecretKey,
Bucket: cfg.MinioBucket,
UseSSL: cfg.MinioUseSSL,
PublicURL: cfg.MinioPublicURL,
})
if err != nil {
log.Printf("Warning: MinIO init failed (photo cache disabled): %v", err)
} else {
photoCache = agent.NewPhotoCacheService(minioStorage)
log.Printf("Photo cache enabled: MinIO at %s, bucket=%s, publicURL=%s", cfg.MinioEndpoint, cfg.MinioBucket, cfg.MinioPublicURL)
}
}
app := fiber.New(fiber.Config{
StreamRequestBody: true,
BodyLimit: 10 * 1024 * 1024,
@@ -166,6 +185,7 @@ func main() {
TravelSvcURL: cfg.TravelSvcURL,
TravelPayoutsToken: cfg.TravelPayoutsToken,
TravelPayoutsMarker: cfg.TravelPayoutsMarker,
PhotoCache: photoCache,
},
}