Code Monkey home page Code Monkey logo

rsyslog_role's Introduction

Logo

Build Status Ansible Galaxy

RSYSLOG Ansible role

This Ansible role installs a RSYSLOG server in a Debian environment.

Getting Started

These instructions will get you a copy of the role for your Ansible playbook. Once launched, it will install a RSYSLOG server in a Debian system.

Prerequisities

Ansible 4.0.0 version installed. Inventory destination should be a Debian environment.

For testing purposes, Molecule with Docker as driver.

Installing

Create or add to your roles dependency file (e.g requirements.yml):

- src: idealista.rsyslog_role
  version: 2.2.0
  name: rsyslog

Install the role with ansible-galaxy command:

ansible-galaxy install -p roles -r requirements.yml -f

Use in a playbook:

---
- hosts: someserver
  roles:
    - { role: rsyslog }

Usage

Look to the defaults vars file to see the possible configuration vars.

Testing

$ pipenv sync
$ MOLECULE_DISTRO=(debian8|debian9|debian10) pipenv run molecule test

Note: Debian9 (Debian Stretch) will be used as default linux distro if none is provided.

See molecule.yml to check possible testing platforms.

Built With

Ansible Molecule

Versioning

For the versions available, see the tags on this repository.

Additionaly you can see what change in each version in the CHANGELOG.md file.

Authors

See also the list of contributors who participated in this project.

License

Apache 2.0 License

This project is licensed under the Apache 2.0 license - see the LICENSE file for details.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

rsyslog_role's People

Contributors

dortegau avatar jmonterrubio avatar marcelogalmor avatar miguel-chacon avatar santi-eidu avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mason-splunk

rsyslog_role's Issues

Double slash on variable rsyslog_included_config_template_path

Prerequisites

Description

[Description of the issue]
rsyslog_included_config_template_path variable have double slash when concatenate:

rsyslog_include_config_path: /etc/rsyslog.d
rsyslog_included_config_template_path: "{{ playbook_dir }}/templates/{{ rsyslog_include_config_path }}"

Service enabling depends on service installation

Prerequisites

Description

If RSYSLOG was installed after role was launched, but the service is not enable, it's impossible to enable that service

Steps to Reproduce

  1. Launch this role on instances with rsyslog previously installed (but with the service disabled)
  2. Check that the service is not enabled

Expected behavior: It would be nice if we provide a way to configure if service should be enabled or not

Actual behavior: Service is enabled only if rsyslog is installed

Reproduces how often:
100%

Versions

1.0.0

[FEATURE] multifunctional role

Description

We have created a playbook that runs on ubuntu:focal image and it fails the idempotency at the point of "Ensure rsyslog dirs exist".
After "Install rsyslog core package", on ubuntu the directories have syslog:adm permissions, and on debian they have root:root permissions.

Why is this needed?

Then the role will work correctly on both debian and ubuntu.

Additional Information

N/A

Fix rsyslog user creation

Prerequisites

Description

At this moment, if rsyslog_user is defined, it's created invariably with /bin/false shell. Even when it is a good security practice, it can be an issue in some situations i.e. when rsyslog_user is root. It is needed a fix in order to select the proper shell for the user.

Steps to Reproduce

  1. Define rsyslog_user: root
  2. Run the playbook

Expected behavior:
root runs rsyslog without user config modifications

Actual behavior:
root runs rsyslog, but root has now a /bin/false shell

Versions

It happens always in all versions

Additional Information

N/A

Version updates

Prerequisites

Description

Update requirements versions: ansible, molecule, goss... and update metadata.

Additional Information

Security fixes.

[FEATURE] Parameterize config template and file permissions

Description

[Description of the issue]

Add log files permissions with variable and general config template as a variable.

Why is this needed?

[A clear and concise description of why do you think this is needed]

General config in rsyslog is not easy to edit.

Additional Information

[Any additional information, configuration or data.]

Not breaking change in the role, just added configuration as variables

OS dependent variables management

Prerequisites

Description

Because the role loads the full package names (with major, minor and build versions) with include_vars from vars directory, it's difficult to get updates using the same role because variable precedence. I think it's more useful to store in that vars only the name of the package, and allow setting versions via host/group vars, etc.

Add support to Debian Jessie

Prerequisites

Description

Currently this role doesn't support Debian Jessie because 8.24.0-1 version isn't available in APT repositories. Last version available for Debian Jessie is v8.4.2.

Steps to Reproduce

  1. Launch this role on a Debian Jessie instance
  2. It fails because rsyslog v8.24.0-1 isn't available in APT

Expected behavior: Rsyslog is installed

Actual behavior: It fails

Reproduces how often: 100%

Versions

<= v1.1.0

Additional Information

https://packages.debian.org/jessie/rsyslog

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.