feat(selfhost): add n8n workflows and MinIO object storage compose profiles (#1219) - #5777
Conversation
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-14 19:56:16 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 6 non-blocking
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5777 +/- ##
=======================================
Coverage 95.07% 95.07%
=======================================
Files 582 582
Lines 46221 46221
Branches 14823 14823
=======================================
Hits 43945 43945
Misses 1516 1516
Partials 760 760
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
0cf1683 to
c981fb2
Compare
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Closes #1219
Summary
--profile workflows(n8n automation at:5678) and--profile storage(MinIO S3 API:9000+ console:9001).n8n/workflows/(Slack review notify, daily gate summary, issue auto-triage) for import athttp://localhost:5678/workflows/import..env.example. Nosrc/**changes — review engine has zero dependency on either service.Maintainer context (JSONbored, Jul 14, 2026)
This PR implements the open scope; it does not touch Orb ingest.
Change
docker-compose.ymln8nservice (profiles: ["workflows"]) with basic auth, persistentn8n-datavolume, and a runtime fail-closed entrypoint whenN8N_PASSWORDis unset.minioservice (profiles: ["storage"]) with S3 API + console ports andminio-datavolume.:-) instead of hard:?so defaultdocker compose upstays green when profiles are inactive — same pattern asBROWSERLESS_TOKEN,REES_SHARED_SECRET, andGRAFANA_ADMIN_PASSWORD. Password/credential checks fail closed at container start when the profile is active.minio/minio:latestis scratch/distroless (no shell/mc), same constraint as Loki in this file.n8n/workflows/—review-slack-notify.json,gate-daily-summary.json,issue-auto-triage.json.env.example— n8n, MinIO, and Litestream→MinIO wiring docstest/unit/selfhost-compose-workflows-storage.test.ts— structural regression guard (profiles, ports, env posture, templates,.env.exampledocs)Closes #1219
Scope
type(scope): short summaryConventional Commit format.src/**changes (Codecov patch scope clean).Validation
git diff --checknpm run actionlint(not run — no workflow changes)npm run typecheck(not run — nosrc/**changes)npm run test:coverage(not run — nosrc/**changes)npm run test:workers(not run)npm run build:mcp/npm run test:mcp-pack(not run)npm run ui:openapi:check(not run)npm run ui:lint/npm run ui:typecheck/npm run ui:build(not run)npm audit --audit-level=moderatenpm run test -- --run test/unit/selfhost-compose-workflows-storage.test.ts— 10 passingRun full
npm run test:cibefore push (required gate).Safety
UI Evidence
No visible UI change. Compose profiles, env documentation, workflow templates, and structural tests only — no screenshots required.
Operator notes