yokai/safe-command-bundle

Prevent from running dangerous commands, or unwanted environment, based on configuration.

v2.0.0 2024-01-05 09:23 UTC

This package is auto-updated.

Last update: 2024-12-02 16:01:00 UTC


README

Tests Coverage Contributors

License Latest Stable Version Current Unstable Version Downloads Monthly Total Downloads

Did you find yourself ashamed, running command in the wrong environment ?

"Oups... I dropped the database in the prod environment..." - A guy that lost his job

This bundle want to help. Using configuration, define commands that you are not expecting to be used in your environment.

That's it...

Installation

Add the bundle as dependency with Composer

composer require yokai/safe-command-bundle

Enable the bundle in the kernel

<?php
// config/bundles.php

return [
    // ...
    Yokai\SafeCommandBundle\YokaiSafeCommandBundle::class => ['prod' => true],
];

Note

The bundle is enabled only for prod here, but you are free to do whatever you want.

Configuration

The bundle comes with some commands disabled by default (from Symfony's standards).

That "standard" command list can be overridden:

# config/packages/yokai_safe_command.yaml
when@prod:
    yokai_safe_command:
        standard: []

Note

"standard" disabled commands are viewable via the command:

bin/console config:dump-reference yokai_safe_command

And you can also add your own commands to the list:

# config/packages/yokai_safe_command.yaml
when@prod:
    yokai_safe_command:
        custom:
          - 'vendor:my:dev-command'
          - 'app:my:dev-command'

Note

standard and custom configs are merged together to create the final list of disabled commands.

License

This library is under MIT LICENSE.

Authors

The bundle was originally created by Yann Eugoné.

See the list of contributors.