多文件编写/堆栈帮助程序

otta的Python项目详细描述


奥塔

奥塔是 compose file inheretance 助手

基本原理

对于简单的用例,docker compose的内置默认值就可以了。 但系统确实在增长,出现了以下问题:

  • shell命令越来越长
  • 组合文件中的代码重复越来越严重
  • 项目根目录中的合成文件越来越多
  • 复杂的组合配置需要最新的文档

示例

没有Otta

docker-compose -f base.yml -f local.yml -f mock_emails.yml -p local up

使用Otta

otta up

otta文件和otta目录

otta目录:

otta
├── base.yml
├── local.yml
├── mock_mail_server.yml
├── prod_common.yml
├── prod_a.yml
├── prod_b.yml
└── otta.yml

Otta文件:

files:-base.yml-local.yml-mock_mail_server.yml-prod_common.yml-prod_a.yml-prod_b.ymldefault_recipe:localrecipes:local:project_name:localfiles:-base.yml-local.ymloptions:mockmail:files:-mock_mail_server.ymlprod_a:files:-base.yml-prod_common.yml-prod_a.ymlprod_b:project_name:productionfiles:-base.yml-prod_common.yml-prod_b.yml

解释

otta配置是一个包含合成文件和单个otta文件的目录。

Otta文件定义
  • 根属性files,定义配方中可以使用的所有文件
  • 根属性default_recipe定义…好吧,默认配方
  • 最重要的属性recipes定义可用的配方

每个配方都有
  • 名称,1到40个符号:字母、数字和下划线
  • 可选的project_name,具有相同的限制
  • files,根属性中定义的文件列表
  • options,可用选项的可选定义

选项有名称(1到20个符号、数字、字母和下划线)和files属性。

cli参考

Otta及其变体决定了OTTA_RECenv变量的配方

配方规范要么只是配方(local),要么是带有选项的配方(local+mockmail

OTTA_FILE是otta文件的路径,绝对或相对

OTTA_DEBUG设置为1会使程序打印调试信息

otta二进制

otta调用等于docker-compose -f base.yml -f local.yml -p local

skara二进制

skara调用等于docker stack deploy -c base.yml -c local.yml

project_name被忽略

kumla二进制

kumla调用等于kompose -f base.yml -f local.yml

project_name被忽略

贡献

请向Gitlab报告所有问题

欢迎提出请求

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么@DELETE REST不起作用?   带有JPA2的java表值参数。1和Hibernate,Sql Server   如何将Java类添加到Xamarin VS2017项目   绘制多边形时出现java空指针异常   java Apache WebClient 303状态未重定向   java如何用一组字符串数组从数据库中获取数据   java是否可以使用Google Drive API向文件中添加脚本?   java组织。阿帕奇。贾斯珀。JspC jar文件下载   java在整个JSON映射中将单个值作为JSON流   通过命令行将文件输入到java   java rs.next()总是返回false   java标记异常,通知调用方利用异常消息   java Spring YML数组属性为空