laradns/laravel-client

The Laravel client package for LaraDNS - automating the DNS update process.
63 2
Install
composer require laradns/laravel-client
Latest Version:v0.1
License:MIT
Last Updated:Oct 23, 2017
Links: GitHub  ·  Packagist
Maintainer: laradns

LaraDNS - Client

This is the client for users of LaraDNS that exposes a php artisan dns:sync console command which updates the IP address of a particular Cloudflare DNS record with that of the originating request.

Installation

As simple as it should be:

Require it

composer require laradns/laravel-client

Configure it

Add your unique ID obtained after adding your site via the LaraDNS interface:

// .env

LARADNS_ID=AJBUEo3UcmZ0JDPgSCGxwIRrj5TyAU

Add the LaraDNS service provider:

// config/app.php

'providers' => [
    // Other service providers...    
    LaraDns\Providers\LaraDnsServiceProvider::class,
]

Run it

Schedule the command to execute as often, or as little, as you wish. As it's a console command, you can even include it in your deploy script to ensure your DNS is always up-to-date.

// App/Console/Kernel.php

protected function schedule(Schedule $schedule)
{
    $schedule->command('dns:sync')->everyFiveMinutes();
}

Events

You may wish to perform your own actions on an IP update. To facilitate this, the client fires an LaraDns\Events\SiteUpdated event each time an IP address changes, with the address as the payload.

Register a listener:

// App/Providers/EventServiceProvider.php

protected $listen = [
    \LaraDns\Events\SiteUpdated::class => [
        \App\Listeners\SiteIpUpdated::class,
   ],
];

Handle the event:

// App/Listeners/SiteIpUpdated.php

<?php

namespace App\Listeners;

class SiteIpUpdated
{
    public function __construct()
    {
        //
    }
    public function handle(\LaraDns\Events\SiteUpdated $event)
    {
        // $event->newIpAddress;
    }
}

Help and Contact

Please feel free to contact hello@laradns.com for any assistance and troubleshooting.

Related Packages

erirk/paypalpayment

laravel-paypalpayment is simple package help you process direct credit card paym...

0
gabrieloliverio/laravel5-generators

Database metadata-based generators for Laravel 5

1
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

628,058,007 9,707
laravel/framework

The Laravel Framework.

576,155,700 34,907
laravel/tinker

Powerful REPL for the Laravel framework.

485,678,092 7,440