cloudfoundry-community/php-cf-service-broker

为 Cloud Foundry 定制的 Cloud Foundry 服务代理

1.5.0 2015-05-12 21:28 UTC

This package is auto-updated.

Last update: 2024-09-12 20:18:42 UTC


README

Software License Stories in Ready Build Status Scrutinizer Code Quality Code Coverage

Php 项目,用于创建与 Open Service Broker API 兼容的服务代理。

此项目可以用于快速实现与 Kubernetes 或 Cloud Foundry 兼容的新服务代理。

兼容性

快速开始

  1. 克隆此仓库或使用 composer create-project cloudfoundry-community/php-cf-service-broker

  2. /config/services.json 中添加您的服务(先删除示例)

  3. 通过在命令行中执行以下命令创建用户:php bin/addUser.php [用户名] [密码]

  4. (可选)在 /config/config.yml 中更改配置

  5. /src/Sphring/MicroWebFramework/ServiceBroker/DefaultServiceBroker.php 中创建逻辑(建议查看 文档,无需遵循其余 URL,项目已处理)

  6. 注册您的新服务代理

  7. 服务代理已准备好,并遵循 文档 中提供的其余 URL

配置

通用

请参阅 /config/config.yml

数据库

默认情况下,此项目使用 sqlite 数据库,通过修改此文件更改到其他数据库:/config/doctrine-driver.yml

调整日志记录

请参阅 app/app.php

默认情况下,此应用程序仅将警告记录到 stdout。

要启用文件记录,您可以取消注释 $logger->pushHandler 行。

要调整日志级别,您可以更改 \Monolog\Logger::* 的值。例如,要将日志级别设置为 debug,可以将值设置为 \Monolog\Logger::DEBUG。有关详细信息,请参阅 Monolog logger 源代码

添加更多服务代理

您可以通过以下步骤添加无限多的服务代理

  • /config/services.json 中添加另一个服务
  • 创建一个新的服务代理类,并扩展 Sphring\MicroWebFramework\ServiceBroker\AbstractServiceBroker
  • 通过在 /sphring/service-broker.yml 中添加条目来注册你的新代理,例如
    service.broker.[your broker name]:
         class: Sphring\MicroWebFramework\ServiceBroker\[your broker class name]
         extend: service.broker.abstract
  • 在此文件中添加一个新的条目到 service.broker.list,例如
    service.broker.list:
      class: \ArrayObject
      constructor:
          1:
            ref:
              default: service.broker.default
              [service name from services.json]: service.broker.[your broker name]
  • 在命令行中执行 touch sphring/main.yml 或在 /config/config.yml 中将缓存设置为 false
  • 你的新服务代理已可用

作为 Cloud Foundry 应用程序运行

  1. 创建一个数据库服务,其名称符合以下正则表达式:/.*(postgres|pgsql|db|database|my|maria|oracle|oci).*/i注意:在 composer.json 中添加除 pdo_mysql 之外的其他 pdo 驱动程序)
  2. 推送应用程序(运行 cf push
  3. 将数据库服务绑定到你的应用程序
  4. 重新部署你的应用程序
  5. 服务代理应用程序准备就绪,尝试访问 http://your_url/v2/catalog,你应该能看到你的目录

开发环境

PHP 嵌入式 web 服务器的路由器

cd app
php -S 0.0.0.0:8888 ../config/routes/router.php

测试

测试使用 PHPUnit。在命令行中运行:vendor/bin/phpunit --bootstrap tests\bootstrap.php --no-configuration tests

添加一个服务以进行测试

  1. 更新测试配置目录中的 services.json
  2. 更新测试配置目录中的 service-broker.yml
  3. 运行 vendor/bin/phpunit --bootstrap tests\bootstrap.php --no-configuration tests

另请参阅

Open Service Broker API

K8s 服务目录