CoreOS 配置工具 Ignition v2.2

This pre-release version of the specification is experimental and is subject to change without notice or regard to backward compatibility.

https://github.com/coreos/ignition/blob/master/doc/configuration-v2_2-experimental.md

The Ignition configuration is a JSON document conforming to the following specification, with italicized entries being optional:

  • ignition (object): metadata about the configuration itself.
    • version (string): the semantic version number of the spec. The spec version must be compatible with the latest version (2.2.0-experimental). Compatibility requires the major versions to match and the spec version be less than or equal to the latest version. -experimental versions compare less than the final version with the same number, and previous experimental versions are not accepted.
    • config (objects): options related to the configuration.
      • append (list of objects): a list of the configs to be appended to the current config.
        • source (string): the URL of the config. Supported schemes are http, https, s3, tftp, and data. Note: When using http, it is advisable to use the verification option to ensure the contents haven’t been modified.
        • 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 sha512.
      • replace (object): the config that will replace the current.
        • source (string): the URL of the config. Supported schemes are http, https, s3, tftp, and data. Note: When using http, it is advisable to use the verification option to ensure the contents haven’t been modified.
        • 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 sha512.
    • timeouts (object): options relating to http timeouts when fetching files over http or https.
      • httpResponseHeaders (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.
      • httpTotal (integer) the time limit (in seconds) for the operation (connection, request, and response), including retries. 0 indicates no timeout. Default is 0.
  • storage (object): describes the desired state of the system’s storage devices.
    • disks (list of objects): the list of disks to be configured and their options.
      • device (string): the absolute path to the device. Devices are typically referenced by the /dev/disk/by-* symlinks.
      • wipeTable (boolean): whether or not the partition tables shall be wiped. When true, the partition tables are erased before any further manipulation. Otherwise, the existing entries are left intact.
      • partitions (list of objects): the list of partitions and their configuration for this particular disk.
        • label (string): the PARTLABEL for the partition.
        • number (integer): the partition number, which dictates it’s position in the partition table (one-indexed). If zero, use the next available partition slot.
        • size (integer): the size of the partition (in device logical sectors, 512 or 4096 bytes). If zero, the partition will fill the remainder of the disk.
        • start (integer): the start of the partition (in device logical sectors). If zero, the partition will be positioned at the earliest available part of the disk.
        • typeGuid (string): the GPT partition type GUID. If omitted, the default will be 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem data).
        • guid (string): the GPT unique partition GUID.
    • raid (list of objects): the list of RAID arrays to be configured.
      • name (string): the name to use for the resulting md device.
      • level (string): the redundancy level of the array (e.g. linear, raid1, raid5, etc.).
      • devices (list of strings): the list of devices (referenced by their absolute path) in the array.
      • spares (integer): the number of spares (if applicable) in the array.
    • filesystems (list of objects): the list of filesystems to be configured and/or used in the “files” section. Either “mount” or “path” needs to be specified.
      • name (string): the identifier for the filesystem, internal to Ignition. This is only required if the filesystem needs to be referenced in the “files” section.
      • mount (object): contains the set of mount and formatting options for the filesystem. A non-null entry indicates that the filesystem should be mounted before it is used by Ignition.
        • device (string): the absolute path to the device. Devices are typically referenced by the /dev/disk/by-* symlinks.
        • format (string): the filesystem format (ext4, btrfs, xfs, vfat, or swap).
        • wipeFilesystem (boolean): whether or not to wipe the device before filesystem creation, see the documentation on filesystems for more information.
        • label (string): the label of the filesystem.
        • uuid (string): the uuid of the filesystem.
        • options (list of strings): any additional options to be passed to the format-specific mkfs utility.
        • create (object, DEPRECATED): contains the set of options to be used when creating the filesystem.
          • force (boolean, DEPRECATED): whether or not the create operation shall overwrite an existing filesystem.
          • options (list of strings, DEPRECATED): any additional options to be passed to the format-specific mkfs utility.
      • path (string): the mount-point of the filesystem. A non-null entry indicates that the filesystem has already been mounted by the system at the specified path. This is really only useful for “/sysroot”.
    • files (list of objects): the list of files to be written.
      • filesystem (string): the internal identifier of the filesystem in which to write the file. This matches the last filesystem with the given identifier.
      • path (string): the absolute path to the file.
      • contents (object): options related to the contents of the file.
        • compression (string): the type of compression used on the contents (null or gzip). Compression cannot be used with S3.
        • source (string): the URL of the file contents. Supported schemes are http, https, tftp, s3, and data. When using http, it is advisable to use the verification option to ensure the contents haven’t been modified.
        • verification (object): options related to the verification of the file contents.
          • hash (string): the hash of the config, in the form <type>-<value> where type is sha512.
      • mode (integer): the file’s permission mode. Note that the mode must be properly specified as a decimal value (i.e. 0644 -> 420).
      • 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 group of the owner.
        • id (integer): the group ID of the owner.
        • name (string): the group name of the owner.
    • directories (list of objects): the list of directories to be created.
      • filesystem (string): the internal identifier of the filesystem in which to create the directory. This matches the last filesystem with the given identifier.
      • path (string): the absolute path to the directory.
      • mode (integer): the directory’s permission mode. Note that the mode must be properly specified as a decimal value (i.e. 0755 -> 493).
      • 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 group of the owner.
        • id (integer): the group ID of the owner.
        • name (string): the group name of the owner.
    • links (list of objects): the list of links to be created
      • filesystem (string): the internal identifier of the filesystem in which to write the link. This matches the last filesystem with the given identifier.
      • path (string): the absolute path to the link
      • user (object): specifies the symbolic link’s owner.
        • id (integer): the user ID of the owner.
        • name (string): the user name of the owner.
      • group (object): specifies the group of the owner.
        • id (integer): the group ID of the owner.
        • name (string): the group name of the owner.
      • 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.
  • systemd (object): describes the desired state of the systemd units.
    • units (list of objects): the list of systemd units.
      • name (string): the name of the unit. This must be suffixed with a valid unit type (e.g. “thing.service”).
      • enable (boolean, DEPRECATED): whether or not the service shall be enabled. When true, the service is enabled. In order for this to have any effect, the unit must have an install section.
      • 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.
      • contents (string): the contents of the unit.
      • dropins (list of objects): the list of drop-ins for the unit.
        • name (string): the name of the drop-in. This must be suffixed with “.conf”.
        • contents (string): the contents of the drop-in.
  • networkd (object): describes the desired state of the networkd files.
    • units (list of objects): the list of networkd files.
      • name (string): the name of the file. This must be suffixed with a valid unit type (e.g. “00-eth0.network”).
      • contents (string): the contents of the networkd file.
  • passwd (object): describes the desired additions to the passwd database.
    • users (list of objects): the list of accounts that shall exist.
      • name (string): the username for the account.
      • passwordHash (string): the encrypted password for the account.
      • sshAuthorizedKeys (list of strings): a list of SSH keys to be added to the user’s authorized_keys.
      • uid (integer): the user ID of the account.
      • gecos (string): the GECOS field of the account.
      • homeDir (string): the home directory of the account.
      • noCreateHome (boolean): whether or not to create the user’s home directory. This only has an effect if the account doesn’t exist yet.
      • primaryGroup (string): the name of the primary group of the account.
      • groups (list of strings): the list of supplementary groups of the account.
      • noUserGroup (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.
      • noLogInit (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.
      • system (bool): whether or not to make the account a system account. This only has an effect if the account doesn’t exist yet.
      • create (object, DEPRECATED): contains the set of options to be used when creating the user. A non-null entry indicates that the user account shall be created. This object has been marked for deprecation, please use the users level fields instead.
        • uid (integer): the user ID of the new account.
        • gecos (string): the GECOS field of the new account.
        • homeDir (string): the home directory of the new account.
        • noCreateHome (boolean): whether or not to create the user’s home directory.
        • primaryGroup (string): the name or ID of the primary group of the new account.
        • groups (list of strings): the list of supplementary groups of the new account.
        • noUserGroup (boolean): whether or not to create a group with the same name as the user.
        • noLogInit (boolean): whether or not to add the user to the lastlog and faillog databases.
        • shell (string): the login shell of the new account.
    • groups (list of objects): the list of groups to be added.
      • name (string): the name of the group.
      • gid (integer): the group ID of the new group.
      • passwordHash (string): the encrypted password of the new group.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏光变

SpringMVC 使用Valid注解校验数据

12330
来自专栏JAVA技术站

SpringCloud 微服务实现方式 原

消费启动服务,注意EnableFeginClients 一定要加basePackages,要不然扫不到单独作为api的jar包里面接口

13110
来自专栏乐沙弥的世界

MHA 自动故障转移步骤及过程剖析

    MHA是众多使用MySQL数据库企业高可用的不二选择,它简单易用,功能强大,实现了基于MySQL replication架构的自动主从故障转移,本文主要...

12430
来自专栏一个会写诗的程序员的博客

Kotlin Compiler Plugins : All-open , Kotlin-spring,No-arg,Kotlin-jpaCompiler Plugins

Kotlin has classes and their members final by default, which makes it inconvenie...

29720
来自专栏Netkiller

Phalcon VS Spring 用法对照手册

Phalcon VS Spring 摘要 Phalcon VS Spring 用法对照表 ---- 目录 1. Install 1.1. Phalcon 1.2...

43660
来自专栏云知识学习

kubernetes 基础集群排障

在排错过程中,kubectl 是最重要的工具,通常也是定位错误的起点。这里也列出一些常用的命令,在后续的各种排错过程中都会经常用到。

1.6K120
来自专栏数据结构与算法

Codeforce GYM 100741 A. Queries

A. Queries time limit per test 0.25 s memory limit per test 64 MB input st...

290120
来自专栏一个会写诗的程序员的博客

$ spring init --list

11920
来自专栏Java帮帮-微信公众号-技术文章全总结

Java操作数据库Spring(2)

pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www...

40570
来自专栏Netkiller

Spring Cloud Config

摘要: 本文节选自《Netkiller Java 手札》 Spring Cloud Config 本文节选自《Netkiller Java 手札》 https:...

40070

扫码关注云+社区

领取腾讯云代金券