(WIP) Extremely simple unixway GitHub webhook listener for push event

(WIP) puffy

Puffy is an extremely simple unixway GitHub webhook listener and handler for push events

Todo

  • Add payload signature validation (WIP)

Dependencies

  • golang

Installation

Simply run install.sh script to install puffy. The script will:

  • Build puffy binary and move it to /usr/bin/puffy
  • Create puffy directory at /etc/ and copy its config file to it
  • Copy puffy.service to /etc/systemd/system/ directory

Usage

1: Configuration

First you need to configure puffy. Configuration file is in TOML, so, primarily get acquainted with toml specification

Open /etc/puffy/config.toml (this is where it is located by default) with your favourite text editor:

host = "0.0.0.0"  # optional
port = 8080
endpoint = "/"  # optional

[[repo]]
name = "username/repo-name"
secret = "my super secret"
exec = "/usr/bin/touch /root/hewwo-cutie^^"

[[repo]]
name = "username/repo-name"
secret = "qwerty12345"
exec = "/home/user/scripts/script.sh"

Edit fields as you want! A new repository can be added under [[repo]] line. Please be sure to indicate name, secret and exec fields.

Also note, that after every configuration edits you need to restart puffy

2: Running with systemd

When everything is set up, it's time to use the program what it is for was made. Puffy is in general meant to be used as a systemd service.

At first start it:

sudo systemctl start puffy.service

You can check its status if you want to make sure everything's fine:

systemctl status puffy.service

And after that, you probably would like to enable it, so that it starts with the start of the server

sudo systemctl enable puffy.service

3: Uninstalling

puffy can be easily uninstalled via uninstall.sh script. Just run it.

...

Similar Resources

Go-github-actions - `go-github-actions` is a package for developing GitHub Actions

go-github-actions go-github-actions is a package for developing GitHub Actions.

Feb 6, 2022

[WIP] Cheap, portable and secure NAS based on the Raspberry Pi Zero - with encryption, backups, and more

PortaDisk - Affordable Raspberry Pi Portable & Secure NAS Project Project Status: Early work in progress. web-unlock is still not ready for production

Nov 23, 2022

WIP: project fabrication tool

fab fabricate a new project from a template... in a fabulous way :-) setup The first time on a machine, fab can be initialized via # on unix os's this

Jan 25, 2022

WIP Go implementation of CSIRAC as a virtual machine.

CSIRAC A work-in-progress Go implementation of CSIRAC, as described in The Last of the First - CSIRAC: Australia's First Computer. The intention is to

Jan 4, 2022

[WIP] Basic Echo CRUD template (no pagination)

echo-crud-template [WIP] Basic Echo CRUD template (no pagination) Overview Based on https://github.com/xesina/golang-echo-realworld-example-app. Echo

Jan 11, 2022

WIP - Pin - local pipeline project with Docker Golang API.

WIP - Pin - local pipeline project with Docker Golang API.

pin 🔥 WIP - Local pipeline project with Docker Golang API. 🌐 Installation Download latest release You can download latest release from here Install

May 28, 2022

Simple webhook to block exploitation of CVE-2022-0811

webhook-cve-2022-0811 This is a really simple webhook that just blocks pod creation if malicious sysctl values are configured. Build go test CGO_ENABL

Nov 9, 2022

Small tool to pull/push several projects in one go

gitTool Small tool to push and pull several projects in one go. Written in Go 1.17 by Roy Dybing Contact: location name/handle github: rDybing linked

Dec 28, 2021

K8s-network-config-operator - Kubernetes network config operator to push network config to switches

Kubernetes Network operator Will add more to the readme later :D Operations The

May 16, 2022
Huawei-push-authorizator - Huawei Push Kit authorizator in time

huawei-push-authorizator Huawei Push Kit authorizator in time Why? To send push

Jan 3, 2022
webhook is a lightweight incoming webhook server to run shell commands
webhook is a lightweight incoming webhook server to run shell commands

What is webhook? webhook is a lightweight configurable tool written in Go, that allows you to easily create HTTP endpoints (hooks) on your server, whi

Jan 5, 2023
A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers
A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers

k8s-vault-webhook is a Kubernetes admission webhook which listen for the events related to Kubernetes resources for injecting secret directly from sec

Oct 15, 2022
Kubernetes webhook development (validating admission webhook) tutorial using kubewebhook

pod-exec-guard-kubewebhook-tutorial Introduction This is a tutorial that shows how to develop a Kubernetes admission webhook. To explain this, the tut

Aug 26, 2022
Tcpdump-webhook - Toy Sidecar Injection with Mutating Webhook

tcpdump-webhook A simple demonstration of Kubernetes Mutating Webhooks. Injects

Feb 8, 2022
Webhook-server - Webhook Server for KubeDB resources

webhook-server Webhook Server for KubeDB resources Installation To install KubeD

Feb 22, 2022
KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
 KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes

Kubernetes-based Event Driven Autoscaling KEDA allows for fine-grained autoscaling (including to/from zero) for event driven Kubernetes workloads. KED

Jan 7, 2023
Small and easy server for web-hooks to deploy software on push from gitlab/github/hg and so on

Deployment mini-service This mini web-server is made to deploy your code without yaml-files headache. If you just need to update your code somewhere a

Dec 4, 2022
Jan 4, 2022
High-performance GitHub webhook events toolset for Go :rocket:
High-performance GitHub webhook events toolset for Go :rocket:

githubevents GitHub webhook events toolset for Go githubevents is a webhook events toolset for the Go programming language inspired by octokit/webhook

Dec 24, 2022