Delete mirror-jobsync and integrate-jobsync-ollama (no standalone
value). Rework build-jobsync-container and deploy-jobsync into
operational reference documentation. Add changelog fragment.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
npx-downloaded prisma has `#!/usr/bin/env node` shebang. Nix containers
lack FHS paths; create the symlink in extraCommands.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Instead of bundling prisma CLI and its deep dependency tree in the nix
image, use `npx -y prisma@6.19.0 migrate deploy` like upstream does.
npx downloads prisma at container startup — network is available at
runtime, only blocked during nix build.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prisma CLI (devDep) has a deep transitive dependency tree that must
be present at runtime for `migrate deploy`. Skip npm prune entirely
and explicitly copy all prisma packages and their transitive deps
into the output.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prisma's get-platform module requires /tmp for temp files. Nix
containers don't create standard directories by default.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The cp -r of @prisma/ into an existing node_modules/@prisma/ nested
incorrectly. Use cp -rn with glob to merge contents instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
npx is not available in the nix container. Call prisma directly via
node node_modules/prisma/build/index.js instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
build-jobsync-container: Updated with lessons learned (prisma-engines
from nixpkgs, Google Fonts sandbox workaround, arm64 vs x86_64).
integrate-jobsync-ollama: Configuration-only card, env var will be
set in the deployment manifest.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use nixpkgs prisma-engines to avoid network downloads in nix sandbox.
Patch out Google Fonts import (Inter) since sandbox blocks network;
falls back to system sans-serif font stack.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add containers/jobsync/default.nix (buildNpmPackage + dockerTools) and
entrypoint.sh (prisma migrate + node server.js). Hashes are empty
placeholders — will be filled from first build attempt on ringtail.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
build-jobsync-container: document prisma devDep pruning pitfall,
nix entrypoint path issue, and verification step.
deploy-jobsync: document service-versions.yaml requirement,
image tag format, and 1Password item already created.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cards:
- deploy-jobsync (goal): Deploy JobSync to ringtail k3s via ArgoCD
- build-jobsync-container: Nix container build (buildLayeredImage)
- mirror-jobsync: Mirror upstream to forge
- integrate-jobsync-ollama: Wire up existing Ollama for AI features
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>