horde / hordectl
场景部署库
v1.0.0alpha4
2022-11-04 00:00 UTC
Requires
- php: ^7.4 || ^8
- horde/argv: ^3 || dev-FRAMEWORK_6_0
- horde/cli: ^3 || dev-FRAMEWORK_6_0
- horde/cli_modular: ^3 || dev-FRAMEWORK_6_0
- horde/injector: ^3 || dev-FRAMEWORK_6_0
- horde/util: ^3 || dev-FRAMEWORK_6_0
- horde/yaml: ^3 || dev-FRAMEWORK_6_0
Requires (Dev)
- horde/test: ^3 || dev-FRAMEWORK_6_0
- phpunit/phpunit: ^9 || ^10
This package is auto-updated.
Last update: 2024-09-04 16:54:35 UTC
README
从yaml文件部署端到端测试场景,将所需的配置补丁应用到horde后端,而不触及无关内容
使用示例
将资源导出到yaml文件
导出的资源尽可能地与后端独立。某些后端可能限制Horde全局公开每个用户资源的能力。数据格式类似于内部表示,但在适当的情况下可能有所偏差。例如,组不导出后端键。当权限查询具有每个组的权限时,组将通过显示名称引用。
hordectl query user > user.yml
hordectl query group > group.yml
hordectl query permission > permission.yml
这些将为资源创建单独的文件。导出时,顺序不重要。过滤查询或组合资源类型到单个文件的语法仍然缺失。
从yaml文件导入定义
hordectl import -f user.yml
hordectl import -f group.yml
hordectl import -f permission.yml
顺序可能很重要。权限不会接受不在系统中存在的组的组权限。某些后端可能是只读的,不允许添加/更改某些资源。
请参阅doc目录,了解可能的输入格式及其语义的详细解释
注入用户或更改其密码
hordectl patch user fritz mysecretpassword
这仅在此认证后端支持的情况下有效。
预期用途
如果您需要一个逐字备份,您可能最好使用数据库和vfs的快照。
- 在不依赖数据库类型或格式的条件下部署CI/CD场景内容
- 重现边缘案例以演示错误
- 将用户/组/权限注入现有或新的安装
- 演示场景
- 在后端类型之间迁移
灵感
- yaml和类似的格式来自配置管理工具、基础设施即代码、kubectl、helm
它会将现有内容导出到yaml中吗?
是的,它会。对于定义的任何对象。也许有一些限制。我不知道。它将随着我的需要而发展。
它将成为一个完整的备份/还原解决方案吗?
可能不是。请参阅horde/backup以了解对导出/还原应用程序内容的另一种看法。
开发说明
内置命令
help TODO 提供有关命令的一般帮助或有关特定命令及其开关和子命令的帮助 query 输出yaml格式表示后端数据,对于导出器是内置的或由应用程序提供的 import 从[可能不完整] yaml表示和构建器默认值生成后端数据(如果内置或由应用程序提供) patch 使用一次性命令操纵资源 app TODO 运行在您的应用程序中实现的应用程序特定命令。