Version information
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
- Puppet >= 5.0.0 < 7.0.0
- , ,
Start using this module
Add this module to your Puppetfile:
mod 'treydock-singularity', '3.5.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-module-singularity
Table of Contents
- Overview
- Usage - Configuration options
- Reference - Parameter and detailed reference to all options
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
- TODO
- Additional Information
Overview
This module manages the singularity package installation and configuration of singularity.conf.
NOTE: The puppetlabs/yumrepo_core
Puppet module is a soft dependency if using Puppet >= 6.0.0.
Usage
singularity
Install and configure singularity:
class { 'singularity': }
Reference
http://treydock.github.io/puppet-module-singularity/
Limitations
This module has been tested on:
- CentOS 6 x86_64
- CentOS 7 x86_64
Development
Testing
Testing requires the following dependencies:
- rake
- bundler
Install gem dependencies
bundle install
Run unit tests
bundle exec rake test
If you have Vagrant >= 1.2.0 installed you can run system tests
bundle exec rake beaker
TODO
Further Information
Reference
Table of Contents
Classes
Public Classes
singularity
: Manage Singularity
Private Classes
singularity::config
: Private classsingularity::install
: Private class
Classes
singularity
Manage Singularity
Examples
include ::singularity
Parameters
The following parameters are available in the singularity
class.
package_ensure
Data type: String
Package ensure property
Default value: 'present'
package_name
Data type: String
Singularity package name
Default value: $singularity::params::package_name
manage_epel
Data type: Boolean
Determines if EPEL repo should be managed
Default value: true
config_path
Data type: Stdlib::Absolutepath
Path to singularity.conf
Default value: $singularity::params::config_path
config_template
Data type: String
Template used for singularity.conf
Default value: 'singularity/singularity.conf.erb'
allow_setuid
Data type: Enum['yes','no']
See singularity.conf: allow setuid
Default value: 'yes'
max_loop_devices
Data type: Integer
See singularity.conf: max loop devices
Default value: 256
allow_pid_ns
Data type: Enum['yes','no']
See singularity.conf: allow pid ns
Default value: 'yes'
config_passwd
Data type: Enum['yes','no']
See singularity.conf: config passwd
Default value: 'yes'
config_group
Data type: Enum['yes','no']
See singularity.conf: config group
Default value: 'yes'
config_resolv_conf
Data type: Enum['yes','no']
See singularity.conf: config resolv conf
Default value: 'yes'
mount_proc
Data type: Enum['yes','no']
See singularity.conf: mount proc
Default value: 'yes'
mount_sys
Data type: Enum['yes','no']
See singularity.conf: mount sys
Default value: 'yes'
mount_dev
Data type: Enum['yes','no']
See singularity.conf: mount dev
Default value: 'yes'
mount_devpts
Data type: Enum['yes','no']
See singularity.conf: mount devpts
Default value: 'yes'
mount_home
Data type: Enum['yes','no']
See singularity.conf: mount home
Default value: 'yes'
mount_tmp
Data type: Enum['yes','no']
See singularity.conf: mount tmp
Default value: 'yes'
mount_hostfs
Data type: Enum['yes','no']
See singularity.conf: mount hostfs
Default value: 'no'
bind_paths
Data type: Array[Stdlib::Absolutepath]
See singularity.conf: bind paths
Default value: ['/etc/localtime', '/etc/hosts']
user_bind_control
Data type: Enum['yes','no']
See singularity.conf: user bind control
Default value: 'yes'
enable_fusemount
Data type: Enum['yes','no']
See singularity.conf: enable fusemount
Default value: 'yes'
enable_overlay
Data type: Enum['yes','no','try']
See singularity.conf: enable overlay
Default value: 'try'
enable_underlay
Data type: Enum['yes','no','try']
See singularity.conf: enable underlay
Default value: 'yes'
mount_slave
Data type: Enum['yes','no']
See singularity.conf: mount slave
Default value: 'yes'
sessiondir_max_size
Data type: Integer
See singularity.conf: sessiondir max size
Default value: 16
limit_container_owners
Data type: Optional[Array]
See singularity.conf: limit container owners
Default value: undef
limit_container_groups
Data type: Optional[Array]
See singularity.conf: limit container groups
Default value: undef
limit_container_paths
Data type: Optional[Array]
See singularity.conf: limit container paths
Default value: undef
allow_containers
Data type: Hash[String,Enum['yes','no']]
See singularity.conf: allow containers
Default value: { 'squashfs' => 'yes', 'extfs' => 'yes', 'dir' => 'yes', 'encrypted' => 'yes', }
autofs_bug_paths
Data type: Optional[Array[Stdlib::Absolutepath]]
See singularity.conf: autofs bug paths
Default value: undef
always_use_nv
Data type: Enum['yes','no']
See singularity.conf: always use nv
Default value: 'no'
always_use_rocm
Data type: Enum['yes','no']
See singularity.conf: always use rocm
Default value: 'no'
root_default_capabilities
Data type: Enum['full','file','default','no']
See singularity.conf: root default capabilities
Default value: 'full'
memory_fs_type
Data type: Enum['tmpfs','ramfs']
See singularity.conf: memory fs type
Default value: 'tmpfs'
cni_configuration_path
Data type: Optional[Stdlib::Absolutepath]
See singularity.conf: cni configuration path
Default value: undef
cni_plugin_path
Data type: Optional[Stdlib::Absolutepath]
See singularity.conf: cni plugin path
Default value: undef
mksquashfs_path
Data type: Optional[Stdlib::Absolutepath]
See singularity.conf: mksquashfs path
Default value: undef
cryptsetup_path
Data type: Optional[Stdlib::Absolutepath]
See singularity.conf: cryptsetup path
Default value: undef
shared_loop_devices
Data type: Enum['yes','no']
See singularity.conf: shared loop devices
Default value: 'no'
namespace_users
Data type: Array
List of uses to add to /etc/subuid and /etc/subgid to support user namespaces
Default value: []
namespace_begin_id
Data type: Integer
The beginning ID for /etc/subuid and /etc/subgid. The value is incremented For each user by start + namespace_id_range + 1
Default value: 65537
namespace_id_range
Data type: Integer
The range of UIDs/GIDs usable by a user in namespaces
Default value: 65536
subid_template
Data type: String
The template to use for /etc/subuid and /etc/subgid
Default value: 'singularity/subid.erb'
Change log
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v3.5.0 (2019-12-18)
Added
v3.4.0 (2019-11-14)
Added
v3.3.0 (2019-10-11)
Added
v3.2.0 (2019-10-10)
Added
v3.1.0 (2019-05-09)
Added
3.0.0 (2019-03-20)
Added
- README updates and use puppet strings for docs #12 (treydock)
- BREAKING: Update singularity.conf to support Singularity 3.1.0 #11 (treydock)
2.0.1 (2018-10-16)
Fixed
2.0.0 (2018-10-15)
Added
- Add support for Puppet 6 and drop support for Puppet 4 #9 (treydock)
- Update singularity.conf to match 3.0.0 #8 (treydock)
1.2.0 (2018-09-14)
Added
1.1.0 (2018-05-01)
Added
1.0.1 (2018-05-01)
Fixed
1.0.0 (2018-03-19)
Added
- BREAKING: Drop Puppet 3 support #3 (treydock)
- BREAKING: Change default for enable_overlay to 'try' #2 (treydock)
0.1.0 (2017-10-12)
Added
0.0.2 (2017-08-15)
0.0.1 (2017-08-07)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.13.1 <5.0.0)
- stahnma/epel (>= 1.0.0 <2.0.0)
Copyright (C) 2017 Trey Dockendorf <treydock@gmail.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.