Mgmt:下一代分布式,事件驱动的并行配置管理

2020-12-10 02:11:46

Mgmt是一种实时自动化工具。它是现有配置管理软件所熟悉的,但功能却非常强大,因为它可以让您以一种非常安全的方式构建我们的mcl代码,并且构建出一个实时,闭环反馈系统。例如,以下代码将确保您的文件服务器在星期五时设置为只读。

导入" datetime" $ is_friday = datetime.weekday(datetime.now())==" friday" file" / srv / files /" {状态=> $ const.res.file.state.exists,mode =>如果$ is_friday {#这会更新模式,它会立即改变! " 0550" } else {" 0770" },}

它可以连续,间断或按需运行,在第一种情况下,它将保证您的系统在该时刻始终处于所需状态!在这种模式下,它可以作为分散代理在整个网络中运行,每次交换实时与他人共享信息,以响应不断变化的需求。例如,如果您要确保某个资源在集群中最多运行两台主机,则也可以指定它:

import" sys"#world"#我们将设置一些调度选项:$ opts = struct {strategy => " rr&#34 ;,最大=> 2,ttl => 10,}#使用以下选项在特定命名空间中进行调度:$ set = world.schedule(&x34; xsched&#34 ;, $ opts)if sys.hostname()在$ set {中就在这里...我已经安排好了打印时间{}#这将在所选计算机上运行}

在群集中添加和删除主机时,实时调度功能将动态从可用池中拾取最多两台主机。这些特定功能并不是核心设计所固有的,可以轻松添加新功能。

Mgmt是下一代自动化工具。它与配置管理空间中的其他工具相似,但是具有快速,现代化的分布式系统方法。该项目包含引擎和语言。请观看介绍性视频或博客文章。

Mgmt是一个相当新的项目。它今天可以使用,但功能尚未完成。在您的帮助下,您将能够影响我们的设计并使我们更快地达到1.0!有兴趣的用户应该阅读快速入门指南。

请在社区中提问!如果您有一个措辞得当的问题可能会让其他人受益,请向FAQ部分发送补丁以考虑提问。 我将合并您的问题和答案的补丁! 如果您是该项目的初次撰稿人,或者不确定如何破解,请随意获取其中一个简单的#mgmtloveissues! 请参与其中一项工作或提出其他建议,以参与工作! 在我们的TODO文件中有一些较低优先级的问题和较硬的问题。 请看一看。 请在main.goto中将DEBUG常量设置为true,并在报告问题时发布日志。欢迎阅读我的有关调试golang程序的文章。 我们很乐意为您提供补丁! 请通过电子邮件或请求请求将其发送。