spikerj commented on issue spikerj/spikersoft-issues#541 2026-07-13 20:42:56 +00:00
[Bug][Backend][DockerMonitor] All swarm node events published as 'docker.node.unknown' with empty hostname — ~21 junk RabbitMQ msgs/min for healthy nodes

QA watch 2026-07-13 ~20:44Z — fix VERIFIED in master, not yet live. f0b846a0 lands all three recommendations: Message.Action-first verb resolution, hostname from Actor.Attributes['name'], and…

spikerj commented on issue spikerj/spikersoft-issues#534 2026-07-13 20:40:46 +00:00
[CI][ArtPipe] Route baked model-image builds (ModelEnvImages + tier-3 finals) to the 4090 runner, off laptop-server

Both halves now authored: ModelEnvImages → 4090 was artpipe PR #16 (merged); backend tier-3 finals → 4090 is backend PR #266 (open). With both on the same exclusive runner, tier-2 and tier-3…

spikerj commented on issue spikerj/spikersoft-issues#531 2026-07-13 20:39:43 +00:00
[Infra][MinIO] Migrate Angular nginx root bind — presigned/proxy, LAST (epic #413)

SECURITY — deploy needed, 2026-07-13 ~20:42Z QA watch. The nginx deny fix (angular 10f80c18, merged 20:29Z in PR #177) is NOT live yet: learn.spikersoft.com still runs the pre-fix config. Live…

spikerj commented on issue spikerj/spikersoft-issues#536 2026-07-13 20:39:18 +00:00
[CI][ArtPipe] ModelEnvImages has no concurrency guard — concurrent runs race the same :latest tags (observed live)

artpipe PR #18: workflow-level concurrency group with cancel-in-progress (ticket fix option 1) — newest commit owns :latest + provenance; superseded runs cancel instead of clobbering. Option 2…

spikerj commented on issue spikerj/spikersoft-issues#541 2026-07-13 20:36:32 +00:00
[Bug][Backend][DockerMonitor] All swarm node events published as 'docker.node.unknown' with empty hostname — ~21 junk RabbitMQ msgs/min for healthy nodes

Backend PR #265: Action-first verb mapping, node-only name-attr hostname fallback (container names can't masquerade as hostnames), and heartbeat debounce — node updates without a state transition…

spikerj commented on issue spikerj/spikersoft-issues#521 2026-07-13 20:33:05 +00:00
[Infra][Registry] Gitea upstream-image mirror (skopeo → mirror/* org) + incremental stack repointing

Hardening MERGED (infra #59 — --preserve-digests + optional authed Hub pulls). Mirror is still EMPTY: re-dispatch MirrorUpstreamImages once the artpipe pushes finish (optionally set DOCKERHUB_USER…

spikerj commented on issue spikerj/spikersoft-issues#528 2026-07-13 20:33:04 +00:00
[Backend][MinIO] Replace API static-file media serving with S3-backed delivery (epic #413)

Code MERGED (backend #263 — S3MediaFallbackMiddleware behind the four disk mounts, Range pass-through). Live but inert until the API stack runs Storage__UseS3=true (infra #56 merged the env;…

spikerj commented on issue spikerj/spikersoft-issues#493 2026-07-13 20:33:04 +00:00
[Infra][MinIO] Pilot: deploy MinIO + migrate security-scanner off /mnt/fusionio to S3 (proves the pattern for #413)

Pilot status: MinIO deployed+hardened (infra #54/#55), scanner dual-read code live since the flag flip, recipe proven and generalized into SpikerSoft.Storage (#533) — every later migration…

spikerj commented on issue spikerj/spikersoft-issues#413 2026-07-13 20:33:04 +00:00
[Infra][Architecture] Provider-agnostic object storage (MinIO -> S3/Azure Blob) to replace GlusterFS/host-path model

EPIC SCOREBOARD (2026-07-13, after 19 loop iterations): every child ticket is code-complete. MERGED: #533 seam (closed), #530 GeoIP, #540 scheduler, #526 quarantine, #524 dlls, #525 assets, #522…

spikerj commented on issue spikerj/spikersoft-issues#514 2026-07-13 20:33:04 +00:00
[Infra][CI] Gitea Actions leaves GITEA-ACTION* volumes behind → build nodes recurrently fill up (need runner auto-cleanup / scheduled prune)

Prune hardening MERGED (infra #58): size-capped hourly prune + emergency full-cache drop + exit-2 ALERT. Remaining: re-run install.sh on each build node (wait for in-flight artpipe pushes on…

spikerj commented on issue spikerj/spikersoft-issues#527 2026-07-13 20:33:03 +00:00
[Infra][MinIO] Migrate /mnt/fusionio/spikersoft/ai → ai-models bucket for embeddings + quiz-generation (epic #413)

Code MERGED (backend #261 — ObjectFileCache + embeddings direct + quiz via ModelPathResolver delegate). Remaining = ops: ai-models bucket + per-service ro keys, mc mirror /mnt/fusionio/spikersoft/…

spikerj commented on issue spikerj/spikersoft-issues#525 2026-07-13 20:32:40 +00:00
[Infra][MinIO] Migrate /app/assets (ThreeDModel) to S3 (assets bucket, epic #413)

Code MERGED (backend #259 — assets route + controller mirror + GLB bucket fallback). Remaining = ops via #529 (assets bucket/backfill) + the #412 note: when Trellis is repaired its worker must…

spikerj commented on issue spikerj/spikersoft-issues#523 2026-07-13 20:32:40 +00:00
[Infra][MinIO] Migrate lesson-videos + LessonVideoProcessor to S3 (lesson-videos bucket, epic #413)

Code MERGED (backend #262). Remaining = ops via #529 (lesson-videos bucket + videos-svc key + VIDEOS_S3_SECRET_KEY — backend #264/infra #60 — backfill, phase-2 bind drop). S3-temp transcode…

spikerj commented on issue spikerj/spikersoft-issues#522 2026-07-13 20:32:40 +00:00
[Infra][MinIO] Migrate blogs dir + BlogMediaProcessor to S3 (blogs bucket, epic #413)

Code MERGED (backend #260). Remaining = ops via #529 (blogs bucket + blogs-svc key + BLOGS_S3_SECRET_KEY secret — backend #264/infra #60 add the guard+env — backfill, phase-2 bind drop). Serving…

spikerj commented on issue spikerj/spikersoft-issues#524 2026-07-13 20:32:39 +00:00
[Infra][MinIO] Migrate dlls dir to S3 (dlls bucket, epic #413)

Code MERGED (backend #258 — moved-file router + dlls route). Remaining = ops via the #529 runbook (dlls bucket, backfill, phase-2 bind drop).

spikerj closed issue spikerj/spikersoft-issues#533 2026-07-13 20:32:39 +00:00
[Backend][Refactor] Shared IObjectStore/S3 registration — dedupe per-service AmazonS3Client blocks (epic #413)
spikerj commented on issue spikerj/spikersoft-issues#533 2026-07-13 20:32:39 +00:00
[Backend][Refactor] Shared IObjectStore/S3 registration — dedupe per-service AmazonS3Client blocks (epic #413)

MERGED (backend #252): SpikerSoft.Storage project + IObjectStore/S3ObjectStore/ObjectKeys + shared registrations. Seam has since grown keyed multi-bucket stores (#526), ObjectFileCache (#527) and…

spikerj commented on issue spikerj/spikersoft-issues#526 2026-07-13 20:32:39 +00:00
[Infra][MinIO] Migrate quarantine dir to S3 (quarantine bucket, epic #413)

Code MERGED (backend #257). Remaining = ops via the #529 runbook: quarantine bucket + keys (blogs-svc write, file-movement policy widening), backfill, Storage__UseS3 flip (already true on…

spikerj opened issue spikerj/spikersoft-issues#542 2026-07-13 20:31:13 +00:00
[Security][Prod] nginx root bind publicly serves quarantine, raw uploads, dlls — /spikersoft/<private-tree> downloadable
spikerj commented on issue spikerj/spikersoft-issues#531 2026-07-13 20:31:13 +00:00
[Infra][MinIO] Migrate Angular nginx root bind — presigned/proxy, LAST (epic #413)

Angular PRs up: #177 (SECURITY, ungated — deny the private trees the root bind exposes; see the new security ticket) and #178 (GATED — proxy blogs/ebooks/lesson-videos to MinIO with Range…