Forge Home


Manage systems using luet package manager


1,783 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.2.0 (latest)
  • 0.1.0
released Nov 27th 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
  • Puppet >= 4.10.0 < 7.0.0
  • MocaccinoOS
  • cleanup
  • update

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'optiz0r-luet', '0.2.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add optiz0r-luet
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install optiz0r-luet --version 0.2.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



optiz0r/luet — version 0.2.0 Nov 27th 2020


Table of Contents

  1. Description
  2. Setup - The basics of getting started with luet
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module


This module provides providers for managing repositories and packages on systems using the luet package manager.


What luet affects

This module can manage installation of the luet package manager on both systems where luet is made available via native packages, or any other system via manual installation.

It can be used to install/remove packages using the luet package manager, and luet repositories (which are themselves managed via packages).

Setup requirements

Install this module using your Puppetfile or puppet module tool.

This module has very modest dependencies which will very likely be preinstalled on your system anyway.

Beginning with luet

The very basic steps needed for a user to get the module up and running. This can include setup steps, if necessary, or it can be an example of the most basic use of the module.


Include usage examples for common use cases in the Usage section. Show your users how to use your module to solve problems, and be sure to include code examples. Include three to five examples of the most important or common tasks a user can accomplish with your module. Show users how to accomplish more complex tasks that involve different types, classes, and functions working in tandem.

Installing luet

If luet is not already installed this module can install it for you. This is not enabled by default and must be explicitly requested. If luet is packaged for your operating system, you can install it by setting the install_method to repo. If luet is not packaged, it can still be installed using the install script from the mocaccino website using install_method set to source.

# Install from a repository using your OS default package manager
class { 'luet':
  manage_install => true,
  install_method => 'repo',

# Install from mocaccino website
class { 'luet':
  manage_install => true,
  install_method => 'source',

Where you are managing the installation of luet yourself, or it comes pre-installed for example on a MocaccinoOS system, you can use luet simply with the following.

include luet

Migrating from another supported package manager

Luet has support from migrating the list of installed packages from other package managers to aid in migration. At the moment, the only supported system by both luet and this module is Sabayon's Entropy package manager.

You can migrate from entropy to luet using one of the following methods.

When installing luet, specify the migrate_from parameter:

class { 'luet':
    manage_install => true,
    migrate_from   => ['entropy'],

Alternatively you can include the relevant migration class directly. This method might be more suitable if you're using an ENC, or including classes from hiera.

include luet::migrate::entropy

This module will ensure that migration is done before any packages are installed when the luet provider is specified explicitly. If you are not specifying a provider and rely on the OS autodetection to select the luet provider, you might want to make package installations depend on Class['luet::ready'] to prevent packages being installed before the migration is run.

Enabling luet repositories

For official luet repositories which are listed in the default repository index shipped with luet, you can install these using the puppet package resource. These packages use the repository category, so you can install them like this:

package { 'mocaccino-portage-stable':
  ensure   => present,
  category => 'repository',
  name     => 'mocaccino-portage-stable';

Installing packages using luet

package { 'foo':
  ensure   => installed,
  provider => 'luet',
  # As an example, this package might require the above repository to be installed first
  require  => Package['mocaccino-portage-stable'];

This module will suggest luet as the default package manager where luet is the primary package manager, e.g. on MocaccinoOS.

You can explicitly set the luet provider to be used when installing a package, as shown above.


Both this module and luet itself are under under development and functionality may be limited. Pull requests to extend or enhance the module are welcome.