Skip to content

Instantly share code, notes, and snippets.

View raphink's full-sized avatar
🐝
eBPF everything!

Raphaël Pinson raphink

🐝
eBPF everything!
View GitHub Profile
Augeas.open do |aug|
aug.match('/files/etc/default//#comment').each_with_index do |p, i|
aug.set("/comments/raw/#{i}", "#{aug.get(p)}\n")
aug.text_store('Shellvars.lns', "/comments/raw/#{i}", "/comments/tree/#{i}")
end
end
@raphink
raphink / download.sh
Created December 10, 2013 22:49
Download tarballs from the Puppet Forge to put in a local forge for https://github.com/dalen/simple-puppet-forge
#!/bin/bash
URL=$1
# ugly parsing
IFS='/' read prot empty serv user mod tarball <<<"$URL"
mkdir -p "$user/$mod"
wget "$URL" -O "$user/$mod/$user-$mod-$tarball"
#!/usr/bin/env ruby
require 'mcollective'
include MCollective::RPC
mc = rpcclient('fsfreeze')
mc.discovery_method = 'mc'
all_nodes = mc.discover.clone
require 'mcollective'
include MCollective::RPC
c = rpcclient("rpcutil")
c.discovery_method="mc"
all_nodes = c.discover.clone
all_nodes.in_groups_of(5) do |nodes|
$ augtool -I lenses/ --transform "Desktop.lns incl /usr/share/app-install/desktop/vagalume:vagalume.desktop" print /files/usr/share/app-install/desktop/vagalume:vagalume.desktop/files/usr/share/app-install/desktop/vagalume:vagalume.desktop
/files/usr/share/app-install/desktop/vagalume:vagalume.desktop/Desktop Entry
/files/usr/share/app-install/desktop/vagalume:vagalume.desktop/Desktop Entry/X-AppInstall-Package = "vagalume"
/files/usr/share/app-install/desktop/vagalume:vagalume.desktop/Desktop Entry/X-AppInstall-Popcon = "41"
/files/usr/share/app-install/desktop/vagalume:vagalume.desktop/Desktop Entry/X-AppInstall-Section = "universe"
/files/usr/share/app-install/desktop/vagalume:vagalume.desktop/Desktop Entry/Version = "1.0"
/files/usr/share/app-install/desktop/vagalume:vagalume.desktop/Desktop Entry/Type = "Application"
/files/usr/share/app-install/desktop/vagalume:vagalume.desktop/Desktop Entry/Categories = "Audio;AudioVideo;GNOME;GTK;Application;Player;"
/files/usr/share/app-install/desktop/vagalume:vagal
1.9.2-p320 :001 > require 'puppet/file_serving/metadata'
=> true
1.9.2-p320 :002 > metadata = Puppet::FileServing::Metadata.new('/etc/passwd', :path => '/etc/passwd')
=> #<Puppet::FileServing::Metadata:0x00000003ec5538 @owner=nil, @group=nil, @mode=nil, @checksum_type="md5", @ftype=nil, @destination=nil, @path="/etc/passwd", @links=:manage>
1.9.2-p320 :003 > metadata.collect
=> "{md5}dddc7650ed8195d4c3738c4bbe1beebd"
export GH_USER="raphink"
## Github helpers
function gh_exists_remote {
local repo="$1"
git remote | grep -q "^${repo}$" \
&& return 0 || return 1
}
@raphink
raphink / crm.rb
Last active December 26, 2015 09:59 — forked from mbornoz/crm.rb
# crm_support: true/nil
# Whether there is Pacemaker installed
Facter.add('crm_support') do
confine :kernel => :linux
setcode do
not Facter::Util::Resolution.exec('which crm_resource').empty?
end
end
require 'facter/util/ip'
Facter.add(:ipaddresses) do
setcode do
Facter::Util::IP.get_interfaces.map { |i|
Facter::Util::IP.get_interface_value(i, 'ipaddress')
}.select { |v| v }.join(',')
end
end
<html>
<head>
<script src="base64.js"></script>
<script src="underscore-min.js"></script>
<script src="github.js"></script>
<script language="JavaScript">
var github = new Github({
username: "youruser",
password: "yourpasswd"
})