食用者/订单

此软件包已被废弃且不再维护。没有建议的替代软件包。

PHP中的自动化系统管理

维护者

详细信息

c.darenet.org/eater/Order.git

安装: 11

依赖项: 0

建议者: 0

安全: 0

类型:项目

dev-master 2015-12-05 10:41 UTC

This package is not auto-updated.

Last update: 2019-02-20 18:47:17 UTC


README

Travis(单元测试):构建状态 Gitlab CI(集成测试):构建状态

PHP中的自动化系统管理(为什么不呢?)

Order是一个系统管理工具,旨在使您更容易管理和配置服务器。哎呀...我在骗谁呢。Order是尝试用PHP重写puppet,而我对此一无所知。

哲学

名字背后的哲学很简单,order将为您的系统带来秩序,您将制定法律,然后您可以请求系统中的文件,或者如您所知,puppet中的事实。目前使用puppet facter用于文件。

法律文件

法律文件是您定义系统规则的文件,就像puppet中的.pp或puppet文件。

法律文件的语法

我发现的最大瓶颈是找到一个不会让您在PHP中打字时手疼的语法,但经过一些修改,我发现了一个我认为非常适合目的的语法。

一个法律文件的例子

<?php

file("/etc/hostname")
  ->contents(config('info.hostname'))
  ->require(service("dhcpd"));

service("dhcpd")
  ->enable();

$php = which(
    paper('os'),
    [
      "FreeBSD" => "php56",
      "/Ubuntu|Debian/" => "php5",
      "php"
    ]
  );

package($php)->install();

// inclusion is done by prefixing a file with `law://`
include 'law://noop.law';

此示例将把/etc/hostname文件的内容更改为配置参数info.hostname的内容,但仅在启用服务dhcpd之后,接下来将安装PHP软件包,对于FreeBSD将安装php56软件包,对于Ubuntu和Debian将安装php5,而对于其他操作系统则仅安装php软件包,之后将包含法律文件noop.law

文件

文件标识了使您的系统保持运行的东西,您可以使用文件请求oskernelprocessors或如果您真的很想,可以使用ruby.version请求机器上的ruby版本,因为我们使用puppet facter,数据目前仅限于这些,但我计划也将这部分用PHP编写。

有关文件更多信息,请在您的机器上运行facter

配置

配置文件将使用yaml或json编写。您喜欢什么就用什么。配置变量可以轻松使用config函数请求。例如,如果您想请求此示例配置中定义的第一个主机名。

info:
  hostname:
    - foo
    - bar

您只需调用`config('info.hostname.0');`

使用它

目前我仍在编写大部分内容,因此现在它还没有任何可用的状态,但您可以随意看看。

免责声明

我对于使用此工具造成的任何损害不承担任何责任。阿门。