jenssegers / chef
Opscode Chef API 库
dev-master
2016-02-26 19:08 UTC
Requires
- php: >=5.3.0
- ext-curl: *
- ext-json: *
- ext-mcrypt: *
- ext-openssl: *
This package is auto-updated.
Last update: 2024-08-25 18:50:19 UTC
README
Chef 服务器 API 用于提供对 Chef 服务器上对象的访问,包括节点、环境、角色、cookbooks(以及 cookbooks 版本),以及管理 API 客户端列表和相关 RSA 公钥对。
这是一个通用库,并增加了对 Laravel 框架的支持。
安装
将 jenssegers/chef
添加到 composer.json 中的依赖项
{
"require": {
"jenssegers/chef": "dev-master"
}
}
使用 composer update
更新您的包或使用 composer install
安装。
使用方法
创建一个像这样的 chef 对象
// composer
require_once 'vendor/autoload.php';
use Jenssegers\Chef\Chef;
// create chef object
$chef = new Chef($server, $client, $key, $version);
// API request
$response = $chef->api($endpoint, $method, $data);
查看所有可用的端点,请参阅 http://docs.opscode.com/api_chef_server.html。
示例
获取节点
$nodes = $chef->get('/nodes');
创建数据包
$bag = new stdClass;
$bag->name = "test";
$resp = $chef->post('/data', $bag);
更新节点
$node = $chef->get('/nodes/webserver1');
$node->attributes->type = "webserver";
$chef->put('/nodes/webserver1', $node);
删除数据包
$chef->delete('/data/test/item');
Laravel
在 app/config/app.php
中将 Chef 包与 Laravel 注册,添加以下提供者
'Jenssegers\Chef\ChefServiceProvider',
以及这个别名
'Chef' => 'Jenssegers\Chef\Facades\Chef'
使用 Artisan 创建配置文件的副本
php artisan config:publish jenssegers/chef
编辑创建的配置文件 app/config/packages/jenssegers/chef/config.php
以匹配您的环境
'server' = the URL for the Chef Server
'client' = the name used when authenticating to a Chef Server
'key' = the location of the file which contains the client key
'version' = the version of the Chef Server API that is being used