summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2014-09-06 00:39:14 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2014-09-06 00:39:14 -0400
commitac4dcb64a8f6c07dfe50e9005dc4246f21ebf84e (patch)
tree8d9144bf1ab4c881f076ae2b7927516d764d89e0 /bin
parent4b70501e432eb5fd9ed04a4afbadafabd982e9fc (diff)
Split hackers.yml into users/#{uid}.yml
Diffstat (limited to 'bin')
-rwxr-xr-xbin/get-pgp-keyid9
-rwxr-xr-xbin/meta-check (renamed from bin/check-format)4
-rwxr-xr-xbin/meta-normalize-stdio34
-rwxr-xr-xbin/normalize-stdio31
-rwxr-xr-xbin/pgp-get-keyid-by-uid5
-rwxr-xr-xbin/pgp-list-keyids (renamed from bin/list-pgp-keyids)7
-rwxr-xr-xbin/ssh-list-authorized-keys (renamed from bin/list-ssh-authorized-keys)6
-rwxr-xr-xbin/uid-map10
8 files changed, 57 insertions, 49 deletions
diff --git a/bin/get-pgp-keyid b/bin/get-pgp-keyid
deleted file mode 100755
index 3aec3a1..0000000
--- a/bin/get-pgp-keyid
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env ruby
-# Usage: get-keyid {username}
-cfg_hackers="hackers.yml"
-
-######################################################################
-
-require 'yaml'
-
-puts YAML::load(open(cfg_hackers)).find{|u|u["username"] == ARGV[0]}["pgp_keyid"]
diff --git a/bin/check-format b/bin/meta-check
index 06b880a..3eeb4c1 100755
--- a/bin/check-format
+++ b/bin/meta-check
@@ -1,5 +1,5 @@
#!/bin/bash
-cfg_hackers="hackers.yml"
+# TODO: update to the split YAML files
######################################################################
@@ -10,7 +10,7 @@ ret=0
norm=$(mktemp --tmpdir)
trap "rm -f -- $(printf '%q' "$norm")" EXIT
-"$(dirname "$0")/normalize-stdio" < "$file" > "$norm" || exit 1
+"$(dirname "$0")/meta-normalize-stdio" < "$file" > "$norm" || exit 1
usernames=($(<"$norm" sed -n 's/^[ -] username: //p' | sort))
diff --git a/bin/meta-normalize-stdio b/bin/meta-normalize-stdio
new file mode 100755
index 0000000..0bb94ce
--- /dev/null
+++ b/bin/meta-normalize-stdio
@@ -0,0 +1,34 @@
+#!/usr/bin/env ruby
+require 'yaml'
+
+core_order = [ "username",
+ "fullname",
+ "email", # ordered list
+ "groups", # unordered list
+ "pgp_keyid",
+ "pgp_revoked_keyids", # unordered list
+ "ssh_keys", # unordered map
+ "extra" ] # unordered map
+
+extra_order = [ "alias",
+ "other_contact",
+ "roles",
+ "website",
+ "occupation",
+ "yob",
+ "location",
+ "languages",
+ "interests",
+ "favorite_distros" ]
+
+_core_order = Hash[[*core_order.map.with_index]]
+_extra_order = Hash[[*extra_order.map.with_index]]
+
+user = YAML::load(STDIN)
+user = Hash[user.sort_by{|k,v| _core_order[k]}]}
+user["groups"] = user["groups"].sort if user["groups"]}
+user["pgp_revoked_keyids"] = user["pgp_revoked_keyids"].sort if user["extra"]}
+user["ssh_keys"] = Hash[user["ssh_keys"].sort_by{|k,v| k}] if user["ssh_keys"]}
+user["extra"] = Hash[user["extra"].sort_by{|k,v| _extra_order[k]}] if user["extra"]}
+
+print user.to_yaml
diff --git a/bin/normalize-stdio b/bin/normalize-stdio
deleted file mode 100755
index 23a240e..0000000
--- a/bin/normalize-stdio
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env ruby
-require 'yaml'
-
-core_order = [ "username",
- "fullname",
- "email",
- "groups",
- "pgp_keyid",
- "pgp_revoked_keyids",
- "ssh_keys",
- "extra" ]
-
-extra_order = [ "alias",
- "other_contact",
- "roles",
- "website",
- "occupation",
- "yob",
- "location",
- "languages",
- "interests",
- "favorite_distros" ]
-
-_core_order = Hash[[*core_order.map.with_index]]
-_extra_order = Hash[[*extra_order.map.with_index]]
-
-print YAML::load(STDIN)
- .sort_by{|u| u["username"]}
- .map{|u| Hash[u.sort_by{|k,v| _core_order[k]}]}
- .each{|u|u["extra"] = Hash[u["extra"].sort_by{|k,v| _extra_order[k]}] if u["extra"]}
- .to_yaml
diff --git a/bin/pgp-get-keyid-by-uid b/bin/pgp-get-keyid-by-uid
new file mode 100755
index 0000000..1dea99f
--- /dev/null
+++ b/bin/pgp-get-keyid-by-uid
@@ -0,0 +1,5 @@
+#!/usr/bin/env ruby
+# Usage: pgp-get-keyid-by-uid {uid}
+
+require 'yaml'
+puts YAML::load(open("users/#{ARGV[0]}.yml"))["pgp_keyid"]
diff --git a/bin/list-pgp-keyids b/bin/pgp-list-keyids
index 1a3dfbd..93bc292 100755
--- a/bin/list-pgp-keyids
+++ b/bin/pgp-list-keyids
@@ -1,6 +1,5 @@
#!/usr/bin/env ruby
-# Usage: list-keyids
-cfg_hackers="hackers.yml"
+# Usage: pgp-list-keyids
cfg_groups = {
:trusted => [ "hackers", "bots" ],
:secondary => [ "trustedusers" ]
@@ -9,7 +8,9 @@ cfg_groups = {
######################################################################
require 'yaml'
-YAML::load(open(cfg_hackers)).each do |user|
+users = Dir.glob("users/*.yml").map{|f|YAML::load(open(f))}
+
+users.each do |user|
if user["groups"]
if ! (user["groups"] & cfg_groups[:trusted]).empty?
puts "trusted/#{user["username"]} #{user["pgp_keyid"]}"
diff --git a/bin/list-ssh-authorized-keys b/bin/ssh-list-authorized-keys
index 0722b4f..fc329f2 100755
--- a/bin/list-ssh-authorized-keys
+++ b/bin/ssh-list-authorized-keys
@@ -1,13 +1,11 @@
#!/usr/bin/env ruby
-# Usage: list-ssh-authorized-keys [username]
-cfg_hackers="hackers.yml"
+# Usage: ssh-list-authorized-keys [username]
cfg_groups = [ "hackers", "bots" ]
######################################################################
-
require 'yaml'
-users = YAML::load(open(cfg_hackers))
+users = Dir.glob("users/*.yml").map{|f|YAML::load(open(f))}
if ARGV[0]
users = users.find_all{|u|u["username"] == ARGV[0]}
diff --git a/bin/uid-map b/bin/uid-map
new file mode 100755
index 0000000..90dd472
--- /dev/null
+++ b/bin/uid-map
@@ -0,0 +1,10 @@
+#!/usr/bin/env ruby
+# Usage: uid-map
+
+require 'yaml'
+
+users = Dir.glob("users/*.yml").each do |filename|
+ uid = filename.sub(/users\/([0-9]*)\.yml/, "\\1").to_i
+ user = YAML::load(open(filename))
+ puts "#{uid}:#{user["username"]}"
+end