Last active
August 29, 2015 13:57
-
-
Save jonstorer/9538288 to your computer and use it in GitHub Desktop.
fetch all keys
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
node_modules/* | |
keys |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
v0.10.26 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env coffee | |
# | |
# HOW TO USE: | |
# | |
# ORG=my-org TOKEN=my-token ./index.coffee > ssh_keys | |
# | |
organization = process.env.ORG | |
token = process.env.TOKEN | |
request = require('request') | |
async = require('async') | |
calls = [] | |
base_url = 'https://api.github.com' | |
params = | |
headers: | |
'User-Agent': 'Authroized Keys Generator' | |
qs: | |
oauth_token: token | |
# Pivotal 847672 | |
# Shake Engineering 517688 | |
# Consultants 808621 | |
teams = [ | |
847672 | |
517688 | |
808621 | |
] | |
fetchMembers = (id, done) -> | |
request.get "#{base_url}/teams/#{id}/members", params, (err, response) -> | |
return done err if err | |
done null, (member.login for member in JSON.parse(response.body)) | |
fetchKeys = (login, done) -> | |
request.get "#{base_url}/users/#{login}/keys", params, (err, response) -> | |
res = {} | |
res[login] = (row.key for row in JSON.parse(response.body)) | |
done null, res | |
async.map teams, fetchMembers, (err, teams) -> | |
members = {} | |
members[member] = member for member in [].concat.apply([], teams) | |
async.map Object.keys(members), fetchKeys, (err, results) -> | |
console.log '### THIS FILE IS AUTOMATICALLY GENERATED' | |
for result in results | |
for login, keys of result | |
console.log '' | |
console.log "### #{login}" | |
console.log key for key in keys |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "github_keys", | |
"version": "0.0.0", | |
"description": "", | |
"main": "index.coffee", | |
"scripts": { | |
"test": "echo \"Error: no test specified\" && exit 1" | |
}, | |
"homepage": "https://gist.github.com/9538288", | |
"repository": { | |
"type": "git", | |
"url": "https://gist.github.com/9538288.git" | |
}, | |
"author": "", | |
"license": "ISC", | |
"bugs": { | |
"url": "https://gist.github.com/9538288" | |
}, | |
"dependencies": { | |
"async": "0.2.9", | |
"coffee-script": "1.6.3", | |
"request": "2.34.0" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
👍