https://github.com/bodgit/puppet-zfs
Puppet Module for managing ZFS
https://github.com/bodgit/puppet-zfs
puppet zfs zpool zpool-scrub
Last synced: 7 months ago
JSON representation
Puppet Module for managing ZFS
- Host: GitHub
- URL: https://github.com/bodgit/puppet-zfs
- Owner: bodgit
- License: apache-2.0
- Created: 2014-12-11T10:41:08.000Z (about 11 years ago)
- Default Branch: main
- Last Pushed: 2021-06-24T10:45:49.000Z (over 4 years ago)
- Last Synced: 2025-04-17T19:17:37.313Z (11 months ago)
- Topics: puppet, zfs, zpool, zpool-scrub
- Language: Ruby
- Homepage: https://forge.puppet.com/bodgit/zfs
- Size: 292 KB
- Stars: 6
- Watchers: 2
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# zfs
[](https://github.com/bodgit/puppet-zfs/actions?query=workflow%3ATest)
[](https://codecov.io/gh/bodgit/puppet-zfs)
[](https://forge.puppetlabs.com/bodgit/zfs)
[](https://forge.puppetlabs.com/bodgit/zfs)
[](https://forge.puppetlabs.com/bodgit/zfs)
#### Table of Contents
1. [Description](#description)
2. [Setup - The basics of getting started with zfs](#setup)
* [What zfs affects](#what-zfs-affects)
* [Setup requirements](#setup-requirements)
* [Beginning with zfs](#beginning-with-zfs)
3. [Usage - Configuration options and additional functionality](#usage)
4. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#development)
## Description
This module currently ensures that the ZFS packages available from
[zfsonlinux.org](http://zfsonlinux.org) are installed and configured.
RHEL/CentOS, Ubuntu and Debian are supported using Puppet 5 or later. On
RHEL/CentOS platforms there is support for installing the kABI-tracking kernel
modules as opposed to the default of DKMS-style kernel modules.
## Setup
### What zfs affects
This module will install kernel modules which utilises the DKMS framework to
accomplish this. This means kernel headers, toolchains, etc. will be installed.
### Setup Requirements
You will need pluginsync enabled. On RHEL/CentOS platforms you will need to
have access to the EPEL repository by using
[puppet/epel](https://forge.puppet.com/puppet/epel) or by other means to
use the DKMS-style kernel modules. On Debian you will need to enable
backports using
[puppetlabs/apt](https://forge.puppet.com/puppetlabs/apt) with something like:
```puppet
class { 'apt::backports':
repos => 'main contrib',
pin => 990,
before => Class['zfs'],
}
```
### Beginning with zfs
In the very simplest case, you can just include the following:
```puppet
include zfs
```
## Usage
For example on RHEL/CentOS to instead install the kABI-tracking kernel modules
and tune the ARC, you can do:
```puppet
class { 'zfs':
kmod_type => 'kabi',
zfs_arc_max => to_bytes('256 M'),
zfs_arc_min => to_bytes('128 M'),
}
```
To also install the ZFS Event Daemon (zed):
```puppet
include zfs
include zfs::zed
```
## Reference
The reference documentation is generated with
[puppet-strings](https://github.com/puppetlabs/puppet-strings) and the latest
version of the documentation is hosted at
[https://bodgit.github.io/puppet-zfs/](https://bodgit.github.io/puppet-zfs/)
and available also in the [REFERENCE.md](https://github.com/bodgit/puppet-zfs/blob/main/REFERENCE.md).
## Limitations
This module has been built on and tested against Puppet 5 and higher.
The module has been tested on:
* Red Hat/CentOS Enterprise Linux 6/7/8
* Ubuntu 16.04/18.04/20.04
* Debian 9/10
## Development
The module relies on [PDK](https://puppet.com/docs/pdk/1.x/pdk.html) and has
both [rspec-puppet](http://rspec-puppet.com) and
[Litmus](https://github.com/puppetlabs/puppet_litmus) tests. Run them
with:
```
$ bundle exec rake spec
$ bundle exec rake litmus:*
```
Please log issues or pull requests at
[github](https://github.com/bodgit/puppet-zfs).