iq2i/vigie-bundle
A Symfony bundle from iq2i that integrates Vigie into your app, providing configuration and service wiring to add Vigie-powered monitoring and alerting with minimal setup. It streamlines installation so teams can connect existing Symfony projects to Vigie quickly.
Architecture fit
IQ2i/vigie-bundle v0.3.0 is a threat-signal bridge: it emits log records to a local/remote sink and reconciles "threat decisions" (add/remove) with a CrowdSec-style decision store. That is an infrastructure/edge concern, not typical Laravel domain logic.output.syslog option moves it from a single local-file integration to a dual-transport integration (file or syslog). That broadens fit with existing SIEM/log-pipeline investments but introduces a network dependency into the request/logging path.Integration feasibility
record.ip_address must be true on the emitting kernel (PR #8), and host.hostname resolves to the container ID under Docker (PR #9). Both are silent misconfiguration sources — the package will run and produce degraded or uncorrelatable data rather than failing loudly.Technical risk
output.syslog key "next to the default file handler" hints at an output.* config namespace that may have restructured existing keys. Any republished config risks overwriting local customisation.max_length. Multi-KB payloads (stack traces, long user agents) will be truncated and forwarded; truncated JSON may be dropped by the parser. Warning-only, no drop/no fail-closed policy.host.hostname is the container ID under Docker. Decisions and alerts keyed to an ephemeral ID break correlation across restarts and replica churn.Key questions
output.syslog change alter or rename existing config keys? Is a migration guide or upgrade note provided?max_length, and what happens to oversized messages beyond the warning?Stack fit
Migration path
record.ip_address: true on the emitting side, and set an explicit stable host.hostname override for containers (do not rely on the container-ID default).output.syslog alongside the existing file handler in a shadow period; deploy the CrowdSec parser (PR #11) and profile (PR #10) to the collector before any traffic.Compatibility
Sequencing
record.ip_address, explicit hostname) — these are independently valuable and low risk.Maintenance
yaml on the collector) are easy to forget during incident review; record them in the same runbook as the app config.Support
record.ip_address prerequisite), and unreadable hostnames in Docker.max_length, switch transport, or filter before emit) or they will suppress the warning.Scaling
host.hostname values. Alert correlation and per-host decision management degrade unless a stable identity is injected (pod name plus a stable service label, or a per-node aggregation layer).Failure modes
Ramp-up
How can I help you explore Laravel packages today?