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

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 Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本