用于管理和运行云服务器上的命令的开源应用程序?

用于管理和运行云服务器上的命令的开源应用程序?

我正在创建一个 SaaS 平台,我需要一个可以创建、删除和存储云服务器连接详细信息的组件/库。它还需要支持在这些服务器上执行 shell 命令并将响应返回给调用者。我想要一个服务器及其配置的中央数据库,以及通过 SSH 执行 bash 脚本来访问和管理服务器的能力。我不想要像 Chef 那样需要在每个服务器上都安装代理的东西。

例如,假设应用程序收到此命令:

CREATE USER
server = server12345
name = myuser

它被转换成以下一组操作并由应用程序执行,该应用程序知道如何连接到 server12345,以及如何在该服务器上创建用户:

$ ssh root@server12345
$ adduser myuser

并返回 shell 的输出:

Added user myuser.

我在 Google 上进行了研究,但还没有找到可以做到这一点的东西。我发现:

织物

这部分非常优雅地处理 shell 命令的执行,并且可以接受多个服务器定义,但它应该是一个部署工具,因此不能完成上面所需的所有操作 - 例如,它没有监听命令的守护进程模式 - 它希望在 shell 上执行。它也不能提供中央数据库功能。

自由云

该库可以处理服务器管理(CRUD)部分,但也没有命令接口守护进程,并且不允许您在服务器上执行命令。

我想我需要一个结合了 libcloud、fabric 和 django 的 API。或者其他可以做同样事情而不管语言的东西。

主宰

Overmind 是 libcloud 的 GUI 和包装器,但不支持命令执行部分。

我在这里遗漏了什么?

答案1

我确信你会因为购物而被扣分,但我很惊讶你的谷歌搜索没有识别出 Puppet 或 Chef

答案2

您的要求,特别是远程执行,听起来更接近 PaaS 堆栈而不是任何一个库。

描述了一些选项这里

相关内容