Commit Graph

16 Commits

Author SHA1 Message Date
Mikhail Kilin
3bddb0012d Add URL hash routing for direct project links
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Opening #/project/123 navigates directly to the project page.
Back button and project selection update the hash accordingly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:28:15 +03:00
Mikhail Kilin
570e0ca643 Rewrite app: entries → projects with S3 file storage
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Replace flat text entries with project-based structure.
Each project has name, local/corp fields, content textarea,
and file upload (up to 100MB) stored in MinIO S3.
New API: CRUD projects + file download + content copy.
Frontend: two views (project list + project page).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:50:28 +03:00
Mikhail Kilin
d23043a489 Remove rollout status check (too many open files in CI)
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Rollout restart is enough — status monitoring is optional and
fails with fsnotify watcher limit in the CI pod.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:24:57 +03:00
Mikhail Kilin
362bc5757b Add deploy step: rollout restart after image build
Some checks failed
ci/woodpecker/push/build Pipeline failed
Uses ServiceAccount with minimal RBAC (get/patch deployments in bbb namespace).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:53:34 +03:00
Mikhail Kilin
a74fd5c859 Use docker_username/docker_password secrets (match other repos)
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:44:02 +03:00
Mikhail Kilin
24aa225481 trigger 2026-03-18 06:57:07 +03:00
Mikhail Kilin
54aabd0ef9 Switch CI from plugin-docker-buildx to plugin-kaniko
docker-buildx requires privileged mode which is blocked in
Woodpecker v3. Kaniko builds in userspace, matching bcard setup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 06:55:23 +03:00
Mikhail Kilin
e11e53cb33 Trigger CI rebuild
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 06:53:52 +03:00
Mikhail Kilin
f859d39678 Move CI config to .woodpecker/ directory (Woodpecker v3 default)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 06:52:34 +03:00
Mikhail Kilin
6eb7935ed8 Trigger CI build
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 06:49:18 +03:00
Mikhail Kilin
7467206a5c Fix clipboard copy on HTTP (non-secure) contexts, update docs
navigator.clipboard is undefined on non-HTTPS origins — add
execCommand fallback. Also sync CLAUDE.md with actual project
structure (Dockerfiles, nginx, CI, correct API/button descriptions).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 00:09:54 +03:00
Mikhail Kilin
b2c799f429 Bump rust image to 1.88 (home crate requires it)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 23:08:31 +03:00
Mikhail Kilin
aff1274b18 Fix type-only import for EntryMeta (verbatimModuleSyntax)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 23:06:46 +03:00
Mikhail Kilin
1e225e9af3 Add k3s deployment: Dockerfiles, nginx config, CI pipeline
- Backend Dockerfile: multi-stage rust:1.87 → debian:bookworm-slim
- Frontend Dockerfile: multi-stage node:22-alpine → nginx:alpine
- Frontend nginx.conf: serve static + proxy /api/ to backend service
- Change API_URL to relative /api for containerized deployment
- Woodpecker CI pipeline to build and push images to Gitea Registry
- Add repository URL to CLAUDE.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 22:29:20 +03:00
Mikhail Kilin
37f86740a2 feat: hide entry content from list, add GET /api/entries/:id/content endpoint
Content is no longer returned in the entries list. A separate endpoint
returns plain text content for clipboard copying on demand.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 16:23:05 +03:00
Mikhail Kilin
cc0bdedd88 asdasd 2026-03-17 16:22:13 +03:00