badpixxel/paddock-system

Paddock - System Extension (Services, PHP, Apt-Get)

Maintainers

Package info

gitlab.com/paddock-project/paddock-system

Type:bundle

pkg:composer/badpixxel/paddock-system

Transparency log

Statistics

Installs: 5 798

Dependents: 2

Suggesters: 0

Stars: 1

4.0.0 2026-07-20 16:44 UTC

This package is auto-updated.

Last update: 2026-07-20 14:48:33 UTC


README

Paddock extension for monitoring Linux & PHP servers: PHP configuration, system packages, services, and shell commands.

This package provides two bundles:

  • PaddockPhpBundle — inspect the PHP runtime (version, config, extensions, env, composer packages)
  • PaddockShellBundle — inspect the host system (apt packages, services, lsb release, shell commands)

Requirements

  • PHP 8.1+
  • badpixxel/paddock-core ^5.0 (Symfony 5.4 → 8.x)
VersionPHPPaddock CoreStatus
5.x^8.1^5.0Active
4.x^7.44.xMaintenance

Installation

composer require badpixxel/paddock-system

Available Collectors

PHP (PaddockPhpBundle)

CodeCollected Data
system-php-constantPHP constants (PHP_VERSION, PHP_INT_SIZE, ...)
system-php-configPHP ini configuration values
system-php-extLoaded PHP extensions
system-php-envEnvironment variables
system-php-composerInstalled composer packages versions

Shell (PaddockShellBundle)

CodeCollected Data
system-shellAny shell command output (via cmd rule)
system-apt-versionInstalled apt packages versions
system-apt-updatesAvailable apt packages updates
system-lsb-releaseDistribution info (lsb_release)
system-serviceSystem services status

Usage Examples

Check the PHP runtime of a server:

tracks:

    my-php-checks:
        collector:      "system-php-constant"
        description:    "Check PHP Version"
        rules:
            PHP_VERSION:    { rule: version, gt: { error: "8.1.0" } }

    my-php-extensions:
        collector:      "system-php-ext"
        description:    "Check Required PHP Extensions"
        rules:
            curl:           { ne: true }
            json:           { ne: true }

Check system packages & services:

tracks:

    my-system-checks:
        collector:      "system-apt-version"
        description:    "Check Installed Packages"
        rules:
            php8.1-cli:     { rule: version, gte: { warning: "8.1" } }

    my-services:
        collector:      "system-service"
        description:    "Check Services are Running"
        rules:
            nginx:          { ne: { error: true } }
            mysql:          { ne: { warning: true } }

Run a custom shell command check:

tracks:

    my-shell-checks:
        collector:      "system-shell"
        description:    "Custom Shell Verifications"
        rules:
            php-version:    { collector: system-shell, rule: cmd, cmd: ["php", "--version"], ne: true }

More examples in tests/*/Resources/tracks/ and tests/*/Tracks/.

Development & Tests

All checks run identically in CI and locally: the GitLab pipeline executes the exact same commands as the docker containers (one per Symfony version, 5.4 → 8.x):

# Start all containers & run everything (composer, quality, tests)
make verify

# Run PhpUnit tests in all containers
make test

# Quality suites (GrumPHP: lint, code style, PhpStan)
php vendor/bin/grumphp run --testsuite=travis
php vendor/bin/grumphp run --testsuite=csfixer
php vendor/bin/grumphp run --testsuite=phpstan

# PhpUnit testsuites
vendor/bin/phpunit --testsuite=integration
vendor/bin/phpunit --testsuite=operational

License

Paddock is released under the MIT License.