puppet-module-apptainer

Table of Contents

  1. Overview

  2. Usage - Configuration options

  3. Reference - Parameter and detailed reference to all options

Overview

This module manages the apptainer installation and configuration of apptainer.conf.

RedHat and Debian (except Debian 10) based systems will by default install from apptainer package

Debian 10 will by default install from source

Usage

apptainer

Install and configure apptainer.

include apptainer

For both package and source installs, it's best to define the desired version. This Puppet module supports both upgrades and downgrades of Apptainer.

apptainer::version: '1.0.1'

The following Hiera example of building from source (default for Debian 10) with several additional options passed.

golang::version: '1.19.2'
apptainer::version: '1.0.1'
apptainer::install_method: source
apptainer::build_flags:
  without-suid: true
  mandir: /some/other/path
apptainer::build_env:
  GOPATH=/some/other/path
apptainer::prefix: /opt/apptainer
apptainer::sysconfdir: /opt/apptainer/etc
apptainer::localstatedir: /opt/apptainer/var

Compile and install a Apptainer plugin from the Apptainer source:

apptainer::plugins:
  github.com/apptainer/apptainer/log-plugin:
    source_dir: examples/plugins/log-plugin

If replacing Singularity with Apptainer, it's possible to have this module cleanup Singularity to avoid conflicts:

apptainer::remove_singularity: true

Enabling Singularity removal will result in the following actions:

  • Remove /etc/singularity

Reference

treydock.github.io/puppet-module-apptainer/