NewWe open-sourced 50+ Laravel packages
Custom AI apps, agents and automation — Roundly ConsultingRoundly
All packages

Require the package, then publish and run the migrations. The service provider and the Certificates facade alias are auto-discovered — no manual registration:

composer require roundly-consulting/certificates-for-laravel

php artisan vendor:publish --tag="certificates-migrations"
php artisan migrate

The migrations are publish-only — the service provider never loads them, so a bare php artisan migrate creates nothing until you publish. They land in database/migrations as timestamped files you own: create_certificates_table, then add_domains_to_certificates_table. Republishing overwrites them in place instead of duplicating them.

The registry is recommended rather than required. Without the table the package still provisions certificates through the provider API (exists(), get(), generate()), but records nothing and cannot track expiry — find() and status() return null.

Pick a driver

The default driver is kubernetes. For Let’s Encrypt from a single server, switch to acme and give the CA a contact address, then issue:

CERTIFICATES_DRIVER=acme
CERTIFICATES_ACME_CONTACT=[email protected]
use RoundlyConsulting\Certificates\Facades\Certificates;

$certificate = Certificates::issueIfMissing('app.example.com');

Optional publishing

The config and translations are optional — every config key is env-backed. Publish them only to override:

php artisan vendor:publish --tag="certificates-config"
php artisan vendor:publish --tag="certificates-translations"

The three publish tags are certificates-migrations, certificates-config and certificates-translations.

Show your open-source love

This package is free and MIT-licensed. If it saves you time, a one-off donation or a Patreon membership keeps it maintained, tested and documented.

More ways to support, including crypto

By donating, you agree to our donation terms.

Want this built into your product?

We integrate our packages into custom Laravel and AI builds. Tell us what you're working on and we'll reply within 48 hours.