Как я делаю марионеточные факты сообщения, после того, как выполнено?

В суммировании, чистой, протестированной версии кода:

Это работает (на меня) для перенаправления www к non-www

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Любой из них работает (на меня) для перенаправления non-www к www

RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L]

или

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.+)$ [NC]
RewriteRule ^(.*)$ http://www\.%1/$1 [R=301,L]
4
задан 13 June 2013 в 09:37
2 ответа

Я создал модуль отчетов в Puppet, который решил этот конкретный вариант использования. Репортер пытается прочитать последний отчет yaml, а затем добавить в сообщение дополнительные сведения.

  def process
    payload = { :host => self.host, :status => self.status, :kind => self.kind }   
    # if facts file found, read it and add facts to payload:
    if File.exists?("#{Puppet[:vardir]}/yaml/facts/#{self.host}.yaml")
        new_facts = {}
        node_facts = YAML.load_file("#{Puppet[:vardir]}/yaml/facts/#{self.host}.yaml")
        node_facts.values.each do |key, value|
            new_facts = new_facts.merge({key => value})
        end
        payload = payload.merge(new_facts)
    end    
    response = HTTParty.post(URL, :body => payload )
    Puppet.err "Response code: #{response.code} - #{response.body}" unless response.code == 200
  end

Если вы хотите узнать больше о написании настраиваемых отчетов Puppet, проверьте Когда Puppet сообщает, часть 2

3
ответ дан 3 December 2019 в 03:18

Есть ли у вас жесткое требование, чтобы он был в единой CMDB, или цель просто сделать его доступным для запросов? PuppetDB уже предоставляет API для поиска фактов:

http://docs.puppetlabs.com/puppetdb/latest/api/query/v2/facts.html

Строго говоря, сама Puppet не знает, какое значение фактов находятся в конце цикла - только в начале цикла. Я не уверен, каков ваш финал, но поскольку Puppet сам по себе никоим образом не связан с ценностью ваших фактов, лучшим решением, вероятно, будет использование MCollective, а не Puppet для агрегирования сведений о ваших узлах и их сохранения с помощью плагин пользовательской регистрации, который отправляет обратно в вашу CMDB.

2
ответ дан 3 December 2019 в 03:18

Теги

Похожие вопросы