mrsleeps/vexim-web-plugin-dns-core
Core DNS plugin for the Vexim web interface, providing shared plumbing that Vexim add-ons use to read, validate, and manage DNS records from PHP. A small building block for developers extending Vexim's mail-hosting admin with custom DNS behavior.
composer require mrsleeps/vexim-web-plugin-dns-core (or add it to the existing Vexim/Laravel app's composer.json). v1.2.2 is a patch release — safe drop-in over v1.2.1.php artisan vendor:publish --tag=vexim-dns-config (tag may differ — check the package's README/src/Providers).php artisan vexim:dns:sync --domain=example.com (confirm the exact signature with php artisan list). Compare the result to dig output on the same host.dns_get_record() directly. This keeps lookups testable and lets the package own resolver config, timeouts, and record normalization.$schedule->command('vexim:dns:sync')->hourly()->withoutOverlapping();
withoutOverlapping() matters here — overlapping syncs against the same zones are a common source of confusing state.--dry-run, make it the default in local/staging and require an explicit flag in production CI/deploy scripts.dns_get_record() output.php artisan or a queue worker, because the CLI process resolves nameservers differently (different resolv.conf, missing dns extension config, container network namespace, or a chrooted/user-context difference). Upgrade, then verify resolution from the CLI user/host — not from your browser.composer update mrsleeps/vexim-web-plugin-dns-core explicitly if you pin versions; ^1.2.1 won't always pull the patch in locked environments. Check composer.lock after deploying.php artisan config:clear && php artisan cache:clear, and restart queue workers (php artisan queue:restart) so long-lived processes pick up the fixed client.mail.example.com.) and mixed-case hostnames cause false "changed" diffs in reconcile logic. Normalize before comparing.dig +short <type> <name> @<nameserver> as the same OS user the CLI runs as. If dig works but the command doesn't, it's config/context, not the package.How can I help you explore Laravel packages today?