You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
base/v0_7_exp: add ownership and mode support for trees
Add support for setting user, group, file_mode, and dir_mode on
trees to address the use case of deploying directory trees with
specific ownership for rootless containers.
Fixes: #544
Copy file name to clipboardExpand all lines: docs/config-fcos-v1_7-exp.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -170,9 +170,17 @@ The Fedora CoreOS configuration is a YAML document conforming to the following s
170
170
***_needs_network_** (boolean): whether or not the device requires networking.
171
171
***_cex_** (object): describes the IBM Crypto Express (CEX) card configuration for the luks device.
172
172
***_enabled_** (boolean): whether or not to enable cex compatibility for luks. If omitted, defaults to false.
173
-
***_trees_** (list of objects): a list of local directory trees to be embedded in the config. Ownershipis not preserved. File modes are set to 0755 if the local file is executable or 0644 otherwise. Attributes of files, directories, and symlinks can be overridden by creating a corresponding entry in the `files`, `directories`, or `links` section; such `files` entries must omit `contents` and such `links` entries must omit `target`.
173
+
***_trees_** (list of objects): a list of local directory trees to be embedded in the config. Ownership, file modes (using `file_mode`) and directories modes (using `dir_mode`) can be specified for the tree. If not specified, ownership is not preserved and file modes are set to 0755 if the local file is executable or 0644 otherwise. Attributes of files, directories, and symlinks can be overridden by creating a corresponding entry in the `files`, `directories`, or `links` section; such `files` entries must omit `contents` and such `links` entries must omit `target`.
174
174
***local** (string): the base of the local directory tree, relative to the directory specified by the `--files-dir` command-line argument.
175
175
***_path_** (string): the path of the tree within the target system. Defaults to `/`.
176
+
***_file_mode_** (integer): Custom permissions to apply to files
177
+
***_dir_mode_** (integer): Custom permissions to apply to directories
178
+
***_user_** (object): User owner of the tree
179
+
***_name_** (string): username
180
+
***_id_** (integer): uid
181
+
***_group_** (object): Group owner of the tree
182
+
***_name_** (string): group name
183
+
***_id_** (integer): gid
176
184
***_systemd_** (object): describes the desired state of the systemd units.
177
185
***_units_** (list of objects): the list of systemd units. Every unit must have a unique `name`.
178
186
***name** (string): the name of the unit. This must be suffixed with a valid unit type (e.g. "thing.service").
Copy file name to clipboardExpand all lines: docs/config-fiot-v1_1-exp.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -109,9 +109,17 @@ The Fedora IoT configuration is a YAML document conforming to the following spec
109
109
***_name_** (string): the group name of the group.
110
110
***target** (string): the target path of the link
111
111
***_hard_** (boolean): a symbolic link is created if this is false, a hard one if this is true.
112
-
***_trees_** (list of objects): a list of local directory trees to be embedded in the config. Ownershipis not preserved. File modes are set to 0755 if the local file is executable or 0644 otherwise. Attributes of files, directories, and symlinks can be overridden by creating a corresponding entry in the `files`, `directories`, or `links` section; such `files` entries must omit `contents` and such `links` entries must omit `target`.
112
+
***_trees_** (list of objects): a list of local directory trees to be embedded in the config. Ownership, file modes (using `file_mode`) and directories modes (using `dir_mode`) can be specified for the tree. If not specified, ownership is not preserved and file modes are set to 0755 if the local file is executable or 0644 otherwise. Attributes of files, directories, and symlinks can be overridden by creating a corresponding entry in the `files`, `directories`, or `links` section; such `files` entries must omit `contents` and such `links` entries must omit `target`.
113
113
***local** (string): the base of the local directory tree, relative to the directory specified by the `--files-dir` command-line argument.
114
114
***_path_** (string): the path of the tree within the target system. Defaults to `/`.
115
+
***_file_mode_** (integer): Custom permissions to apply to files
116
+
***_dir_mode_** (integer): Custom permissions to apply to directories
117
+
***_user_** (object): User owner of the tree
118
+
***_name_** (string): username
119
+
***_id_** (integer): uid
120
+
***_group_** (object): Group owner of the tree
121
+
***_name_** (string): group name
122
+
***_id_** (integer): gid
115
123
***_systemd_** (object): describes the desired state of the systemd units.
116
124
***_units_** (list of objects): the list of systemd units. Every unit must have a unique `name`.
117
125
***name** (string): the name of the unit. This must be suffixed with a valid unit type (e.g. "thing.service").
Copy file name to clipboardExpand all lines: docs/config-flatcar-v1_2-exp.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -168,9 +168,17 @@ The Flatcar configuration is a YAML document conforming to the following specifi
168
168
***pin** (string): the clevis pin.
169
169
***config** (string): the clevis configuration JSON.
170
170
***_needs_network_** (boolean): whether or not the device requires networking.
171
-
***_trees_** (list of objects): a list of local directory trees to be embedded in the config. Ownershipis not preserved. File modes are set to 0755 if the local file is executable or 0644 otherwise. Attributes of files, directories, and symlinks can be overridden by creating a corresponding entry in the `files`, `directories`, or `links` section; such `files` entries must omit `contents` and such `links` entries must omit `target`.
171
+
***_trees_** (list of objects): a list of local directory trees to be embedded in the config. Ownership, file modes (using `file_mode`) and directories modes (using `dir_mode`) can be specified for the tree. If not specified, ownership is not preserved and file modes are set to 0755 if the local file is executable or 0644 otherwise. Attributes of files, directories, and symlinks can be overridden by creating a corresponding entry in the `files`, `directories`, or `links` section; such `files` entries must omit `contents` and such `links` entries must omit `target`.
172
172
***local** (string): the base of the local directory tree, relative to the directory specified by the `--files-dir` command-line argument.
173
173
***_path_** (string): the path of the tree within the target system. Defaults to `/`.
174
+
***_file_mode_** (integer): Custom permissions to apply to files
175
+
***_dir_mode_** (integer): Custom permissions to apply to directories
176
+
***_user_** (object): User owner of the tree
177
+
***_name_** (string): username
178
+
***_id_** (integer): uid
179
+
***_group_** (object): Group owner of the tree
180
+
***_name_** (string): group name
181
+
***_id_** (integer): gid
174
182
***_systemd_** (object): describes the desired state of the systemd units.
175
183
***_units_** (list of objects): the list of systemd units. Every unit must have a unique `name`.
176
184
***name** (string): the name of the unit. This must be suffixed with a valid unit type (e.g. "thing.service").
Copy file name to clipboardExpand all lines: docs/config-openshift-v4_21-exp.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -139,9 +139,17 @@ The OpenShift configuration is a YAML document conforming to the following speci
139
139
***_needs_network_** (boolean): whether or not the device requires networking.
140
140
***_cex_** (object): describes the IBM Crypto Express (CEX) card configuration for the luks device.
141
141
***_enabled_** (boolean): whether or not to enable cex compatibility for luks. If omitted, defaults to false.
142
-
***_trees_** (list of objects): a list of local directory trees to be embedded in the config. Symlinks must not be present. Ownership is not preserved. File modes are set to 0755 if the local file is executable or 0644 otherwise. File attributes can be overridden by creating a corresponding entry in the `files` section; such entries must omit `contents`.
142
+
***_trees_** (list of objects): a list of local directory trees to be embedded in the config. Ownership, file modes (using `file_mode`) and directories modes (using `dir_mode`) can be specified for the tree. Symlinks must not be present. If not specified, ownership is not preserved and file modes are set to 0755 if the local file is executable or 0644 otherwise. File attributes can be overridden by creating a corresponding entry in the `files` section; such entries must omit `contents`.
143
143
***local** (string): the base of the local directory tree, relative to the directory specified by the `--files-dir` command-line argument.
144
144
***_path_** (string): the path of the tree within the target system. Defaults to `/`.
145
+
***_file_mode_** (integer): Custom permissions to apply to files
146
+
***_dir_mode_** (integer): Custom permissions to apply to directories
147
+
***_user_** (object): User owner of the tree
148
+
***_name_** (string): username
149
+
***_id_** (integer): uid
150
+
***_group_** (object): Group owner of the tree
151
+
***_name_** (string): group name
152
+
***_id_** (integer): gid
145
153
***_systemd_** (object): describes the desired state of the systemd units.
146
154
***_units_** (list of objects): the list of systemd units. Every unit must have a unique `name`.
147
155
***name** (string): the name of the unit. This must be suffixed with a valid unit type (e.g. "thing.service").
0 commit comments