Skip to content

Instantly share code, notes, and snippets.

View ffi.patch
diff --git a/augeas/ffi.py b/augeas/ffi.py
index 6f4b639..6d145a1 100644
--- a/augeas/ffi.py
+++ b/augeas/ffi.py
@@ -5,7 +5,8 @@ ffi.set_source("augeas",
"""
#include <augeas.h>
""",
- libraries=['augeas'])
+ libraries=['augeas'],
@lutter
lutter / ssh_authorized_key.prov
Last active Mar 4, 2017
Sketch of a libral provider using mruby
View ssh_authorized_key.prov
#! /usr/bin/env mruby
# -*- ruby -*-
class SshAuthorizedKey
AUTH_KEYS=".ssh/authorized_keys"
LENS="Authorized_keys"
# All methods that get called by the runtime get a context argument that
# provides access to convenience methods
@lutter
lutter / idempotent.rb
Created Oct 28, 2016
Idempotent augeas
View idempotent.rb
# We want a function that makes it easier to write down how
# to make idempotent changes with augeas rather than the
# clunky mechanism the augeas Puppet type gives you today.
#
# I was thinking we could achieve this with a function like the following:
augchange(
:find => "/files/etc/hosts/*[ipaddr = '127.0.0.1']",
:create => ["ins 01 before /files/etc/hosts/*[1]",
"set /files/etc/hosts/01/ipaddr 127.0.0.1"],
:tree => {
@lutter
lutter / shell
Created Jun 7, 2016
Puppet augeas and ODBC inst
View shell
> puppet apply /tmp/test.pp
Notice: Compiled catalog for host.example.com in environment production in 0.04 seconds
Error: /Stage[main]/Main/Augeas[oracle odbc driver config]: Could not evaluate: Saving failed, see debug
Notice: Applied catalog in 0.02 seconds
# The debug information shows that the tree correctly has a node { "Oracle" { "Driver Logging" = "7" } }
# The failure comes from the Augeas ODBC lens which does not allow spaces in the names of the entries.
# Please file a bug at https://github.com/hercules-team/augeas/issues to make sure this gets addressed
View forge-latest
#! /usr/bin/ruby
# To use this, untar the forge backup tarball from
# http://forge-dl-backup.s3-website-us-west-2.amazonaws.com/ somewhere and
# then run this script, passing the name of the directory where you
# unpacked the tarball.
#
# The script will print the names of the latest version of each tarball;
# you can feed that into something like 'xargs -iF tar xf DIR/F'
@lutter
lutter / TestMessages_de.properties
Last active May 26, 2016
Test resources for i18n
View TestMessages_de.properties
# test/puppetlabs/i18n/TestMessages_en.properties
msg1=Das ist deutsch
View loc.cc
#include <locale>
#include <boost/locale.hpp>
int main() {
boost::locale::generator gen;
std::locale loc = gen("");
std::string lang = std::use_facet<boost::locale::info>(loc).language();
std::string country = std::use_facet<boost::locale::info>(loc).country();
std::cout << "Locale: " << loc.name() << std::endl;
View keybase.md

Keybase proof

I hereby claim:

  • I am lutter on github.
  • I am lutter (https://keybase.io/lutter) on keybase.
  • I have a public key ASAMdYOKJIvnSEUJQf8C8NeUA6UwsXyEw_DgOMYhgzUr9go

To claim this, I am signing this object:

View lamp.pp
application lamp (
$parameter = 'default',
){
$names = [ 'one', 'two' 'three' ]
$names.each |name| {
site::apache { $name:
export => Http[$name],
}
View pe-helpers.clj
(ns user
(:require [puppetlabs.http.client.sync :as http]
[clojure.java.io :as io]
[cheshire.core :as json]))
(def dir "/home/lutter/code/deployer/LOCAL/puppet-master/ssl")
(def config
{
:ssl-config