PHP library for interacting with many of the popular cloud service providers using a unified API.
This project aims to simplify the usage of cloud services by PHP developers. The scope of the project includes the following service types:
- Compute: Create, Restart, Destroy and provision compute nodes in the cloud
- DNS: Update DNS configurations at DNS providers
- ObjectStorage: store objects in the cloud
- LoadBalancer: Manage load balancer configurations at your IaaS provider
- Container: Launch containers and manage images at CaaS providers
This project is inspired by the awesome Python library libcloud with the same name. We try to follow the design as closely as possible. We keep method names the same as the Python project, but updating it for PSR2 compliance.
libcloud-php is available on packagist. To use it, add the following to your composer.json
file, and run composer update
:
{
"require": {
"linkorb/libcloud": "~1.0"
}
}
Please refer to the example directory for example code by service type (compute, dns, etc).
Ready to build and improve on this repo? Excellent! Go ahead and fork/clone this repo and we're looking forward to your pull requests! Please take a look at the python version in order to follow this design, constants and method names as closely as possible, while updating it in the php-way.
We're planning on the following features. Please feel free to send us a PR if you're interested in helping out!
- Extend the support of this library for more providers and services
- Implement ObjectStorage interfaces and adapters based on linkorb/objectstorage
- Implement LoadBalancer and Container interfaces
MIT. Please refer to the license file for details.
Check out our other projects at linkorb.com/engineering.
Btw, we're hiring!