<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>Hypermagnet</title>
  <link href="http://www.hypermagnet.com//atom.xml" rel="self"/>
  <link href="http://www.hypermagnet.com//"/>
  <updated>2011-10-15T12:06:47-04:00</updated>
  <id>http://www.hypermagnet.com//</id>
  <author>
    <name>AL</name>
    
  </author>

  
  <entry>
    <title>More Configuration Projects</title>
    <link href="http://www.hypermagnet.com//blog/2009/09/more-configuration-projects.html"/>
    <updated>2009-09-11T11:20:18-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2009/09/more-configuration-projects</id>
    <content type="html">&lt;p&gt;These two projects caught my attention at Freshmeat today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://kulchitsky.org/pcnf/&quot;&gt;parse_conf library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://search.cpan.org/dist/Config-Model/&quot;&gt;Config::Model&lt;/a&gt; - I may have mentioned this one before&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I&amp;#8217;m very pleased to see so many configuration-focused project popping up. The more, the merrier!&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>I&#8217;m Using Puppet All The Time!</title>
    <link href="http://www.hypermagnet.com//blog/2009/07/im-using-puppet-all-the-time.html"/>
    <updated>2009-07-17T01:21:08-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2009/07/im-using-puppet-all-the-time</id>
    <content type="html">&lt;p&gt;Puppet is working out really well for me. I run a small technology company and administer lots of computers, and I regret not setting up Puppet many moons ago.&lt;/p&gt;

&lt;p&gt;I started work on Hypermagnet to take care of configuration templates awhile back, but I haven&amp;#8217;t gotten there with puppet yet. I am, however, using YoDNSconf with puppet quite often. I use &lt;a href=&quot;http://www.yodnsconf.com/&quot;&gt;YoDNSconf&lt;/a&gt; to manage all my private hostnames so it was an easy addition to include which puppet classes to associate with each host.&lt;/p&gt;

&lt;p&gt;Hypermagnet and Puppet will work together someday!&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Client Hostname Specific File Serving</title>
    <link href="http://www.hypermagnet.com//blog/2009/07/client-hostname-specific-file-serving.html"/>
    <updated>2009-07-05T10:30:37-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2009/07/client-hostname-specific-file-serving</id>
    <content type="html">&lt;p&gt;This is awesome. I&amp;#8217;ve been hoping for functionality like this and I&amp;#8217;m very pleased its so simple to use.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The Deets&lt;/b&gt;
OK, I&amp;#8217;ll be more specific. For quite some time I&amp;#8217;ve relied upon ssh to login to remote servers and manually edit configuration files. Its a time intensive and error prone process, and most importantly, there are no systematic procedures involved, so there are no manageable assets built up over time!&lt;/p&gt;

&lt;p&gt;It took me awhile, but I started to use Puppet to configure services on my network which all use the same configuration files. But what about services that use a different configuration on each host? I expected to variations:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Client host specific configuration files&lt;/li&gt;&lt;li&gt;Configuration file templates which can be customized for each client&lt;/li&gt;&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Client Specific Files
&lt;/b&gt;This is what I referred to as being easier than I thought:&lt;/p&gt;

&lt;pre&gt;class rsync {

    package { rsync: ensure =&amp;gt; latest }

    file { &quot;rsyncd.conf&quot;:
        name =&amp;gt; &quot;/etc/rsyncd.conf&quot;,
        owner =&amp;gt; &quot;root&quot;,
        group =&amp;gt; &quot;root&quot;,
        mode  =&amp;gt; 644,
        source  =&amp;gt; &quot;puppet://fileserver.example.com/rsync/rsyncd.$hostname.conf&quot;,
        require =&amp;gt; Package[&quot;rsync&quot;],
    }

}&lt;/pre&gt;


&lt;p&gt;I&amp;#8217;m surprised that the $hostname variable uses the host short name.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Configuration File Templates&lt;/b&gt;
This would be sweet, but I haven&amp;#8217;t figured out how to set it up yet. Looks like ERB is the way to go.&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Migrating a Puppetmaster </title>
    <link href="http://www.hypermagnet.com//blog/2009/07/migrating-a-puppetmaster.html"/>
    <updated>2009-07-04T20:45:05-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2009/07/migrating-a-puppetmaster</id>
    <content type="html">&lt;p&gt;I&amp;#8217;ve just about finished up the process of migrating a puppetmaster server, and it was thankfully very easy.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;d been using subversion to store the puppetmaster manifests, and the main problem I ran into was the same one which hung me up when I first setup puppet: hostnames!&lt;/p&gt;

&lt;p&gt;To recap, the server hostname has to be the same reverse dns for the ip address. For example:&lt;/p&gt;

&lt;pre&gt;user@hostone:/home/user$ hostname
hostone.example.com

dig -x 192.168.123.123
hostone.example.com
&lt;/pre&gt;


&lt;p&gt;Yes, that&amp;#8217;s all paraphrased. To make things easier, I removed the existing certificates:&lt;/p&gt;

&lt;pre&gt;rm -rf /var/lib/puppet/ssl/&lt;/pre&gt;


&lt;p&gt;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Config::Model</title>
    <link href="http://www.hypermagnet.com//blog/2009/06/configmodel.html"/>
    <updated>2009-06-26T14:24:07-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2009/06/configmodel</id>
    <content type="html">&lt;p&gt;&lt;a href=&quot;http://search.cpan.org/dist/Config-Model/&quot;&gt;Config::Model&lt;/a&gt; - this looks very cool! It is a Perl project that aims to serve as an interactive configuration editor. I glanced over the docs and it appears to connect with &lt;a href=&quot;http://www.hypermagnet.com/blog/2009/01/augeas.html&quot;&gt;Augeas&lt;/a&gt; to a certain degree.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m using Perl more and more these days so I&amp;#8217;m going to give it a try. Let&amp;#8217;s see if there is a debian package&amp;#8230; YES! libconfig-model-perl. Nuff said.&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>ConfigObj</title>
    <link href="http://www.hypermagnet.com//blog/2009/06/configobj.html"/>
    <updated>2009-06-08T23:45:28-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2009/06/configobj</id>
    <content type="html">&lt;p&gt;This looks interesting:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.voidspace.org.uk/python/configobj.html&quot;&gt;http://www.voidspace.org.uk/python/configobj.html&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Augeas</title>
    <link href="http://www.hypermagnet.com//blog/2009/01/augeas.html"/>
    <updated>2009-01-24T12:45:32-05:00</updated>
    <id>http://www.hypermagnet.com//blog/2009/01/augeas</id>
    <content type="html">&lt;p&gt;Thanks to &lt;a href=&quot;http://www.hypermagnet.com/blog/2009/01/puppet.html&quot;&gt;my trying out Puppet&lt;/a&gt;, I learned about Augeas yesterday. It is a &lt;em&gt;serious&lt;/em&gt; configuration management system. It pays to try new things out!&lt;/p&gt;

&lt;p&gt;Augeas appears to use the concept of &amp;#8220;lenses&amp;#8221; to see into different configuration types. I get the feeling that &amp;#8220;lenses&amp;#8221; could also be described as very specific parsers. Doesn&amp;#8217;t matter though, what they do is very cool!&lt;/p&gt;

&lt;p&gt;For example, I used the augtool command line interface to load my /etc/hosts file. In doing so, augtool parsed the file into an object tree with nodes and values. This was very appropriate as only recently I was working on the host names portion of &lt;a href=&quot;http://www.yodnsconf.com/&quot;&gt;YoDNSConf&lt;/a&gt; when I think I finally figured out &lt;a href=&quot;http://www.docunext.com/blog/2009/01/15/hostnames-versus-dns/&quot;&gt;the relationship between hostnames and DNS&lt;/a&gt;. In augtool, when I printed the /etc/hosts configuration tree, it displays three nodes: ipaddr, canonical, and alias. Sweet, that&amp;#8217;s good enough confirmation that my understanding of the /etc/hosts file is correct.&lt;/p&gt;

&lt;p&gt;Please correct me if I&amp;#8217;m wrong, but the first entry in the line for an ip is the canonical name, and the ones following are aliases. This was important to me as I wanted to also generate PTR records for unbound local-data from the same database. In the end, it all worked out.&lt;/p&gt;

&lt;p&gt;But back to Augeas, the only issue I have with it at the moment is that its lacking PHP bindings at this time. It does have Ruby and Python bindings though, and since Puppet is written in Ruby and I&amp;#8217;m still interested in learning more about Ruby, it might be a good thing. Like I said, it often pays off when I try new things.&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Puppet</title>
    <link href="http://www.hypermagnet.com//blog/2009/01/puppet.html"/>
    <updated>2009-01-16T23:26:53-05:00</updated>
    <id>http://www.hypermagnet.com//blog/2009/01/puppet</id>
    <content type="html">&lt;p&gt;&lt;a href=&quot;http://www.docunext.com/wiki/Puppet&quot;&gt;I finally tried out puppet&lt;/a&gt;, and I like it! Its very simple to get started, and it appears to run smoothly and able to grow incrementally, which is how I like to do and learn things.&lt;br/&gt;&lt;br/&gt;One of the turn-offs that kept me away from puppet was the custom syntax it uses, but it turns out to be pretty smart. Since they are fairly sophisticated configuration files, it would make sense to generate them in a systematic manner. On top of that, it uses common machine and network data, which can be stored in a centralized database.&lt;br/&gt;&lt;br/&gt;I&amp;#8217;d also like to do the same for nagios configuration files - I just &lt;a href=&quot;http://www.docunext.com/wiki/Nagios3_on_Debian&quot;&gt;setup nagios3 on debian&lt;/a&gt; and I like the progress its made since nagios2. I&amp;#8217;ll have to review nagiosQL to see how they do it.&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Debexpo</title>
    <link href="http://www.hypermagnet.com//blog/2008/07/debexpo.html"/>
    <updated>2008-07-09T15:17:25-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2008/07/debexpo</id>
    <content type="html">&lt;p&gt;Debexpo is coming along nicely! Its the Google SoC project by Johnny Lamb which is to make packages more socially browse-able. Although I haven&amp;#8217;t tried it yet, the idea that my mind conjures up is a mix between Ohloh and packages.debian.org.&lt;br/&gt;&lt;br/&gt;This is a great thing! I&amp;#8217;ve been perusing the trac code browser - its written in python and follows an MVC structure, so I should be able to make sense of it eventually. :-)&lt;br/&gt;&lt;br/&gt;Oh yeah - the link:&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://debexpo.workaround.org/trac/&quot;&gt;http://debexpo.workaround.org/trac/&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>It&#8217;s All About The Packages</title>
    <link href="http://www.hypermagnet.com//blog/2008/05/its-all-about-the-packages.html"/>
    <updated>2008-05-08T22:25:11-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2008/05/its-all-about-the-packages</id>
    <content type="html">&lt;p&gt;Just a couple thoughts about package configuration:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Package parameters would be stored in a database&lt;/li&gt;
&lt;li&gt;Configuration form hopefully powered by a single style sheet&lt;/li&gt;
&lt;li&gt;Configuration output would be powered a few types of style sheets, with some exclusive snibbet style sheets&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;N.B. - There are several &lt;em&gt;very&lt;/em&gt; cool projects for Debian listed in the GSOC2008:&lt;/p&gt;

&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;http://wiki.debian.org/SummerOfCode2008&quot;&gt;http://wiki.debian.org/SummerOfCode2008&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>Debconf</title>
    <link href="http://www.hypermagnet.com//blog/2008/04/debconf.html"/>
    <updated>2008-04-25T22:51:04-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2008/04/debconf</id>
    <content type="html">&lt;p&gt;Just in case you were wondering, hypermagnet will &lt;em&gt;definitely&lt;/em&gt; build upon the greatness already inherent in debconf. &lt;br/&gt;&lt;br/&gt;N.B. - Debconf has experimental support for LDAP. :-)&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>XSL Configurator Home, and New Name</title>
    <link href="http://www.hypermagnet.com//blog/2008/04/xsl-configurator-home-and-new-name.html"/>
    <updated>2008-04-24T23:41:25-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2008/04/xsl-configurator-home-and-new-name</id>
    <content type="html">&lt;p&gt;Hypermagnet will be the new home and new name of a software project I recently started. It was at first called &amp;#8220;XSL Configurator&amp;#8221;, but that isn&amp;#8217;t much fun now, is it? &lt;br/&gt;&lt;br/&gt;Hypermagnet is a little bit cooler.&lt;/p&gt;
</content>
  </entry>
  
  <entry>
    <title>What is a hypermagnet?</title>
    <link href="http://www.hypermagnet.com//blog/2007/08/what-is-a-hypermagnet.html"/>
    <updated>2007-08-29T23:13:31-04:00</updated>
    <id>http://www.hypermagnet.com//blog/2007/08/what-is-a-hypermagnet</id>
    <content type="html">&lt;p&gt;Think about it in terms of the web&amp;#8230;.&lt;/p&gt;
</content>
  </entry>
  
</feed>

