bruno
45e349e79d
feat: Phase 4.5 — Déploiement multi-plateforme v0.4.5
...
CI / test (push) Successful in 2m26s
- service.v: --install-service / --uninstall-service / --service-status
Windows (sc.exe SCM), Linux systemd, Linux openrc — auto-détection OS
- main.v: nouveaux flags service, help mis à jour
- Dockerfile: multi-stage (V from source → alpine:3.20 minimal)
- docker-compose.yml: prêt à l'emploi avec healthcheck
- scripts/install.sh: one-liner Linux (detect OS/arch, build, install)
- scripts/install.ps1: one-liner Windows PowerShell
Docs: ROADMAP Phase 4.5 marqué DONE, version 0.4.5
2026-08-03 16:51:24 -04:00
bruno
26341578fa
fix: os.signal_opt API callback-based (V latest)
...
CI / test (push) Successful in 2m46s
La nouvelle API est fn(os.Signal, fn(os.Signal)) au lieu de
chan+variadic. Enregistrement séparé pour .hup, .int, .term.
2026-08-03 15:00:39 -04:00
bruno
75e438f7d3
fix: _.DockerSource → sources.DockerSource dans docker_watcher.v
CI / test (push) Failing after 11s
2026-08-03 14:57:20 -04:00
bruno
fa4fbc23a5
fix: compatibilité V latest — import sources et signal_opt
...
CI / test (push) Failing after 9s
- docker_watcher.v: 'import sources as _' → 'import sources'
(le _ supprimait les symboles dans V récent)
- server.v: os.new_signal_channel → os.signal_opt
(API retirée dans V latest)
- server.v: 'import json' déprécié → 'import x.json2 as json'
2026-08-03 14:55:27 -04:00
bruno
65e2a0d487
fix: CI workflow — remove container, install V on runner
...
CI / test (push) Failing after 1m29s
The vlang:alpine container lacks Node.js which Gitea Actions needs
for action steps (checkout@v4). Now installs V from source on the
default ubuntu-latest runner image instead.
2026-08-03 14:49:45 -04:00
bruno
72b797704f
feat: phase 3 + phase 4 complete — v0.4.0
...
CI / test (push) Failing after 24s
Phase 3:
- Config reload via SIGHUP (handle_signals loop: .hup reloads config, .int/.term shutdown)
- Hot reload: cfg, webhook_routes, ntfy client, dedup updated without restart
Phase 4:
- Silence rules: POST /api/silence?duration=30m, GET /api/silence, DELETE /api/silence
- Grouping: buffer 10s, events grouped with (×N in 10s) suffix
- CI/CD: .gitea/workflows/ci.yml (build + test on push/PR)
Docs:
- ROADMAP.md: phases 3 & 4 marked DONE, version table updated
- ARCHITECTURE.md: synced with actual code
Version: 0.1.0 → 0.4.0 (main.v, v.mod)
2026-08-03 14:35:59 -04:00
bruno
4e1d7cd94a
Add config validation and dashboard
...
Add YAML config loading with validation, env overrides for secrets, and
a web dashboard exposing health, stats, and recent events.
2026-08-03 12:12:12 -04:00
bruno
3f48912ad7
docs: initial architecture, roadmap, readme for ntfy-bridge
...
- README.md: project overview, quickstart, sources summary
- ARCHITECTURE.md: complete architecture, data flow, project structure
- ROADMAP.md: 5-phase development plan (v0.1.0 → v0.5.0+)
- CONTRIBUTING.md: dev setup, conventions, how to add a source
- ntfy-bridge.example.yaml: fully documented configuration template
- scripts/example-cron-disk.sh: example cron script → ntfy-bridge
2026-08-01 10:56:32 -04:00