<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Jonas Genannt - puppet</title>
    <link>http://blog.brachium-system.net/</link>
    <description>Weblog of an System Engineer</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.1 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://blog.brachium-system.net/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Jonas Genannt - puppet - Weblog of an System Engineer</title>
        <link>http://blog.brachium-system.net/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>SSH public key distribution with puppet</title>
    <link>http://blog.brachium-system.net/archives/123-SSH-public-key-distribution-with-puppet.html</link>
            <category>debian</category>
            <category>puppet</category>
            <category>work</category>
    
    <comments>http://blog.brachium-system.net/archives/123-SSH-public-key-distribution-with-puppet.html#comments</comments>
    <wfw:comment>http://blog.brachium-system.net/wfwcomment.php?cid=123</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.brachium-system.net/rss.php?version=2.0&amp;type=comments&amp;cid=123</wfw:commentRss>
    

    <author>nospam@example.com (Jonas Genannt)</author>
    <content:encoded>
    The last years I have used several tools to distribute the public ssh keys of my users across the servers but they don&#039;t fit anymore. I use puppet for my infrastructure but the build in puppet feature &lt;em&gt;ssh_authorized_key&lt;/em&gt; does not fit.&lt;br /&gt;
&lt;br /&gt;
I have different users across my servers and same users on many servers (e.g. web farms).&lt;br /&gt;
&lt;br /&gt;
One public ssh key can be an member of:&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;an ssh public key group that is mapped to an user on an server&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;an ssh public key group that is mapped to an user on an sever group&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;an user mapped to an server&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;an user mapped to an server group&lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://blog.brachium-system.net/uploads/sshkeys1.jpeg&#039;&gt;&lt;!-- s9ymdb:55 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;512&quot; height=&quot;257&quot;  src=&quot;http://blog.brachium-system.net/uploads/sshkeys1.jpeg&quot;  alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br clear=&quot;both&quot;/&gt;&lt;br /&gt;
I have created an &lt;a href=&quot;https://github.com/hggh/servermgmt&quot; title=&quot;ServerMGMT&quot;&gt;Webapp&lt;/a&gt; with an ajax interface. You can drag &amp;amp; drop the ssh key groups or ssh keys to an user.&lt;br /&gt;
&lt;br /&gt;
The key will be deployed via an puppet parser function, you need the storeconfig feature in puppet.&lt;br /&gt;
&lt;br /&gt;
The webapp has got an own database (postgres) but you can merge the puppet storeconfig database to the server manager database (via an rake task). If you specify an regular expression on your server groups, an new merged server will be automatically added to the group and on the next run of puppet the keys from the server group will be deployed without any action from you.&lt;br /&gt;
&lt;br /&gt;
Puppet stuff:&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hggh/servermgmt/blob/master/doc/puppet/modules/ssh/manifests/init.pp&quot; title=&quot;Puppet SSH module&quot;&gt;puppet module&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hggh/servermgmt/blob/master/extra/puppet/lib/ssh_public_keys.rb&quot;&gt;puppet function to fetch the keys from the webapp&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hggh/servermgmt/blob/master/extra/facter/users.rb&quot;&gt;fact to fetch existing users on the servers&lt;/a&gt; (not needed, but features auto complete in the app) &lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://blog.brachium-system.net/uploads/sgmt_sshkey.jpg&#039;&gt;&lt;!-- s9ymdb:56 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;330&quot; height=&quot;213&quot;  src=&quot;http://blog.brachium-system.net/uploads/sgmt_sshkey.jpg&quot;  alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br clear=&quot;both&quot;/&gt;&lt;br /&gt;
drag &amp;amp; drop the ssh keys or the ssh key groups from right to left into the users on the servers or server groups&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src=&quot;http://player.vimeo.com/video/24034056?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;400&quot; height=&quot;300&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&quot;http://vimeo.com/24034056&quot;&gt;public ssh key distribution with puppet and ajax interface&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/user3233269&quot;&gt;Jonas&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sat, 21 May 2011 03:51:00 +0200</pubDate>
    <guid isPermaLink="false">http://blog.brachium-system.net/archives/123-guid.html</guid>
    
</item>
<item>
    <title>Using Nagios for Wordpress Version Checks</title>
    <link>http://blog.brachium-system.net/archives/122-Using-Nagios-for-Wordpress-Version-Checks.html</link>
            <category>control</category>
            <category>puppet</category>
            <category>work</category>
    
    <comments>http://blog.brachium-system.net/archives/122-Using-Nagios-for-Wordpress-Version-Checks.html#comments</comments>
    <wfw:comment>http://blog.brachium-system.net/wfwcomment.php?cid=122</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.brachium-system.net/rss.php?version=2.0&amp;type=comments&amp;cid=122</wfw:commentRss>
    

    <author>nospam@example.com (Jonas Genannt)</author>
    <content:encoded>
    &lt;!-- s9ymdb:52 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;949&quot; height=&quot;140&quot;  src=&quot;http://blog.brachium-system.net/uploads/wordpress_check.jpg&quot;  alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;m using Nagios to check for Wordpress Version updates and plugin updates - it&#039;s really nice. You don&#039;t need to login to wp-admin and check for version. An single PHP Cli script, that puppet installs and configures the nagios for every wordpress installation.&lt;br /&gt;
&lt;br /&gt;
Next step: create an all in wonder script that will upgrade wordpress and all plugins &lt;img src=&quot;http://blog.brachium-system.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Update: Script: &lt;a href=&quot;http://blog.brachium-system.net/uploads/check_wordpress&quot; title=&quot;check_wordpress&quot; target=&quot;_blank&quot;&gt;check_wordpress&lt;/a&gt; 
    </content:encoded>

    <pubDate>Thu, 24 Feb 2011 00:35:49 +0100</pubDate>
    <guid isPermaLink="false">http://blog.brachium-system.net/archives/122-guid.html</guid>
    
</item>

</channel>
</rss>
