Download the PHP package noergaard/serverpilot without Composer
On this page you can find all versions of the php package noergaard/serverpilot. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download noergaard/serverpilot
More information about noergaard/serverpilot
Files in noergaard/serverpilot
Package serverpilot
Short Description PHP API Client for ServerPilot's RESTful API
License MIT
Informations about the package serverpilot
ServerPilot API PHP Client
A PHP Client for ServerPilot API V1 using GuzzleHttp and PSR-4 autoloading support.
NOTICE This package is still under development
Installation
Getting Started
To get started, simply new up the Client and provide your client_id
and key
from ServerPilot and you're ready to go.
Using Resources
This client package follows the same naming conventions for resources, provided by ServerPilot and their API documentation.
For further details about API endpoints, please visit the ServerPilot API V1 documentation.
Servers
To make requests to Server resources, make a call to the servers()
method on the client
object.
From all request to Server resources either and array of ServerEntity
or a single ServerEntity
will be returned.
A ServerEntity
has public camelcase properties, matching the returned values from the ServerPilot API.
List All Servers
Connect a New Server
There are multiple steps involved in connection a server to ServerPilot
Please visit the ServerPilot API V1 documentation for further information.
Parameter | Type |
---|---|
Name | string |
Retrieve/Get a Server
Parameter | Type |
---|---|
Server Id | string |
Update a Server
Parameter | Type |
---|---|
Server Id | string |
Firewall Enabled | boolean |
Auto Updates Enabled | boolean |
Delete a Server
Parameter | Type |
---|---|
Server Id | string |
System Users
To make requests to System User resources, make a call to the systemUsers()
method on the client
object.
From all request to System User resources either and array of SystemUserEntity
or a single SystemUserEntity
will be returned.
A SystemUserEntity
has public camelcase properties, matching the returned values from the ServerPilot API.
List All System Users
Create a System User
Notice User name length must be between 3 and 32 characters, lowercase ascii letters, digits or a dash.
Notice Password length must be at least 8 characters and no more than 200 characters long, with no leading or trailing whitespace.
Please visit the ServerPilot API V1 documentation for further information.
Parameter | Type |
---|---|
Server Id | string |
Username | string |
Password | string |
Retrieve/Get a System User
Parameter | Type |
---|---|
System User Id | string |
Update a System User
Notice Password length must be at least 8 characters and no more than 200 characters long, with no leading or trailing whitespace.
Please visit the ServerPilot API V1 documentation for further information.
Parameter | Type |
---|---|
System User Id | string |
Password | string |
Delete a System User
Parameter | Type |
---|---|
System User Id | string |
Apps
To make requests to App resources, make a call to the apps()
method on the client
object.
From all request to App resources either and array of AppEntity
or a single AppEntity
will be returned.
A AppEntity
has public camelcase properties, matching the returned values from the ServerPilot API.
List All Apps
Create an App
Notice Upon creating a new app, the Server where the App will be created, is determined by the System User.
When creating an App you have the possibility to install WordPress at the same time.
If you wish to install WordPress, you have to provide the necessary information and credentials for the WordPress install process.
To streamline this process, this package uses a WordPressFactory
object, which instantiates the correct object to be passed to the ServerPilot API
If you DO NOT want to install WordPress, you don't have to provide any data to that parameter.
Parameter | Type |
---|---|
App Name | string |
System User Id | string |
PHP Runtime | string |
Domains | array |
WordPress | WordPress object or null |
To make the choice of PHP runtimes easier, the Apps
class provides constants of the various runtimes supported by ServerPilot
Create an App without WordPress
Create an App with WordPress
Wordpress Factory Parameters | Type |
---|---|
Site Title | string |
Admin User Name | string |
Admin Password | string |
Admin Email | string |
Retrieve/Get Details of an App
Parameters | Type |
---|---|
App Id | string |
Update an App
Parameter | Type |
---|---|
App Id | string |
PHP Runtime | string |
Domains | array |
To make the choice of PHP runtimes easier, the Apps
class provides constants of the various runtimes supported by ServerPilot
Delete an App
Parameters | Type |
---|---|
App Id | string |
Custom SSL - AutoSSL - ForceSSL
These parts has not been implemented in this package yet, but will be soon.
Databases
To make requests to Database resources, make a call to the databases()
method on the client
object.
From all request to Database resources either and array of DatabaseEntity
or a single DatabaseEntity
will be returned.
A DatabaseEntity
has public camelcase properties, matching the returned values from the ServerPilot API.
List All Databases
Create a Database
To create a Database in an App, a Database user object is required by the ServerPilot API.
This package streamlines this process by using a DatabaseUserFactory
object.
Notice Database User names must be at most 16 characters.
Notice Database passwords must be at least 8 and no more than 200 charachters long, with no leading or trailing whitespace.
Notice Database names must be between 3 and 32 characters, lowercase ascii letters, digits or a dash.
Parameters | Type |
---|---|
App Id | string |
Database Name | string |
Database User | DatabaseUser object |
The DatabaseUserFactory
object, takes the following parameters
Parameters | Type |
---|---|
User Name | string |
Password | string |
Retrieve/Get an existing Database
Parameters | Type |
---|---|
Database Id | string |
Update the Database User Password
Parameters | Type |
---|---|
Database Id | string |
Database User Id | string |
New Database Password | string |
Delete a Database
Parameters | Type |
---|---|
Database Id | string |
Actions
To make requests to Action resources, make a call to the actions()
method on the client
object.
From all request to Action resources either and array of ActionEntity
or a single ActionEntity
will be returned.
A ActionEntity
has public camelcase properties, matching the returned values from the ServerPilot API.
Check the Status of an Action
You can check actions of any resource that are modifying data.
You are modifying data when you are creating
, updating
or deleting
a resource
To check an action for a resource, you can just pass the resource entity as a parameter to the status()
method on the action
object.
You can also just provide the action id
if you like.
Parameters | Type |
---|---|
Action Id | string or AbstractEntity |
Checking Action when Connecting a Server and passing the ServerEntity to the Status method
Checking Action when Connecting a Server and passing the Action Id to the Status method
Todo
- [x] Implement Servers
- [x] Implement System Users
- [ ] Implement Apps
- [x] Implement Databases
- [x] Implement Actions
Todo on Apps
- [ ] Add a Custom SSL Certificate
- [ ] Enable AutoSSL
- [ ] Delete a Custom SSL Certificate or Disable AutoSSL
- [ ] Enable or Disable ForceSSL
Testing
There are two types of tests in this package: Unit tests and Integration tests.
Unit Tests
Are good to go out of the box.
To run these test you can run them by the Unit
directory
phpunit ./tests/Unit
Integration Tests
Integration tests hits the endpoint on the ServerPilot API.
It is therefore required that your provide a ServerPilot client_id
and key
to run these test.
You can add these inside the TestCase
class, which are placed under /tests/TestCase
.