2017 © Pedro Peláez
 

library laravel-forge-api

Laravel Forge API SDK

image

tzurbaev/laravel-forge-api

Laravel Forge API SDK

  • Friday, December 22, 2017
  • by tzurbaev
  • Repository
  • 2 Watchers
  • 38 Stars
  • 4,383 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 10 Forks
  • 1 Open issues
  • 17 Versions
  • 7 % Grown

The README.md

Laravel Forge API SDK

GitHub Workflow Status StyleCI ![ScrutinizerCI][ico-scrutinizer] Latest Version on Packagist ![Software License][ico-license], (*1)

Requirements

This package requires PHP 7.2 or higher., (*2)

Installation

You can install the package via composer:, (*3)

``` bash $ composer require tzurbaev/laravel-forge-api, (*4)


## Upgrade to 2.0 from 1.x Version 2.0.0 introduced breaking change in library API in order to fix breaking change introduced by Forge API itself. Please, read [Upgrade info](./docs/upgrade.md) to learn what changed. ## Examples Here are few examples of what this package can do for you. ### Create new server ```php <?php use Laravel\Forge\ApiProvider; use Laravel\Forge\Forge; $forge = new Forge(new ApiProvider('api-token')); $credential = $forge->credentialFor('ocean2'); // This will create new droplet on DigitalOcean with 1GB memory, // PHP 7.1 and MariaDb at Frankfurt region. $server = $forge->create() ->droplet() ->usingCredential($credential) ->withSizeId(1) ->at('fra1') ->runningPhp('7.1') ->withMariaDb() ->save();

Create new site

<?php

use Laravel\Forge\Forge;
use Laravel\Forge\ApiProvider;
use Laravel\Forge\Sites\SitesManager;

$forge = new Forge(new ApiProvider('api-token'));
$server = $forge['web-01'];

// This will create new example.org site
// with General PHP/Laravel project type.
$site = (new SitesManager())->create('example.org')->asLaravel()->on($server);

Install Git/WordPress application on site

<?php

use Laravel\Forge\Forge;
use Laravel\Forge\ApiProvider;
use Laravel\Forge\Sites\SitesManager;
use Laravel\Forge\Applications\GitApplication;

$forge = new Forge(new ApiProvider('api-token'));
$server = $forge['web-01'];

$siteId = 1234;
$site = (new SitesManager())->get($siteId)->from($server);

$app = (new GitApplication())->fromGithub('username/repository');
$site->install($app);

Restart MySQL

<?php

use Laravel\Forge\Forge;
use Laravel\Forge\ApiProvider;
use Laravel\Forge\Services\MysqlService;
use Laravel\Forge\Services\ServicesManager;

$forge = new Forge(new ApiProvider('api-token'));

$databaseServer = $forge['database-01'];
$services = new ServicesManager();

$services->restart(new MysqlService())->on($databaseServer);

Or even restart MySQL (or any other service) on multiple servers:, (*5)

<?php

use Laravel\Forge\Forge;
use Laravel\Forge\ApiProvider;
use Laravel\Forge\Services\MysqlService;
use Laravel\Forge\Services\ServicesManager;

$forge = new Forge(new ApiProvider('api-token'));

$servers = [
    $forge['database-01'],
    $forge['database-02'],
    $forge['database-03'],
];

$services = new ServicesManager();
$services->restart(new MysqlService())->on($servers);

Documentation

Full documentation is available here., (*6)

Change log

Please see CHANGELOG for more information on what has changed recently., (*7)

Testing

bash $ vendor/bin/phpunit, (*8)

Contributing

Please see CONTRIBUTING for details., (*9)

Security

If you discover any security related issues, please email zurbaev@gmail.com instead of using the issue tracker., (*10)

License

The MIT License (MIT). Please see License File for more information., (*11)

The Versions

22/12 2017

dev-master

9999999-dev

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

22/12 2017

1.5.2

1.5.2.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

03/09 2017

1.5.1

1.5.1.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

29/08 2017

1.5.0

1.5.0.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

15/06 2017

1.4.1

1.4.1.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

14/06 2017

1.4.0

1.4.0.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

27/05 2017

1.3.1

1.3.1.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

25/05 2017

1.3.0

1.3.0.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

19/05 2017

1.2.1

1.2.1.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

17/05 2017

1.2.0

1.2.0.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

31/03 2017

1.1.1

1.1.1.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

15/03 2017

1.1.0

1.1.0.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

15/03 2017

dev-develop

dev-develop

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

14/03 2017

1.0.1

1.0.1.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

13/03 2017

1.0.0

1.0.0.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

13/03 2017

0.9.1

0.9.1.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev

12/03 2017

0.9.0

0.9.0.0

Laravel Forge API SDK

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar tzurbaev