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

Server installed:
  type: package.Installed
  name: nginx

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

Server running:
  type: service.Running
  name: nginx
  enable: true
  require:
    - Server installed
    - Config file installed

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.