richardpayment / satis-hook
Requires
- php: ^8.0.2
- monolog/monolog: ^3.7.0
- nette/http: ^3.3
- symfony/console: ^7.1
- symfony/finder: ^7.1
- symfony/process: ^7.1
- symfony/yaml: ^7.1
This package is not auto-updated.
Last update: 2024-11-10 18:45:12 UTC
README
Simple app for rebuilding composer/satis via webhook.
- No database required
Install
Install composer package
composer require shopen-group/satis-hook dev-develop
Create config
# config.yaml secret: enabled: true # secret token is enabled location: param # location of "secret" parameter (param|header) value: veslo # secret value name: key # secret parameter name satis: php: /usr/bin/php bin: ../satis/bin/satis config: ../satis.json output: ../web
Create entrypoint
Our entrypoint will be hook.php
which is publicly accessible via HTTP.
ApplicationFactory::createApplication has three parameters. You can customise the first two of them.
- path to config.yaml
- path to writable TEMP folder (for storing requests)
<?php declare(strict_types=1); require_once __DIR__ . '/vendor/autoload.php'; use ShopenGroup\SatisHook\ApplicationFactory; $application = ApplicationFactory::createApplication(__DIR__ . '/config.yaml', __DIR__ . '/temp', __DIR__ . '/logs', $argc); $application->run();
Usage
Webhook
The app is accepting GET and POST requests through https://127.0.0.1/hook.php
.
There is an optional parameter "build-all". If the "build-all" parameter is present in request you can build all packages not necessarily just one particular package (http:/127.0.0.1/hook.php?repository=package/name
).
Queue process
There is a second "layer" of application - queue processing. To start processing accepted requests you have to run command below via CLI.
php hook.php satis-hook:build
We use supervisord to keep queue processing up.