tomas-edwardsson/puppet-push

语言: Shell

git: https://github.com/tomas-edwardsson/puppet-push

基于推的木偶
push based puppetry
README.md (中文)

木偶推推式木偶

我想解决什么?

  • Puppet默认使用拉模型,节点拉动它们的配置
  • 实现Puppet拉不是一个选项(DMZ)

它需要什么?

  • 以root用户身份对目标节点进行SSH密钥访问
  • 远程节点和本地节点上安装的puppet和rsync
  • 木偶版本2.7.0或更新版本
  • 替代site.pp(site-push.pp)

它有什么作用?

  • 在目标节点和提取上生成事实
  • 在主服务器上编译目录
  • 从File []资源推送文件并替换puppet:///路径
  • 修改目录以替换File []源语句
  • 将目录推送到目标节点
  • 适用目录

安装

git安装

用apt,yum安装git,无论你喜欢什么

yum install git

git clone

git clone git://github.com/tomas-edwardsson/puppet-push.git

构建rpm或安装

make rpm

并安装,或

make install

配置

编辑/etc/puppet-push.conf

PUPPET_VAR_DIR="/var/lib/puppet"
PUPPET_MODULE_DIR=/etc/puppet/modules/production
REMOTE_SSH_USER=root

VERBOSE=0

Filebucket配置

如果您使用filebucket服务器作为基于拉取的主机,则需要为基于推送的主机覆盖它。

提供了另一个site.pp文件,可以在puppet-push.conf中设置,但是如果你可以有条件地设置 基于推送的节点的清单中的filebucket和文件备份参数可以跳过特殊的site.pp文件。

含:

filebucket { local:
        server => false,
        path => "/var/lib/puppet/clientbucket",
}

File { backup => local }

puppet-push <nodename>

放弃

这是一个ALPHA,我只在几个节点上运行它可能会破坏某些东西。

执照

GPLv3的

作者

Pall Valmundsson pall.valmundsson@gmail.com

Tomas Edwardsson tommi@tommi.org

由冰岛国立医院赞助

本文使用googletrans自动翻译,仅供参考, 原文来自github.com

en_README.md

puppet-push push based puppetry

What am I trying to solve?

  • Puppet defaults to using a pull model, nodes pull their configs
  • Implement Puppet where pulling is not an option (DMZ)

What does it need?

  • SSH key access to the target node as root
  • puppet and rsync installed on the remote node and local node
  • puppet version 2.7.0 or newer
  • Alternate site.pp (site-push.pp)

What does it do?

  • Generates facts on target node and fetches
  • Compiles the catalog on the master
  • Pushes files from the File[] resource and replaces puppet:/// paths
  • Modifies catalog to replace the File[] source statements
  • Pushes catalog to target node
  • Applies catalog

Install

git install

Install git with apt, yum, whatever your flavor

yum install git

git clone

git clone git://github.com/tomas-edwardsson/puppet-push.git

build rpm or install

make rpm

and install that, or

make install

configure

edit /etc/puppet-push.conf

PUPPET_VAR_DIR="/var/lib/puppet"
PUPPET_MODULE_DIR=/etc/puppet/modules/production
REMOTE_SSH_USER=root

VERBOSE=0

Filebucket configuration

If you are using a filebucket server for the pull based hosts you will need to override it for the push based hosts.

An alternative site.pp file is provided which can be set in puppet-push.conf but if you can conditionally set the
filebucket and file backup parameters in the manifests for the push based nodes it's possible to skip a special site.pp file.

Containing:

filebucket { local:
        server => false,
        path => "/var/lib/puppet/clientbucket",
}

File { backup => local }

Run

puppet-push <nodename>

Disclaimer

This is an ALPHA, I have only run it on a few nodes and it may break something.

License

GPLv3

Authors

Pall Valmundsson pall.valmundsson@gmail.com

Tomas Edwardsson tommi@tommi.org

Sponsored by the Icelandic National Hospital