/puppet-quota

The Puppet module sets the quota on any given user or group

Primary LanguageRubyApache License 2.0Apache-2.0

Quota

Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Reference
  6. Limitations
  7. Contributors

Overview

This module installs the quota type and provider to let you manage the quota settings of the users and groups on your server infrastructure.

Module Description

We use this module to set the block and inode quota for users and groups on our servers. This module does not enable quota on the systems so this is still an action that should be performed manually.

Setup

What quota affects

  • This module handles the installation of the following packages
    • Debian
      • quota
      • quotatool
    • Red Hat
      • quota
  • Apart from that this module sets the quota type and provider that can be used to st the block and inode limits per user/group

Setup Requirements

Make sure that you have already manually enabled quota on the disk/volume where you wish to manage the quota with this module.

Usage

Include the class to ensure the required package(s) are installed, then use the quota resource type to specify your rule(s).

Example:

class { '::quota': }

quota { 'username': 
  name             => 'username',
  ensure           => 'present',
  type             => 'user',
  filesystem       => '/srv/nfs',
  remote           => false,
  inode_soft_limit => '0',
  inode_hard_limit => '0',
  block_soft_limit => '94371840',
  block_hard_limit => '104857600',
}

Reference

  • name: This can be filled up with either a username, groupname, UID or GID
  • ensure: Values can be present or absent
  • type: Can be user or group
  • filesystem: The location of the volume where quota will be set
  • remote: true or false to determine if we are dealing with a remote filesystem
  • inode_soft_limit: Should be an integer (0 = unlimited)
  • inode_hard_limit: Should be an integer (0 = unlimited)
  • block_soft_limit: Should be an integer in bytes (0 = unlimited)
  • block_hard_limit: Should be an integer in bytes (0 = unlimited)

Limitations

This module with its type and provider have only been tested on Debian systems.

Contributors