title | parent | nav_order |
---|---|---|
RHEL for Edge v1.2.0-experimental |
Configuration specifications |
200 |
Note: This configuration is experimental and has not been stabilized. It is subject to change without warning or announcement.
The RHEL for Edge configuration is a YAML document conforming to the following specification, with italicized entries being optional:
- variant (string): used to differentiate configs for different operating systems. Must be
r4e
for this specification. - version (string): the semantic version of the spec for this document. This document is for version
1.2.0-experimental
and generates Ignition configs with version3.5.0-experimental
. - ignition (object): metadata about the configuration itself.
- config (object): options related to the configuration.
- merge (list of objects): a list of the configs to be merged to the current config.
- source (string): the URL of the config. Supported schemes are
http
,https
,tftp
,s3
,arn
,gs
, anddata
. When usinghttp
, it is advisable to use the verification option to ensure the contents haven't been modified. Mutually exclusive withinline
andlocal
. - inline (string): the contents of the config. Mutually exclusive with
source
andlocal
. - local (string): a local path to the contents of the config, relative to the directory specified by the
--files-dir
command-line argument. Mutually exclusive withsource
andinline
. - compression (string): the type of compression used on the config (null or gzip). Compression cannot be used with S3.
- http_headers (list of objects): a list of HTTP headers to be added to the request. Available for
http
andhttps
source schemes only.- name (string): the header name.
- value (string): the header contents.
- verification (object): options related to the verification of the config.
- hash (string): the hash of the config, in the form
<type>-<value>
where type is eithersha512
orsha256
. Ifcompression
is specified, the hash describes the decompressed config.
- hash (string): the hash of the config, in the form
- source (string): the URL of the config. Supported schemes are
- replace (object): the config that will replace the current.
- source (string): the URL of the config. Supported schemes are
http
,https
,tftp
,s3
,arn
,gs
, anddata
. When usinghttp
, it is advisable to use the verification option to ensure the contents haven't been modified. Mutually exclusive withinline
andlocal
. - inline (string): the contents of the config. Mutually exclusive with
source
andlocal
. - local (string): a local path to the contents of the config, relative to the directory specified by the
--files-dir
command-line argument. Mutually exclusive withsource
andinline
. - compression (string): the type of compression used on the config (null or gzip). Compression cannot be used with S3.
- http_headers (list of objects): a list of HTTP headers to be added to the request. Available for
http
andhttps
source schemes only.- name (string): the header name.
- value (string): the header contents.
- verification (object): options related to the verification of the config.
- hash (string): the hash of the config, in the form
<type>-<value>
where type is eithersha512
orsha256
. Ifcompression
is specified, the hash describes the decompressed config.
- hash (string): the hash of the config, in the form
- source (string): the URL of the config. Supported schemes are
- merge (list of objects): a list of the configs to be merged to the current config.
- timeouts (object): options relating to
http
timeouts when fetching files overhttp
orhttps
.- http_response_headers (integer): the time to wait (in seconds) for the server's response headers (but not the body) after making a request. 0 indicates no timeout. Default is 10 seconds.
- http_total (integer): the time limit (in seconds) for the operation (connection, request, and response), including retries. 0 indicates no timeout. Default is 0.
- security (object): options relating to network security.
- tls (object): options relating to TLS when fetching resources over
https
.- certificate_authorities (list of objects): the list of additional certificate authorities (in addition to the system authorities) to be used for TLS verification when fetching over
https
. All certificate authorities must have a uniquesource
,inline
, orlocal
.- source (string): the URL of the certificate bundle (in PEM format). The bundle can contain multiple concatenated certificates. Supported schemes are
http
,https
,tftp
,s3
,arn
,gs
, anddata
. When usinghttp
, it is advisable to use the verification option to ensure the contents haven't been modified. Mutually exclusive withinline
andlocal
. - inline (string): the contents of the certificate bundle (in PEM format). The bundle can contain multiple concatenated certificates. Mutually exclusive with
source
andlocal
. - local (string): a local path to the contents of the certificate bundle (in PEM format), relative to the directory specified by the
--files-dir
command-line argument. The bundle can contain multiple concatenated certificates. Mutually exclusive withsource
andinline
. - compression (string): the type of compression used on the certificate bundle (null or gzip). Compression cannot be used with S3.
- http_headers (list of objects): a list of HTTP headers to be added to the request. Available for
http
andhttps
source schemes only.- name (string): the header name.
- value (string): the header contents.
- verification (object): options related to the verification of the certificate bundle.
- hash (string): the hash of the certificate bundle, in the form
<type>-<value>
where type is eithersha512
orsha256
. Ifcompression
is specified, the hash describes the decompressed certificate bundle.
- hash (string): the hash of the certificate bundle, in the form
- source (string): the URL of the certificate bundle (in PEM format). The bundle can contain multiple concatenated certificates. Supported schemes are
- certificate_authorities (list of objects): the list of additional certificate authorities (in addition to the system authorities) to be used for TLS verification when fetching over
- tls (object): options relating to TLS when fetching resources over
- proxy (object): options relating to setting an
HTTP(S)
proxy when fetching resources.- http_proxy (string): will be used as the proxy URL for HTTP requests and HTTPS requests unless overridden by
https_proxy
orno_proxy
. - https_proxy (string): will be used as the proxy URL for HTTPS requests unless overridden by
no_proxy
. - no_proxy (list of strings): specifies a list of strings to hosts that should be excluded from proxying. Each value is represented by an
IP address prefix (1.2.3.4)
,an IP address prefix in CIDR notation (1.2.3.4/8)
,a domain name
, ora special DNS label (*)
. An IP address prefix and domain name can also include a literal port number(1.2.3.4:80)
. A domain name matches that name and all subdomains. A domain name with a leading.
matches subdomains only. For examplefoo.com
matchesfoo.com
andbar.foo.com
;.y.com
matchesx.y.com
but noty.com
. A single asterisk(*)
indicates that no proxying should be done.
- http_proxy (string): will be used as the proxy URL for HTTP requests and HTTPS requests unless overridden by
- config (object): options related to the configuration.
- storage (object): describes the desired state of the system's storage devices.
- files (list of objects): the list of files to be written. Every file, directory and link must have a unique
path
.- path (string): the absolute path to the file.
- overwrite (boolean): whether to delete preexisting nodes at the path.
contents
must be specified ifoverwrite
is true. Defaults to false. - contents (object): options related to the contents of the file.
- source (string): the URL of the file. Supported schemes are
http
,https
,tftp
,s3
,arn
,gs
, anddata
. When usinghttp
, it is advisable to use the verification option to ensure the contents haven't been modified. If source is omitted and a regular file already exists at the path, Ignition will do nothing. If source is omitted and no file exists, an empty file will be created. Mutually exclusive withinline
andlocal
. - inline (string): the contents of the file. Mutually exclusive with
source
andlocal
. - local (string): a local path to the contents of the file, relative to the directory specified by the
--files-dir
command-line argument. Mutually exclusive withsource
andinline
. - compression (string): the type of compression used on the file (null or gzip). Compression cannot be used with S3.
- http_headers (list of objects): a list of HTTP headers to be added to the request. Available for
http
andhttps
source schemes only.- name (string): the header name.
- value (string): the header contents.
- verification (object): options related to the verification of the file.
- hash (string): the hash of the file, in the form
<type>-<value>
where type is eithersha512
orsha256
. Ifcompression
is specified, the hash describes the decompressed file.
- hash (string): the hash of the file, in the form
- source (string): the URL of the file. Supported schemes are
- append (list of objects): list of fragments to be appended to the file. Follows the same structure as
contents
.- source (string): the URL of the fragment. Supported schemes are
http
,https
,tftp
,s3
,arn
,gs
, anddata
. When usinghttp
, it is advisable to use the verification option to ensure the contents haven't been modified. Mutually exclusive withinline
andlocal
. - inline (string): the contents of the fragment. Mutually exclusive with
source
andlocal
. - local (string): a local path to the contents of the fragment, relative to the directory specified by the
--files-dir
command-line argument. Mutually exclusive withsource
andinline
. - compression (string): the type of compression used on the fragment (null or gzip). Compression cannot be used with S3.
- http_headers (list of objects): a list of HTTP headers to be added to the request. Available for
http
andhttps
source schemes only.- name (string): the header name.
- value (string): the header contents.
- verification (object): options related to the verification of the fragment.
- hash (string): the hash of the fragment, in the form
<type>-<value>
where type is eithersha512
orsha256
. Ifcompression
is specified, the hash describes the decompressed fragment.
- hash (string): the hash of the fragment, in the form
- source (string): the URL of the fragment. Supported schemes are
- mode (integer): the file's permission mode. Setuid/setgid/sticky bits are supported. If not specified, the permission mode for files defaults to 0644 or the existing file's permissions if
overwrite
is false,contents
is unspecified, and a file already exists at the path. - user (object): specifies the file's owner.
- id (integer): the user ID of the owner.
- name (string): the user name of the owner.
- group (object): specifies the file's group.
- id (integer): the group ID of the group.
- name (string): the group name of the group.
- directories (list of objects): the list of directories to be created. Every file, directory, and link must have a unique
path
.- path (string): the absolute path to the directory.
- overwrite (boolean): whether to delete preexisting nodes at the path. If false and a directory already exists at the path, Ignition will only set its permissions. If false and a non-directory exists at that path, Ignition will fail. Defaults to false.
- mode (integer): the directory's permission mode. Setuid/setgid/sticky bits are supported. If not specified, the permission mode for directories defaults to 0755 or the mode of an existing directory if
overwrite
is false and a directory already exists at the path. - user (object): specifies the directory's owner.
- id (integer): the user ID of the owner.
- name (string): the user name of the owner.
- group (object): specifies the directory's group.
- id (integer): the group ID of the group.
- name (string): the group name of the group.
- links (list of objects): the list of links to be created. Every file, directory, and link must have a unique
path
.- path (string): the absolute path to the link
- overwrite (boolean): whether to delete preexisting nodes at the path. If overwrite is false and a matching link exists at the path, Ignition will only set the owner and group. Defaults to false.
- user (object): specifies the owner for a symbolic link. Ignored for hard links.
- id (integer): the user ID of the owner.
- name (string): the user name of the owner.
- group (object): specifies the group for a symbolic link. Ignored for hard links.
- id (integer): the group ID of the group.
- name (string): the group name of the group.
- target (string): the target path of the link
- hard (boolean): a symbolic link is created if this is false, a hard one if this is true.
- trees (list of objects): a list of local directory trees to be embedded in the config. Ownership is 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
, orlinks
section; suchfiles
entries must omitcontents
and suchlinks
entries must omittarget
.- local (string): the base of the local directory tree, relative to the directory specified by the
--files-dir
command-line argument. - path (string): the path of the tree within the target system. Defaults to
/
.
- local (string): the base of the local directory tree, relative to the directory specified by the
- files (list of objects): the list of files to be written. Every file, directory and link must have a unique
- systemd (object): describes the desired state of the systemd units.
- units (list of objects): the list of systemd units. Every unit must have a unique
name
.- name (string): the name of the unit. This must be suffixed with a valid unit type (e.g. "thing.service").
- enabled (boolean): whether or not the service shall be enabled. When true, the service is enabled. When false, the service is disabled. When omitted, the service is unmodified. In order for this to have any effect, the unit must have an install section.
- mask (boolean): whether or not the service shall be masked. When true, the service is masked by symlinking it to
/dev/null
. When false, the service is unmasked by deleting the symlink to/dev/null
if it exists. - contents (string): the contents of the unit. Mutually exclusive with
contents_local
. - contents_local (string): a local path to the contents of the unit, relative to the directory specified by the
--files-dir
command-line argument. Mutually exclusive withcontents
. - dropins (list of objects): the list of drop-ins for the unit. Every drop-in must have a unique
name
.- name (string): the name of the drop-in. This must be suffixed with ".conf".
- contents (string): the contents of the drop-in. Mutually exclusive with
contents_local
. - contents_local (string): a local path to the contents of the drop-in, relative to the directory specified by the
--files-dir
command-line argument. Mutually exclusive withcontents
.
- units (list of objects): the list of systemd units. Every unit must have a unique
- passwd (object): describes the desired additions to the passwd database.
- users (list of objects): the list of accounts that shall exist. All users must have a unique
name
.- name (string): the username for the account.
- password_hash (string): the hashed password for the account.
- ssh_authorized_keys (list of strings): a list of SSH keys to be added as an SSH key fragment at
.ssh/authorized_keys.d/ignition
in the user's home directory. All SSH keys must be unique. - ssh_authorized_keys_local (list of strings): a list of local paths to SSH key files, relative to the directory specified by the
--files-dir
command-line argument, to be added as SSH key fragments at.ssh/authorized_keys.d/ignition
in the user's home directory. All SSH keys must be unique. Each file may contain multiple SSH keys, one per line. - uid (integer): the user ID of the account.
- gecos (string): the GECOS field of the account.
- home_dir (string): the home directory of the account.
- no_create_home (boolean): whether or not to create the user's home directory. This only has an effect if the account doesn't exist yet.
- primary_group (string): the name of the primary group of the account.
- groups (list of strings): the list of supplementary groups of the account.
- no_user_group (boolean): whether or not to create a group with the same name as the user. This only has an effect if the account doesn't exist yet.
- no_log_init (boolean): whether or not to add the user to the lastlog and faillog databases. This only has an effect if the account doesn't exist yet.
- shell (string): the login shell of the new account.
- should_exist (boolean): whether or not the user with the specified
name
should exist. If omitted, it defaults to true. If false, then Ignition will delete the specified user. - system (boolean): whether or not this account should be a system account. This only has an effect if the account doesn't exist yet.
- groups (list of objects): the list of groups to be added. All groups must have a unique
name
.- name (string): the name of the group.
- gid (integer): the group ID of the new group.
- password_hash (string): the hashed password of the new group.
- should_exist (boolean): whether or not the group with the specified
name
should exist. If omitted, it defaults to true. If false, then Ignition will delete the specified group. - system (boolean): whether or not the group should be a system group. This only has an effect if the group doesn't exist yet.
- users (list of objects): the list of accounts that shall exist. All users must have a unique