Skip to content

projecteru/eru-armin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eru Armin

这就是一个自动初始化服务器的幺蛾子,只针对于 CentOS 7

Install

先 Clone

git clone https://github.com/projecteru/eru-armin.git

如果不想扩展了

python setup.py install

如果想扩展

python setup.py develop

这货只依赖

paramiko

好了现在你可以开始用了

Usage

作为一个简化版的 ansible, 这货实现了自己的一套近似于 playbook 的机制,可以参考 example.yaml 的描述。

注意,methods 是有序的, 所以请注意顺序

然后,你需要写一个 local_config.py 来解决配置问题,具体配置项可以参考这里

最后配置好相应的文件夹和对应需要 upload 的文件过去,执行入口文件就可以了咯。

什么没入口?呃,这个得让另外一个作者幸苦的用 click 包装下了。

或者参考我现在用的工作环境 auto-ricebook ,放心我已经干掉了所有 pubkey 了哈哈哈。

Methods

哪天心情好了就来更新这块……

Add new service

这个其实还是蛮简单的

  • 自定义一个 Class,继承于 armin.services.Service,实现自己的 install 和 modify 方法(你要重写 restart 也可以)。
  • 丢到 sys.path 中,让 importlib 可以通过等价于 from armin.services.xxx import YYY 这样找到。
  • 把配置丢到自己的 local_config.py 里面,更新 config.SERVICE_CLS_MAP,mod 就是 mod 名,unit 就是 systemctl 控制的 service 名。
  • 把需要干脏活的脚本啊文件啊丢到 config.LOCAL_SERVICES_DIR 目录里面。
  • 好了修改自己的 playbook.yaml 吧,在 services 方法里面去操控 install/modify/restart 咯。

注意,restart 的实现目前极其简单,就是 systemctl restart name

About

Automatically initialize a CentOS 7 server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages