gaia是一个开源自动化平台,可以轻松有趣地使用任何编程语言构建强大的管道。基于 HashiCorp的go-plugin和gRPC,gaia高效,快速,轻便且开发人员友好。盖亚目前是阿尔法!不要将它用于关键任务工作!
在SDK的帮助下开发管道(目前只有Go),只需将代码签入git存储库即可。Gaia会自动克隆您的代码存储库,将您的代码编译为二进制文件并按需执行。所有结果都会流式传输并格式化为用户友好的图形输出。
动机
自动化工程师,DevOps,SRE,云工程师, 平台工程师 - 他们都有一个共同点:大多数技术人员没有动力从事这项工作而且很难招聘。
其中一个主要原因是许多自动化工具的抽象和执行不佳。它们具有自己的配置(YAML语法)规范或将用户限制为一种特定的编程语言。测试几乎是不可能的,因为大多数自动化工具都缺乏模拟服务和子系统的能力。即使很小的东西,例如解析JSON文件,有时也会非常痛苦,因为使用了外部的过时库,而不是标准框架中包含的。
我们相信是时候删除所有这些抽象并回到我们的根源。您是否已经厌倦了编写无穷无尽的YAML代码?您是否厌倦了被迫用不适合您的语言写作并且根本不开心的日子?你喜欢用你喜欢的语言编程吗?那么盖亚是给你的。
它是如何工作的?
Gaia基于HashiCorp的go-plugin。它是一个使用gRPC通过HTTP2进行通信的插件系统。HashiCorp最初为Packer开发了这个工具,但它现在也被Terraform,Nomad和Vault大量使用。
管道可以用任何编程语言编写(gRPC支持是先决条件),可以在本地编译或仅在构建系统上编译。Gaia克隆了git存储库并自动构建了包含的管道。
管道启动后,所包含作业的所有日志输出都将返回到gaia,并以详细的概览显示其最终结果状态。
Gaia使用boltDB进行存储。这使安装步骤变得非常容易。目前不需要外部数据库。