Fix Navidrome automatic library scan schedule (#101)

## Summary
- Fix env var name from `ND_SCANSCHEDULE` to `ND_SCANNER_SCHEDULE` (Navidrome uses viper config where dots become underscores)
- Use explicit `@every 1h` format for clarity
- Reorder CLAUDE.md rules to emphasize running zk-docs first

## Root Cause
Navidrome logs showed "Periodic scan is DISABLED" at startup despite the env var being set. The config key is `scanner.schedule`, which translates to `ND_SCANNER_SCHEDULE` (not `ND_SCANSCHEDULE`).

## Deployment and Testing
- [ ] Sync navidrome app: `argocd app sync navidrome`
- [ ] Verify pod restarts with new env var
- [ ] Check logs for "Scheduling scanner" message instead of "Periodic scan is DISABLED"
- [ ] Wait ~1 hour and confirm scan runs automatically

🤖 Generated with [Claude Code](https://claude.ai/code)

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/101
This commit is contained in:
Erich Blume 2026-02-04 07:23:12 -08:00
commit 1e13d4b83d
3 changed files with 7 additions and 5 deletions

View file

@ -10,13 +10,14 @@ blumeops is Erich Blume's GitOps repository for personal infrastructure, orchest
## Rules
1. **Always use `--context=minikube-indri` with kubectl** - work contexts must never be touched
2. **Run `mise run zk-docs -- --style=header --color=never --decorations=always` at session start**
1. **Always run `mise run zk-docs -- --style=header --color=never --decorations=always` at session start**
This will refresh your context with important information you will be assumed to know and follow.
2. **Always use `--context=minikube-indri` with kubectl** - work contexts must never be touched
3. **Feature branches only** - checkout main, pull, create branch, commit often
4. **Create PRs via `tea pr create`** - user reviews before deploy, merges after
5. **Check PR comments with `mise run pr-comments <pr_number>`** before proceeding
6. **Add changelog fragments** - `docs/changelog.d/<branch>.<type>.md`
Types: `feature`, `bugfix`, `infra`, `doc`, `ai`, `misc`
Types: `feature`, `bugfix`, `infra`, `doc`, `ai`, `misc`
7. **Test before applying** - dry runs (`--check --diff`), syntax checks, `ssh indri '...'`
8. **Wait for user review before deploying**
9. **Never merge PRs or push to main without explicit request**

View file

@ -21,8 +21,8 @@ spec:
- containerPort: 4533
name: http
env:
- name: ND_SCANSCHEDULE
value: "1h"
- name: ND_SCANNER_SCHEDULE
value: "@every 1h"
- name: ND_LOGLEVEL
value: "info"
- name: ND_MUSICFOLDER

View file

@ -0,0 +1 @@
Fix Navidrome automatic library scan by correcting env var name from `ND_SCANSCHEDULE` to `ND_SCANNER_SCHEDULE`