Skip to content

Commit dce1caf

Browse files
committed
Add commands
1 parent 0330fcb commit dce1caf

1 file changed

Lines changed: 104 additions & 0 deletions

File tree

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# TAGLINE
2+
3+
Manage Apptainer container platform configuration
4+
5+
# TLDR
6+
7+
**Add fakeroot mapping** for a user
8+
9+
```sudo apptainer config fakeroot --add [username]```
10+
11+
**Remove fakeroot mapping** for a user
12+
13+
```sudo apptainer config fakeroot --remove [username]```
14+
15+
**Set a global configuration** directive
16+
17+
```sudo apptainer config global --set "[directive]" [value]```
18+
19+
**Get the current value** of a global directive
20+
21+
```sudo apptainer config global --get "[directive]"```
22+
23+
**Reset a global directive** to its default value
24+
25+
```sudo apptainer config global --reset "[directive]"```
26+
27+
**Preview changes** without writing to the config file
28+
29+
```sudo apptainer config global --dry-run --set "[directive]" [value]```
30+
31+
# SYNOPSIS
32+
33+
**apptainer config** _subcommand_ [_options_]
34+
35+
# DESCRIPTION
36+
37+
**apptainer config** manages configuration for the Apptainer container platform. It provides administrative commands for managing fakeroot user mappings and editing the global **apptainer.conf** configuration file from the command line. Most operations require root privileges or an unprivileged installation.
38+
39+
The command operates through two subcommands: **fakeroot** for managing user namespace mappings that allow unprivileged users to build and run containers with apparent root access, and **global** for modifying system-wide configuration directives that control container behavior, bind paths, security settings, and resource limits.
40+
41+
# SUBCOMMANDS
42+
43+
**fakeroot**
44+
> Manage fakeroot user mapping entries (root user only). Controls which users can use the fakeroot feature for building and running containers with simulated root privileges.
45+
46+
**global**
47+
> Edit apptainer.conf configuration directives from the command line (root user only or unprivileged installation). Supports set, unset, get, and reset operations on configuration values.
48+
49+
# PARAMETERS
50+
51+
**-a**, **--add**
52+
> Add a fakeroot mapping entry for a user (fakeroot subcommand)
53+
54+
**-r**, **--remove**
55+
> Remove a fakeroot mapping entry for a user (fakeroot subcommand)
56+
57+
**-e**, **--enable**
58+
> Enable an existing fakeroot mapping entry (fakeroot subcommand)
59+
60+
**-d**, **--disable**
61+
> Disable an existing fakeroot mapping entry (fakeroot subcommand)
62+
63+
**--set**
64+
> Set a configuration directive value (global subcommand)
65+
66+
**--unset**
67+
> Remove a value from a configuration directive (global subcommand)
68+
69+
**--get**
70+
> Retrieve the current value of a configuration directive (global subcommand)
71+
72+
**--reset**
73+
> Reset a configuration directive to its default value (global subcommand)
74+
75+
**--dry-run**
76+
> Display the resulting configuration without writing to file (global subcommand)
77+
78+
# CONFIGURATION
79+
80+
The global subcommand modifies **/etc/apptainer/apptainer.conf** (or the equivalent path for unprivileged installations). Common directives include:
81+
82+
**bind path**
83+
> Paths automatically bound into containers
84+
85+
**max loop devices**
86+
> Maximum number of loop devices for SIF images
87+
88+
**allow setuid**
89+
> Whether to allow setuid-root mode for container execution
90+
91+
**allow net users / allow net groups / allow net networks**
92+
> Control which users and networks are allowed for container networking
93+
94+
# CAVEATS
95+
96+
Most config operations require root privileges. The fakeroot subcommand manages **/etc/subuid** and **/etc/subgid** entries, which affect system-wide user namespace mappings. Modifying global configuration can impact all users on the system. On systems with unprivileged installations, the global subcommand can be run without root but only affects that installation's configuration.
97+
98+
# HISTORY
99+
100+
Apptainer originated as **Singularity**, created by **Gregory Kurtzer** at **Lawrence Berkeley National Laboratory** in **2015** to bring container technology to high-performance computing (HPC). In **November 2021**, the project joined the **Linux Foundation** and was renamed to **Apptainer**. The config subcommand provides administrative tooling that evolved alongside the platform's growing adoption in scientific computing and HPC environments worldwide.
101+
102+
# SEE ALSO
103+
104+
[apptainer](/man/apptainer)(1), [docker](/man/docker)(1), [podman](/man/podman)(1)

0 commit comments

Comments
 (0)