Skip to content
Browse files

update site

  • Loading branch information...
1 parent 85efc62 commit d2bb803f2eb7a16399866b42d35d7c734caa1d01 @rodjek committed Nov 2, 2011
Showing with 681 additions and 0 deletions.
  1. +85 −0 2011/01/02/distributing-augeas-lenses-with-pluginsync/index.html
  2. +1 −0 CNAME
  3. +11 −0 Rakefile
  4. +53 −0 about/index.html
  5. 0 blank.html
  6. +1 −0 css/960.css
  7. +69 −0 css/native.css
  8. +1 −0 css/reset.css
  9. +228 −0 css/site.css
  10. +69 −0 css/solarized-dark.css
  11. +1 −0 css/text.css
  12. +83 −0 index.html
  13. +79 −0 projects/index.html
View
85 2011/01/02/distributing-augeas-lenses-with-pluginsync/index.html
@@ -0,0 +1,85 @@
+<html>
+ <head>
+ <title>Distributing Augeas lenses with Puppet's pluginsync</title>
+ <link rel="stylesheet" href="/css/reset.css" />
+ <link rel="stylesheet" href="/css/text.css" />
+ <link rel="stylesheet" href="/css/960.css" />
+ <link rel="stylesheet" href="/css/site.css" />
+ <link rel="stylesheet" href="/css/solarized-dark.css" />
+ <script type="text/javascript" src="http://use.typekit.com/agp6fkg.js"></script>
+ <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
+ </head>
+ <body>
+ <div class="container_12">
+ <div class="header grid_10 push_1">
+ <p class="heading">Tim Sharpe</p>
+ <p class="subheading">
+ <a href="/">Home</a>
+ ::
+ <a href="/projects/">Projects</a>
+ ::
+ <a href="http://uniqueviewsofreality.com">Photos</a>
+ ::
+ <a href="/about/">About Me</a>
+ </p>
+ </div>
+ <div class="clear"></div>
+ <div class="post">
+ <div class="grid_9 push_1">
+ <p class="title">Distributing Augeas lenses with Puppet's pluginsync</p>
+ </div>
+ <div class="postdate grid_1">
+ <p>
+ 02
+ <br />
+ Jan 2011
+ </p>
+ </div>
+ <div class="clear"></div>
+ <div class="grid_10 push_1">
+ <p>Sick of having to write <code>file</code> resources to distribute the Augeas lenses that your module depends on? Why not use Puppet&#8217;s pluginsync functionality to distribute them with the rest of your module?</p>
+
+<p>Under your module&#8217;s <code>lib</code> directory, create the following directory structure</p>
+
+<pre><code>modules/&lt;module&gt;/lib/
+ augeas/
+ lenses/</code></pre>
+
+<p>Your module should now look like this:</p>
+
+<pre><code>modules/&lt;module&gt;/manifests/
+ templates/
+ lib/
+ puppet/
+ facter/
+ augeas/
+ lenses/</code></pre>
+
+<p>Drop your Augeas lenses into this <code>lenses</code> directory and Puppet will distribute them to all your clients automatically. Now we just need to tell Augeas where to find these lenses.</p>
+
+<p>The easiest way to go about this is to set a default <code>load_path</code> value for Augeas type. To do that, add the following to your <code>site.pp</code>.</p>
+<table class='highlighttable'><tr><td class='linenos'><div class='linenodiv'><pre><code class='ruby'>1
+2
+3</code></pre></div></td><td class='code'><div class='highlight'><pre><span class='no'>Augeas</span> <span class='p'>{</span>
+ <span class='n'>load_path</span> <span class='o'>=&gt;</span> <span class='s2'>&quot;/usr/share/augeas/lenses:${settings::vardir}/augeas/lenses&quot;</span><span class='p'>,</span>
+<span class='p'>}</span>
+</pre></div>
+</td></tr></table>
+<p>Note: Puppet will display an error for each lens during runs as it&#8217;ll try to load them as Ruby files. It&#8217;s noisy, but it&#8217;s not a fatal error. I&#8217;m hoping to find an easy way to prevent this.</p>
+ <hr />
+ <div class='twitter'>
+ Got any comments, questions or criticisms? Hit me up on <a href='http://twitter.com/#!/rodjek'>Twitter</a>.<br />
+ You should also totally follow me on Twitter.<br />
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ <div class="footer grid_8 push_2">
+ <hr />
+ <p>Copyright 2011 Tim Sharpe</p>
+ <p>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.</p>
+ <p><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a></p>
+ </div>
+ </div>
+ </body>
+</html>
View
1 CNAME
@@ -0,0 +1 @@
+bombasticmonkey.com
View
11 Rakefile
@@ -0,0 +1,11 @@
+require 'fileutils'
+
+task :publish do
+ tmp_site_dir = `/usr/bin/mktemp -d /tmp/site.XXXXXXXXXX`
+ `jekyll --no-server --no-auto --no-safe #{tmp_site_dir}`
+ `git checkout master`
+ `cp -rf "#{tmp_site_dir}/* .`
+ `git add .`
+ `git commit -a -m "updated site"`
+ `rm -rf #{tmp_site_dir}`
+end
View
53 about/index.html
@@ -0,0 +1,53 @@
+<html>
+ <head>
+ <title>About Me</title>
+ <link rel="stylesheet" href="/css/reset.css" />
+ <link rel="stylesheet" href="/css/text.css" />
+ <link rel="stylesheet" href="/css/960.css" />
+ <link rel="stylesheet" href="/css/site.css" />
+ <link rel="stylesheet" href="/css/solarized-dark.css" />
+ <script type="text/javascript" src="http://use.typekit.com/agp6fkg.js"></script>
+ <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
+ </head>
+ <body>
+ <div class="container_12">
+ <div class="header grid_10 push_1">
+ <p class="heading">Tim Sharpe</p>
+ <p class="subheading">
+ <a href="/">Home</a>
+ ::
+ <a href="/projects/">Projects</a>
+ ::
+ <a href="http://uniqueviewsofreality.com">Photos</a>
+ ::
+ <a href="/about/">About Me</a>
+ </p>
+ </div>
+ <div class="clear"></div>
+ <div class="post">
+ <div class="grid_9 push_1">
+ <p class="title">About Me</p>
+ </div>
+ <div class="postdate grid_1">
+ <p>
+
+ <br />
+
+ </p>
+ </div>
+ <div class="clear"></div>
+ <div class="grid_10 push_1">
+ <p>I&#8217;m a Kiwi expatriate currently residing in Australia where I work as a sysadmin at <a href='http://github.com'>GitHub</a>. When I&#8217;m not fighting misbehaving servers, I like to spend as much time as I can at the local archery range, cycling or questing to find the best lager in the country.</p>
+
+<p>If you want to get in contact, you can find me on <a href='http://github.com/rodjek'>GitHub</a> or <a href='http://twitter.com/rodjek'>Twitter</a>, via <a href='mailto:tim@sharpe.id.au'>email</a> or on <code>irc.freenode.net</code> as <code>rodjek</code>.</p>
+ </div>
+ <div class="clear"></div>
+ </div>
+ <div class="footer grid_8 push_2">
+ <hr />
+ <p>Copyright 2011 Tim Sharpe</p>
+ <p>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.</p>
+ </div>
+ </div>
+ </body>
+</html>
View
0 blank.html
No changes.
View
1 css/960.css
@@ -0,0 +1 @@
+body{min-width:960px}.container_12,.container_16{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16{display:inline;float:left;margin-left:10px;margin-right:10px}.push_1,.pull_1,.push_2,.pull_2,.push_3,.pull_3,.push_4,.pull_4,.push_5,.pull_5,.push_6,.pull_6,.push_7,.pull_7,.push_8,.pull_8,.push_9,.pull_9,.push_10,.pull_10,.push_11,.pull_11,.push_12,.pull_12,.push_13,.pull_13,.push_14,.pull_14,.push_15,.pull_15{position:relative}.container_12 .grid_3,.container_16 .grid_4{width:220px}.container_12 .grid_6,.container_16 .grid_8{width:460px}.container_12 .grid_9,.container_16 .grid_12{width:700px}.container_12 .grid_12,.container_16 .grid_16{width:940px}.alpha{margin-left:0}.omega{margin-right:0}.container_12 .grid_1{width:60px}.container_12 .grid_2{width:140px}.container_12 .grid_4{width:300px}.container_12 .grid_5{width:380px}.container_12 .grid_7{width:540px}.container_12 .grid_8{width:620px}.container_12 .grid_10{width:780px}.container_12 .grid_11{width:860px}.container_16 .grid_1{width:40px}.container_16 .grid_2{width:100px}.container_16 .grid_3{width:160px}.container_16 .grid_5{width:280px}.container_16 .grid_6{width:340px}.container_16 .grid_7{width:400px}.container_16 .grid_9{width:520px}.container_16 .grid_10{width:580px}.container_16 .grid_11{width:640px}.container_16 .grid_13{width:760px}.container_16 .grid_14{width:820px}.container_16 .grid_15{width:880px}.container_12 .prefix_3,.container_16 .prefix_4{padding-left:240px}.container_12 .prefix_6,.container_16 .prefix_8{padding-left:480px}.container_12 .prefix_9,.container_16 .prefix_12{padding-left:720px}.container_12 .prefix_1{padding-left:80px}.container_12 .prefix_2{padding-left:160px}.container_12 .prefix_4{padding-left:320px}.container_12 .prefix_5{padding-left:400px}.container_12 .prefix_7{padding-left:560px}.container_12 .prefix_8{padding-left:640px}.container_12 .prefix_10{padding-left:800px}.container_12 .prefix_11{padding-left:880px}.container_16 .prefix_1{padding-left:60px}.container_16 .prefix_2{padding-left:120px}.container_16 .prefix_3{padding-left:180px}.container_16 .prefix_5{padding-left:300px}.container_16 .prefix_6{padding-left:360px}.container_16 .prefix_7{padding-left:420px}.container_16 .prefix_9{padding-left:540px}.container_16 .prefix_10{padding-left:600px}.container_16 .prefix_11{padding-left:660px}.container_16 .prefix_13{padding-left:780px}.container_16 .prefix_14{padding-left:840px}.container_16 .prefix_15{padding-left:900px}.container_12 .suffix_3,.container_16 .suffix_4{padding-right:240px}.container_12 .suffix_6,.container_16 .suffix_8{padding-right:480px}.container_12 .suffix_9,.container_16 .suffix_12{padding-right:720px}.container_12 .suffix_1{padding-right:80px}.container_12 .suffix_2{padding-right:160px}.container_12 .suffix_4{padding-right:320px}.container_12 .suffix_5{padding-right:400px}.container_12 .suffix_7{padding-right:560px}.container_12 .suffix_8{padding-right:640px}.container_12 .suffix_10{padding-right:800px}.container_12 .suffix_11{padding-right:880px}.container_16 .suffix_1{padding-right:60px}.container_16 .suffix_2{padding-right:120px}.container_16 .suffix_3{padding-right:180px}.container_16 .suffix_5{padding-right:300px}.container_16 .suffix_6{padding-right:360px}.container_16 .suffix_7{padding-right:420px}.container_16 .suffix_9{padding-right:540px}.container_16 .suffix_10{padding-right:600px}.container_16 .suffix_11{padding-right:660px}.container_16 .suffix_13{padding-right:780px}.container_16 .suffix_14{padding-right:840px}.container_16 .suffix_15{padding-right:900px}.container_12 .push_3,.container_16 .push_4{left:240px}.container_12 .push_6,.container_16 .push_8{left:480px}.container_12 .push_9,.container_16 .push_12{left:720px}.container_12 .push_1{left:80px}.container_12 .push_2{left:160px}.container_12 .push_4{left:320px}.container_12 .push_5{left:400px}.container_12 .push_7{left:560px}.container_12 .push_8{left:640px}.container_12 .push_10{left:800px}.container_12 .push_11{left:880px}.container_16 .push_1{left:60px}.container_16 .push_2{left:120px}.container_16 .push_3{left:180px}.container_16 .push_5{left:300px}.container_16 .push_6{left:360px}.container_16 .push_7{left:420px}.container_16 .push_9{left:540px}.container_16 .push_10{left:600px}.container_16 .push_11{left:660px}.container_16 .push_13{left:780px}.container_16 .push_14{left:840px}.container_16 .push_15{left:900px}.container_12 .pull_3,.container_16 .pull_4{left:-240px}.container_12 .pull_6,.container_16 .pull_8{left:-480px}.container_12 .pull_9,.container_16 .pull_12{left:-720px}.container_12 .pull_1{left:-80px}.container_12 .pull_2{left:-160px}.container_12 .pull_4{left:-320px}.container_12 .pull_5{left:-400px}.container_12 .pull_7{left:-560px}.container_12 .pull_8{left:-640px}.container_12 .pull_10{left:-800px}.container_12 .pull_11{left:-880px}.container_16 .pull_1{left:-60px}.container_16 .pull_2{left:-120px}.container_16 .pull_3{left:-180px}.container_16 .pull_5{left:-300px}.container_16 .pull_6{left:-360px}.container_16 .pull_7{left:-420px}.container_16 .pull_9{left:-540px}.container_16 .pull_10{left:-600px}.container_16 .pull_11{left:-660px}.container_16 .pull_13{left:-780px}.container_16 .pull_14{left:-840px}.container_16 .pull_15{left:-900px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1}
View
69 css/native.css
@@ -0,0 +1,69 @@
+.codehilite .hll { background-color: #404040 }
+.codehilite .c { color: #999999; font-style: italic } /* Comment */
+.codehilite .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+.codehilite .g { color: #d0d0d0 } /* Generic */
+.codehilite .k { color: #6ab825; font-weight: bold } /* Keyword */
+.codehilite .l { color: #d0d0d0 } /* Literal */
+.codehilite .n { color: #d0d0d0 } /* Name */
+.codehilite .o { color: #d0d0d0 } /* Operator */
+.codehilite .x { color: #d0d0d0 } /* Other */
+.codehilite .p { color: #d0d0d0 } /* Punctuation */
+.codehilite .cm { color: #999999; font-style: italic } /* Comment.Multiline */
+.codehilite .cp { color: #cd2828; font-weight: bold } /* Comment.Preproc */
+.codehilite .c1 { color: #999999; font-style: italic } /* Comment.Single */
+.codehilite .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
+.codehilite .gd { color: #d22323 } /* Generic.Deleted */
+.codehilite .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
+.codehilite .gr { color: #d22323 } /* Generic.Error */
+.codehilite .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
+.codehilite .gi { color: #589819 } /* Generic.Inserted */
+.codehilite .go { color: #cccccc } /* Generic.Output */
+.codehilite .gp { color: #aaaaaa } /* Generic.Prompt */
+.codehilite .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
+.codehilite .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
+.codehilite .gt { color: #d22323 } /* Generic.Traceback */
+.codehilite .kc { color: #6ab825; font-weight: bold } /* Keyword.Constant */
+.codehilite .kd { color: #6ab825; font-weight: bold } /* Keyword.Declaration */
+.codehilite .kn { color: #6ab825; font-weight: bold } /* Keyword.Namespace */
+.codehilite .kp { color: #6ab825 } /* Keyword.Pseudo */
+.codehilite .kr { color: #6ab825; font-weight: bold } /* Keyword.Reserved */
+.codehilite .kt { color: #6ab825; font-weight: bold } /* Keyword.Type */
+.codehilite .ld { color: #d0d0d0 } /* Literal.Date */
+.codehilite .m { color: #3677a9 } /* Literal.Number */
+.codehilite .s { color: #ed9d13 } /* Literal.String */
+.codehilite .na { color: #bbbbbb } /* Name.Attribute */
+.codehilite .nb { color: #24909d } /* Name.Builtin */
+.codehilite .nc { color: #447fcf; text-decoration: underline } /* Name.Class */
+.codehilite .no { color: #40ffff } /* Name.Constant */
+.codehilite .nd { color: #ffa500 } /* Name.Decorator */
+.codehilite .ni { color: #d0d0d0 } /* Name.Entity */
+.codehilite .ne { color: #bbbbbb } /* Name.Exception */
+.codehilite .nf { color: #447fcf } /* Name.Function */
+.codehilite .nl { color: #d0d0d0 } /* Name.Label */
+.codehilite .nn { color: #447fcf; text-decoration: underline } /* Name.Namespace */
+.codehilite .nx { color: #d0d0d0 } /* Name.Other */
+.codehilite .py { color: #d0d0d0 } /* Name.Property */
+.codehilite .nt { color: #6ab825; font-weight: bold } /* Name.Tag */
+.codehilite .nv { color: #40ffff } /* Name.Variable */
+.codehilite .ow { color: #6ab825; font-weight: bold } /* Operator.Word */
+.codehilite .w { color: #666666 } /* Text.Whitespace */
+.codehilite .mf { color: #3677a9 } /* Literal.Number.Float */
+.codehilite .mh { color: #3677a9 } /* Literal.Number.Hex */
+.codehilite .mi { color: #3677a9 } /* Literal.Number.Integer */
+.codehilite .mo { color: #3677a9 } /* Literal.Number.Oct */
+.codehilite .sb { color: #ed9d13 } /* Literal.String.Backtick */
+.codehilite .sc { color: #ed9d13 } /* Literal.String.Char */
+.codehilite .sd { color: #ed9d13 } /* Literal.String.Doc */
+.codehilite .s2 { color: #ed9d13 } /* Literal.String.Double */
+.codehilite .se { color: #ed9d13 } /* Literal.String.Escape */
+.codehilite .sh { color: #ed9d13 } /* Literal.String.Heredoc */
+.codehilite .si { color: #ed9d13 } /* Literal.String.Interpol */
+.codehilite .sx { color: #ffa500 } /* Literal.String.Other */
+.codehilite .sr { color: #ed9d13 } /* Literal.String.Regex */
+.codehilite .s1 { color: #ed9d13 } /* Literal.String.Single */
+.codehilite .ss { color: #ed9d13 } /* Literal.String.Symbol */
+.codehilite .bp { color: #24909d } /* Name.Builtin.Pseudo */
+.codehilite .vc { color: #40ffff } /* Name.Variable.Class */
+.codehilite .vg { color: #40ffff } /* Name.Variable.Global */
+.codehilite .vi { color: #40ffff } /* Name.Variable.Instance */
+.codehilite .il { color: #3677a9 } /* Literal.Number.Integer.Long */
View
1 css/reset.css
@@ -0,0 +1 @@
+html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}
View
228 css/site.css
@@ -0,0 +1,228 @@
+body {
+ font-family: cronos-pro, verdana, geneva, sans-serif;
+ font-size: 20px;
+ line-height: 1.3;
+ color: #757373;
+ background-color: #FEFDFD;
+}
+
+code {
+ font-size: 14px;
+ font-family: anonymous-pro, courier;
+}
+
+div.highlight {
+ padding: 10px;
+}
+
+div.highlight pre {
+ margin-bottom: 0px;
+}
+
+sup {
+ font-size: 12px;
+ vertical-align: super;
+}
+
+table.highlighttable {
+ width: 100%;
+ background-color: #002b36;
+ font-size: 12px;
+ margin-bottom: 0px;
+ font-size: 14px;
+ font-family: anonymous-pro, courier;
+}
+
+div.linenodiv pre {
+ line-height: 125%;
+ margin-bottom: 0px;
+ padding: 10px;
+ background-color: #073642;
+ text-align: right;
+ color: #586e75;
+}
+
+div.linenodiv pre code {
+ text-align: right;
+ color: #586e75;
+}
+
+/*
+ * HEADING
+ */
+
+div.header {
+ font-family: p22-fllw-eaglefeather, verdana, geneva, sans-serif;
+ text-align: center;
+ margin-top: 20px;
+ margin-bottom: 40px;
+}
+
+div.header p.heading {
+ margin-bottom: 0px;
+ font-size: 40px;
+}
+
+div.header p.subheading {
+ font-variant: small-caps;
+ margin-bottom: 0px;
+}
+
+div.header p.subheading a:link {
+ text-decoration: none;
+ color: #555;
+}
+
+div.header p.subheading a:visited {
+ text-decoration: none;
+ color: #555;
+}
+
+div.header p.subheading a:active {
+ font-weight: bold;
+ text-decoration: none;
+ color: #555;
+}
+
+div.header p.subheading a:hover {
+ text-decoration: underline;
+ color: #555;
+}
+
+
+/*
+ * POST
+ */
+
+div.post {
+ text-align: justify;
+}
+
+div.post h1 {
+ font-variant: small-caps;
+ color: #2A2A2A;
+ font-size: 30px;
+}
+
+div.post h2 {
+ font-variant: small-caps;
+ color: #2A2A2A;
+ font-size: 25px;
+}
+
+div.post h3 {
+ font-variant: small-caps;
+ color: #2A2A2A;
+ font-size: 20px;
+}
+
+div.post code {
+ color: #890103;
+}
+
+div.post tt {
+ color: #890103;
+}
+
+div.post a {
+ color: #890103;
+ text-decoration: none;
+}
+
+div.post a:link {
+ color: #890103;
+ text-decoration: none;
+}
+
+div.post a:visited {
+ color: #890103;
+ text-decoration: none;
+}
+
+div.post a:hover {
+ color: #890103;
+ text-decoration: underline;
+}
+
+div.post a:active {
+ color: #890103;
+ text-decoration: none;
+}
+
+/*
+ * POST TITLE
+ */
+
+div.post p.title {
+ color: #2A2A2A;
+ font-variant: small-caps;
+ font-size: 35px;
+ text-align: left;
+}
+
+div.post p.title a:link {
+ color: #2A2A2A;
+ text-decoration: none;
+}
+
+div.post p.title a:visited {
+ color: #2A2A2A;
+ text-decoration: none;
+}
+
+div.post p.title a:hover {
+ color: #2A2A2A;
+ text-decoration: underline;
+}
+
+div.post p.title a:active {
+ color: #2A2A2A;
+ text-decoration: none;
+}
+
+/*
+ * POST DATE
+ */
+
+div.postdate {
+ font-size: 12px;
+ text-align: center;
+}
+
+div.twitter {
+ text-align: center;
+}
+/*
+ * FOOTER
+ */
+
+div.footer {
+ color: #757373;
+ font-size: 12px;
+ text-align: center;
+}
+
+div.footer a {
+ color: #890103;
+ text-decoration: none;
+}
+
+div.footer a:link {
+ color: #890103;
+ text-decoration: none;
+}
+
+div.footer a:visited {
+ color: #890103;
+ text-decoration: none;
+}
+
+div.footer a:hover {
+ color: #890103;
+ text-decoration: underline;
+}
+
+div.footer a:active {
+ color: #890103;
+ text-decoration: none;
+}
View
69 css/solarized-dark.css
@@ -0,0 +1,69 @@
+.hll { background-color: #ffffcc }
+.c { color: #586E75 } /* Comment */
+.err { color: #93A1A1 } /* Error */
+.g { color: #93A1A1 } /* Generic */
+.k { color: #859900 } /* Keyword */
+.l { color: #93A1A1 } /* Literal */
+.n { color: #93A1A1 } /* Name */
+.o { color: #859900 } /* Operator */
+.x { color: #CB4B16 } /* Other */
+.p { color: #93A1A1 } /* Punctuation */
+.cm { color: #586E75 } /* Comment.Multiline */
+.cp { color: #859900 } /* Comment.Preproc */
+.c1 { color: #586E75 } /* Comment.Single */
+.cs { color: #859900 } /* Comment.Special */
+.gd { color: #2AA198 } /* Generic.Deleted */
+.ge { color: #93A1A1; font-style: italic } /* Generic.Emph */
+.gr { color: #DC322F } /* Generic.Error */
+.gh { color: #CB4B16 } /* Generic.Heading */
+.gi { color: #859900 } /* Generic.Inserted */
+.go { color: #93A1A1 } /* Generic.Output */
+.gp { color: #93A1A1 } /* Generic.Prompt */
+.gs { color: #93A1A1; font-weight: bold } /* Generic.Strong */
+.gu { color: #CB4B16 } /* Generic.Subheading */
+.gt { color: #93A1A1 } /* Generic.Traceback */
+.kc { color: #CB4B16 } /* Keyword.Constant */
+.kd { color: #268BD2 } /* Keyword.Declaration */
+.kn { color: #859900 } /* Keyword.Namespace */
+.kp { color: #859900 } /* Keyword.Pseudo */
+.kr { color: #268BD2 } /* Keyword.Reserved */
+.kt { color: #DC322F } /* Keyword.Type */
+.ld { color: #93A1A1 } /* Literal.Date */
+.m { color: #2AA198 } /* Literal.Number */
+.s { color: #2AA198 } /* Literal.String */
+.na { color: #93A1A1 } /* Name.Attribute */
+.nb { color: #B58900 } /* Name.Builtin */
+.nc { color: #268BD2 } /* Name.Class */
+.no { color: #CB4B16 } /* Name.Constant */
+.nd { color: #268BD2 } /* Name.Decorator */
+.ni { color: #CB4B16 } /* Name.Entity */
+.ne { color: #CB4B16 } /* Name.Exception */
+.nf { color: #268BD2 } /* Name.Function */
+.nl { color: #93A1A1 } /* Name.Label */
+.nn { color: #93A1A1 } /* Name.Namespace */
+.nx { color: #93A1A1 } /* Name.Other */
+.py { color: #93A1A1 } /* Name.Property */
+.nt { color: #268BD2 } /* Name.Tag */
+.nv { color: #268BD2 } /* Name.Variable */
+.ow { color: #859900 } /* Operator.Word */
+.w { color: #93A1A1 } /* Text.Whitespace */
+.mf { color: #2AA198 } /* Literal.Number.Float */
+.mh { color: #2AA198 } /* Literal.Number.Hex */
+.mi { color: #2AA198 } /* Literal.Number.Integer */
+.mo { color: #2AA198 } /* Literal.Number.Oct */
+.sb { color: #586E75 } /* Literal.String.Backtick */
+.sc { color: #2AA198 } /* Literal.String.Char */
+.sd { color: #93A1A1 } /* Literal.String.Doc */
+.s2 { color: #2AA198 } /* Literal.String.Double */
+.se { color: #CB4B16 } /* Literal.String.Escape */
+.sh { color: #93A1A1 } /* Literal.String.Heredoc */
+.si { color: #2AA198 } /* Literal.String.Interpol */
+.sx { color: #2AA198 } /* Literal.String.Other */
+.sr { color: #DC322F } /* Literal.String.Regex */
+.s1 { color: #2AA198 } /* Literal.String.Single */
+.ss { color: #2AA198 } /* Literal.String.Symbol */
+.bp { color: #268BD2 } /* Name.Builtin.Pseudo */
+.vc { color: #268BD2 } /* Name.Variable.Class */
+.vg { color: #268BD2 } /* Name.Variable.Global */
+.vi { color: #268BD2 } /* Name.Variable.Instance */
+.il { color: #2AA198 } /* Literal.Number.Integer.Long */
View
1 css/text.css
@@ -0,0 +1 @@
+body{font:13px/1.5 'Helvetica Neue',Arial,'Liberation Sans',FreeSans,sans-serif}a:focus{outline:1px dotted}hr{border:0 #ccc solid;border-top-width:1px;clear:both;height:0}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}ol{list-style:decimal}ul{list-style:disc}li{margin-left:30px}p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset{margin-bottom:20px}
View
83 index.html
@@ -0,0 +1,83 @@
+<html>
+ <head>
+ <title>Blog</title>
+ <link rel="stylesheet" href="/css/reset.css" />
+ <link rel="stylesheet" href="/css/text.css" />
+ <link rel="stylesheet" href="/css/960.css" />
+ <link rel="stylesheet" href="/css/site.css" />
+ <link rel="stylesheet" href="/css/solarized-dark.css" />
+ <script type="text/javascript" src="http://use.typekit.com/agp6fkg.js"></script>
+ <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
+ </head>
+ <body>
+ <div class="container_12">
+ <div class="header grid_10 push_1">
+ <p class="heading">Tim Sharpe</p>
+ <p class="subheading">
+ <a href="/">Home</a>
+ ::
+ <a href="/projects/">Projects</a>
+ ::
+ <a href="http://uniqueviewsofreality.com">Photos</a>
+ ::
+ <a href="/about/">About Me</a>
+ </p>
+ </div>
+ <div class="clear"></div>
+
+ <div class="post">
+ <div class="grid_9 push_1">
+ <p class="title"><a href="/2011/01/02/distributing-augeas-lenses-with-pluginsync/">Distributing Augeas lenses with Puppet's pluginsync</a></p>
+ </div>
+ <div class="postdate grid_1">
+ <p>
+ 02
+ <br />
+ Jan 2011
+ </p>
+ </div>
+ <div class="clear"></div>
+ <div class="grid_10 push_1">
+ <p>Sick of having to write <code>file</code> resources to distribute the Augeas lenses that your module depends on? Why not use Puppet&#8217;s pluginsync functionality to distribute them with the rest of your module?</p>
+
+<p>Under your module&#8217;s <code>lib</code> directory, create the following directory structure</p>
+
+<pre><code>modules/&lt;module&gt;/lib/
+ augeas/
+ lenses/</code></pre>
+
+<p>Your module should now look like this:</p>
+
+<pre><code>modules/&lt;module&gt;/manifests/
+ templates/
+ lib/
+ puppet/
+ facter/
+ augeas/
+ lenses/</code></pre>
+
+<p>Drop your Augeas lenses into this <code>lenses</code> directory and Puppet will distribute them to all your clients automatically. Now we just need to tell Augeas where to find these lenses.</p>
+
+<p>The easiest way to go about this is to set a default <code>load_path</code> value for Augeas type. To do that, add the following to your <code>site.pp</code>.</p>
+<table class='highlighttable'><tr><td class='linenos'><div class='linenodiv'><pre><code class='ruby'>1
+2
+3</code></pre></div></td><td class='code'><div class='highlight'><pre><span class='no'>Augeas</span> <span class='p'>{</span>
+ <span class='n'>load_path</span> <span class='o'>=&gt;</span> <span class='s2'>&quot;/usr/share/augeas/lenses:${settings::vardir}/augeas/lenses&quot;</span><span class='p'>,</span>
+<span class='p'>}</span>
+</pre></div>
+</td></tr></table>
+<p>Note: Puppet will display an error for each lens during runs as it&#8217;ll try to load them as Ruby files. It&#8217;s noisy, but it&#8217;s not a fatal error. I&#8217;m hoping to find an easy way to prevent this.</p>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ <div class="grid_8 push_2"><hr /></div>
+
+
+ <div class="footer grid_8 push_2">
+ <p>Copyright 2011 Tim Sharpe</p>
+ <p>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.</p>
+ </div>
+ </div>
+ </body>
+</html>
View
79 projects/index.html
@@ -0,0 +1,79 @@
+<html>
+ <head>
+ <title>Projects</title>
+ <link rel="stylesheet" href="/css/reset.css" />
+ <link rel="stylesheet" href="/css/text.css" />
+ <link rel="stylesheet" href="/css/960.css" />
+ <link rel="stylesheet" href="/css/site.css" />
+ <link rel="stylesheet" href="/css/solarized-dark.css" />
+ <script type="text/javascript" src="http://use.typekit.com/agp6fkg.js"></script>
+ <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
+ </head>
+ <body>
+ <div class="container_12">
+ <div class="header grid_10 push_1">
+ <p class="heading">Tim Sharpe</p>
+ <p class="subheading">
+ <a href="/">Home</a>
+ ::
+ <a href="/projects/">Projects</a>
+ ::
+ <a href="http://uniqueviewsofreality.com">Photos</a>
+ ::
+ <a href="/about/">About Me</a>
+ </p>
+ </div>
+ <div class="clear"></div>
+ <div class="post">
+ <div class="grid_9 push_1">
+ <p class="title">Projects</p>
+ </div>
+ <div class="postdate grid_1">
+ <p>
+
+ <br />
+
+ </p>
+ </div>
+ <div class="clear"></div>
+ <div class="grid_10 push_1">
+ <h2 id='aussiesms'>aussiesms</h2>
+
+<p>A Ruby wrapper for the <a href='http://aussiesms.com.au'>AussieSMS</a> API.</p>
+
+<p><a href='https://github.com/rodjek/aussiesms/'>GitHub</a> :: <a href='http://rubygems.org/gems/aussiesms'>RubyGems</a></p>
+
+<h2 id='grok'>grok</h2>
+
+<p>A Ruby-based event log correlator with a very simple but powerful DSL.</p>
+
+<p><a href='https://github.com/rodjek/grok/'>GitHub</a> :: <a href='http://rubygems.org/gems/grok'>RubyGems</a></p>
+
+<h2 id='puppetfunc'>puppet-func</h2>
+
+<p>A <a href='http://puppetlabs.com'>Puppet</a> module to turn your Puppetmaster into a <a href='https://fedorahosted.com/func/'>Func</a> overlord and your Puppets into Func minions.</p>
+
+<p><a href='https://github.com/rodjek/puppet-func/'>GitHub</a> :: <a href='http://forge.puppetlabs.com/rodjek/func'>Puppet Forge</a></p>
+
+<h2 id='puppetlint'>puppet-lint</h2>
+
+<p>A tool to check your Puppet manifests against the Puppet Labs style guide and alert you to any discrepancies.</p>
+
+<p><a href='https://github.com/rodjek/puppet-lint/'>GitHub</a> :: <a href='http://rubygems.org/gems/puppet-lint/'>Rubygems</a></p>
+
+<h2 id='rspecpuppet'>rspec-puppet</h2>
+
+<p>RSpec tests for your Puppet manifests.</p>
+
+<p><a href='https://github.com/rodjek/rspec-puppet/'>GitHub</a> :: <a href='http://rubygems.org/gems/rspec-puppet'>Rubygems</a></p>
+ </div>
+ <div class="clear"></div>
+ </div>
+ <div class="footer grid_8 push_2">
+ <hr />
+ <p>Copyright 2011 Tim Sharpe</p>
+ <p>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.</p>
+ </div>
+ </div>
+ </body>
+</html>

0 comments on commit d2bb803

Please sign in to comment.
Something went wrong with that request. Please try again.