ofborg/php
2021-04-01 21:10:04 -07:00
..
web Webhook: create an 'unknown' queue for collecting weird messages 2018-03-05 07:39:35 -05:00
composer-env.nix Remove usage of stdenv.lib 2021-04-01 21:10:04 -07:00
composer.json Package up dependencies with composer2nix 2018-08-08 13:28:14 -04:00
composer.lock Package up dependencies with composer2nix 2018-08-08 13:28:14 -04:00
default.nix Remove usage of stdenv.lib 2021-04-01 21:10:04 -07:00
php-packages.nix Package up dependencies with composer2nix 2018-08-08 13:28:14 -04:00
README.md php: add README.md explaining the configuration 2020-10-06 14:05:43 -07:00

Webhook Receiver

This PHP code receives the GitHub webhook, checks them for integrity and publishes messages on rabbitmq.

Configuration

The code expects a config.php in it's parent directory. An example configuration looks like this:

<?php

require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPSSLConnection;
use PhpAmqpLib\Message\AMQPMessage;

function rabbitmq_conn($timeout = 3) {
    $host = 'events.nix.gsc.io';
    $connection = new AMQPSSLConnection(
        $host, 5671,
        'eventsuser, eventspassword, '/',
        array(
            'verify_peer' => true,
            'verify_peer_name' => true,
            'peer_name' => $host,
            'verify_depth' => 10,
            'ca_file' => '/etc/ssl/certs/ca-certificates.crt',
        ), array(
            'connection_timeout' => $timeout,
        )
    );
    return $connection;
}

function gh_secret() {
    return "github webhook secret";
}