ofborg/php
Andreas Rammhold b405973d44 php: add README.md explaining the configuration
It was lost in the `Not you: team` change. It probably makes sense to
keep this documented as people involved in this project might change
over time and sometimes memory can also be blurry :)
2020-10-06 14:05:43 -07:00
..
web Webhook: create an 'unknown' queue for collecting weird messages 2018-03-05 07:39:35 -05:00
composer-env.nix Package up dependencies with composer2nix 2018-08-08 13:28:14 -04: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 Update to current nixpkgs-unstable 2020-02-21 17:10:45 +01: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";
}