Skip to content

merlinz01/redpepper

Repository files navigation

RedPepper

GitHub license GitHub release GitHub issues GitHub pull requests GitHub contributors Code coverage

RedPepper logo

RedPepper is a state-based configuration management system written in Python. It has two basic components: a central manager and one or more agents on controlled servers. Redpepper is used to distribute configuration to servers and ensure that the servers remain in a consistent state.

RedPepper is inspired by Salt but aims to be more flexible and easy-to-use.

RedPepper has a REST API for integration with tools or user interfaces. RedPepper comes with an integrated web UI built with Vue.js for managing the system.

Agents view

Commands view

Data editor view

Please note: This project is currently being beta-tested and the bugs are being worked out. You can help by testing RedPepper in your own use case and opening issues when you find a flat spot.

Documentation

See https://merlinz01.github.io/redpepper.

Installation

Installation scripts are provided in the setup directory. See Installation for installation instructions.

Usage

RedPepper's user interface is the RedPepper Console, which is installed with the Manager. See the documentation for the console.

Configuration

See Configuration for more info.

Sample state file

- Nginx:
    - Packages:
        type: package.Installed
        name: nginx
    - Config file:
        type: file.Installed
        source: file-stored-on-manager.conf
        path: /etc/nginx/installed-by-redpepper.conf
        user: nginx
        group: nginx
        mode: 0600
        if:
          all:
            - py: not sys.platform.startswith('win')
            - not file exists: /some/other/file
    - Server running:
        type: service.Running
        name: nginx

Security

RedPepper aims to be fully secure by default where possible.

See SECURITY.md and Security Features for more info.

License

RedPepper is licensed under the MIT license.