• Stars
    star
    362
  • Rank 117,671 (Top 3 %)
  • Language
    Go
  • License
    MIT License
  • Created about 8 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A tool for performing actions on GitHub repos or a single repo.

pepper

make-all make-image GoDoc Github All Releases

Named after Pepper Potts. A tool for performing actions on GitHub repos or a single repo.

Actions include:

You can set which orgs to include and use --dry-run to see the changes before they are actually made. Your user is automatically added to the repositories it will consider.

Also see genuinetools/audit for checking what collaborators, hooks, deploy keys, and protected branched you have added on all your GitHub repositories.

Table of Contents

Table of Contents

Installation

Binaries

For installation instructions from binaries please visit the Releases Page.

Via Go

$ go get github.com/genuinetools/pepper

Usage

$ pepper -h
pepper -  A tool for performing actions on GitHub repos or a single repo.

Usage: pepper <command>

Flags:

  -d, --debug  enable debug logging (default: false)
  --dry-run    do not change settings just print the changes that would occur (default: false)
  --nouser     do not include your user (default: false)
  --orgs       organizations to include (default: [])
  -r, --repo   specific repo (e.g. 'genuinetools/img') (default: <none>)
  -t, --token  GitHub API token (or env var GITHUB_TOKEN) (default: <none>)
  -u, --url    GitHub Enterprise URL (default: <none>)

Commands:

  audit          Audit collaborators, branches, hooks, deploy keys etc.
  collaborators  Add a collaborator to all the repositories.
  merge          Update all merge settings to allow specific types only.
  protect        Protect the master branch.
  release        Update the release body information.
  version        Show the version information.

Protect

Protect all master branches.

$ pepper protect --dry-run --token 12345 --orgs jessconf --orgs maintainerati
[OK] jessconf/jessconf:master is already protected
[OK] genuinetools/.vim:master is already protected
[OK] genuinetools/anonymail:master is already protected
[OK] genuinetools/apk-file:master is already protected
[UPDATE] genuinetools/certok:master will be changed to protected
...
[OK] genuinetools/weather:master is already protected
[OK] genuinetools/ykpiv:master is already protected
[OK] maintainerati/wontfix-cabal-site:master is already protected

Audit

Audit collaborators, branches, hooks, deploy keys etc.

$ pepper audit -r genuinetools/img
genuinetools/img -> 
        Collaborators (7):
                Admin (2):
                        jessfraz
                        j3ssb0t
                Write (5):
                        bketelsen
                        gabrtv
                        bacongobbler
                        sajayantony
                        AkihiroSuda
                Read (0):

        Hooks (4):
                travis - active:true (https://api.github.com/repos/genuinetools/img/hooks/22351842)
                jenkins - active:true (https://api.github.com/repos/genuinetools/img/hooks/22351967)
                web - active:true (https://api.github.com/repos/genuinetools/img/hooks/38652766)
                web - active:true (https://api.github.com/repos/genuinetools/img/hooks/38654028)
        Protected Branches (1): master
        Merge Methods: squash

Collaborators

Add a collaborator to all the repositories.

$ pepper collaborators -h
Usage: pepper collaborators [OPTIONS] COLLABORATOR

Add a collaborator to all the repositories.

Flags:

  --admin      Team members can pull, push and administer this repository (default: false)
  -d, --debug  enable debug logging (default: false)
  --dry-run    do not change settings just print the changes that would occur (default: false)
  --nouser     do not include your user (default: false)
  --orgs       organizations to include (default: [])
  --pull       Team members can pull, but not push to or administer this repository (default: false)
  --push       Team members can pull and push, but not administer this repository (default: false)
  -r, --repo   specific repo (e.g. 'genuinetools/img') (default: <none>)
  -t, --token  GitHub API token (or env var GITHUB_TOKEN) (default: <none>)
  -u, --url    GitHub Enterprise URL (default: <none>)
$ pepper collaborators --dry-run --admin j3ssb0t
...t 
[UPDATE] jessfraz/blog will have j3ssb0t added as a collaborator (admin)
[UPDATE] jessfraz/bolt will have j3ssb0t added as a collaborator (admin)
[UPDATE] jessfraz/boulder will have j3ssb0t added as a collaborator (admin)
[UPDATE] jessfraz/buildkit will have j3ssb0t added as a collaborator (admin)
[UPDATE] jessfraz/cadvisor will have j3ssb0t added as a collaborator (admin)
...

Merge

Update all merge settings to allow specific types only.

$ pepper merge -h
Usage: pepper merge [OPTIONS]

Update all merge settings to allow specific types only.

Flags:

  --commits    Allow merge commits, add all commits from the head branch to the base branch with a merge commit (default: false)
  -d, --debug  enable debug logging (default: false)
  --dry-run    do not change settings just print the changes that would occur (default: false)
  --nouser     do not include your user (default: false)
  --orgs       organizations to include (default: [])
  -r, --repo   specific repo (e.g. 'genuinetools/img') (default: <none>)
  --rebase     Allow rebase merging, add all commits from the head branch onto the base branch individually (default: false)
  --squash     Allow squash merging, combine all commits from the head branch into a single commit in the base branch (default: false)
  -t, --token  GitHub API token (or env var GITHUB_TOKEN) (default: <none>)
  -u, --url    GitHub Enterprise URL (default: <none>)
$ pepper merge --dry-run --squash
UPDATE] jessfraz/.vim will be changed to squash
[OK] jessfraz/1up is already set to squash
[UPDATE] jessfraz/acs-engine will be changed to squash
[UPDATE] jessfraz/acs-ignite-demos will be changed to squash
[UPDATE] jessfraz/apparmor-docs will be changed to squash
[UPDATE] jessfraz/baselayout will be changed to squash
...

Update Release

Update the release body according to the template.

$ pepper release --repo genuinetools/img
Updated release v0.5.0/v0.5.0 for repo: genuinetools/img

More Repositories

1

img

Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder.
Go
3,885
star
2

binctr

Fully static, unprivileged, self-contained, containers as executable binaries.
Go
2,512
star
3

reg

Docker registry v2 command line client and repo listing generator with security checks.
Go
1,648
star
4

bane

Custom & better AppArmor profile generator for Docker containers.
Go
1,149
star
5

amicontained

Container introspection tool. Find out what container runtime is being used as well as features available.
Go
979
star
6

weather

Weather via the command line.
Go
959
star
7

contained.af

A stupid game for learning about containers, capabilities, and syscalls.
JavaScript
893
star
8

bpfd

Framework for running BPF programs with rules on Linux as a daemon. Container aware.
Go
471
star
9

audit

For auditing what collaborators, hooks, and deploy keys you have added on all your GitHub repositories.
Go
336
star
10

ghb0t

A GitHub Bot to automatically delete your fork's branches after a pull request has been merged.
Makefile
286
star
11

sshb0t

A bot for keeping your ssh authorized_keys up to date with user's GitHub keys, **only** use if you enable 2FA & keep your keys updates.
Makefile
280
star
12

riddler

A tool to convert docker inspect to the opencontainers runc spec.
Go
253
star
13

netns

Runc hook (OCI compatible) for setting up default bridge networking for containers.
Go
223
star
14

certok

Command line tool to check the validity and expiration dates of SSL certificates.
Go
159
star
15

apk-file

Search apk package contents via the command line.
Makefile
107
star
16

udict

A command line urban dictionary.
Makefile
106
star
17

bpfps

A tool to list and diagnose bpf programs. (Who watches the watchers..? :)
Makefile
94
star
18

1up

A custom Gmail spam filter bot.
Go
78
star
19

releases

Server to show latest GitHub Releases for a set of repositories.
Go
64
star
20

upmail

Email notification hook for https://github.com/sourcegraph/checkup.
Makefile
61
star
21

magneto

Pipe runc (OCI compatible) events to a stats TUI (Text User Interface).
Go
46
star
22

pkg

A home for various Go packages to be imported by other projects.
Go
36
star
23

www

This is the public website for genuine tools.
HTML
21
star