schema.json 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. {
  2. "type": "object",
  3. "additionalProperties": false,
  4. "properties": {
  5. "ssh_authorized_keys": {"$ref": "#/definitions/list_of_strings"},
  6. "write_files": {
  7. "type": "array",
  8. "items": {"$ref": "#/definitions/file_config"}
  9. },
  10. "hostname": {"type": "string"},
  11. "mounts": {"type": "array"},
  12. "rancher": {"$ref": "#/definitions/rancher_config"},
  13. "runcmd": {"type": "array"},
  14. "bootcmd": {"type": "array"}
  15. },
  16. "definitions": {
  17. "rancher_config": {
  18. "id": "#/definitions/rancher_config",
  19. "type": "object",
  20. "additionalProperties": false,
  21. "properties": {
  22. "console": {"type": "string"},
  23. "environment": {"type": "object"},
  24. "cloud_init_services": {"type": "object"},
  25. "services": {"type": "object"},
  26. "bootstrap": {"type": "object"},
  27. "autoformat": {"type": "object"},
  28. "bootstrap_docker": {"$ref": "#/definitions/docker_config"},
  29. "cloud_init": {"$ref": "#/definitions/cloud_init_config"},
  30. "debug": {"type": "boolean"},
  31. "rm_usr": {"type": "boolean"},
  32. "no_sharedroot": {"type": "boolean"},
  33. "log": {"type": "boolean"},
  34. "force_console_rebuild": {"type": "boolean"},
  35. "disable": {"$ref": "#/definitions/list_of_strings"},
  36. "services_include": {"type": "object"},
  37. "modules": {"$ref": "#/definitions/list_of_strings"},
  38. "network": {"$ref": "#/definitions/network_config"},
  39. "default_network": {"type": "object"},
  40. "repositories": {"type": "object"},
  41. "ssh": {"$ref": "#/definitions/ssh_config"},
  42. "state": {"$ref": "#/definitions/state_config"},
  43. "system_docker": {"$ref": "#/definitions/docker_config"},
  44. "upgrade": {"$ref": "#/definitions/upgrade_config"},
  45. "docker": {"$ref": "#/definitions/docker_config"},
  46. "registry_auths": {"type": "object"},
  47. "defaults": {"$ref": "#/definitions/defaults_config"},
  48. "resize_device": {"type": "string"},
  49. "sysctl": {"type": "object"},
  50. "restart_services": {"type": "array"},
  51. "shutdown_timeout": {"type": "integer"}
  52. }
  53. },
  54. "file_config": {
  55. "id": "#/definitions/file_config",
  56. "type": "object",
  57. "additionalProperties": false,
  58. "properties": {
  59. "encoding": {"type": "string"},
  60. "container": {"type": "string"},
  61. "content": {"type": "string"},
  62. "owner": {"type": "string"},
  63. "path": {"type": "string"},
  64. "permissions": {"type": "string"}
  65. }
  66. },
  67. "network_config": {
  68. "id": "#/definitions/network_config",
  69. "type": "object",
  70. "additionalProperties": false,
  71. "properties": {
  72. "pre_cmds": {"$ref": "#/definitions/list_of_strings"},
  73. "dns": {"type": "object"},
  74. "interfaces": {"type": "object"},
  75. "post_cmds": {"$ref": "#/definitions/list_of_strings"},
  76. "http_proxy": {"type": "string"},
  77. "https_proxy": {"type": "string"},
  78. "no_proxy": {"type": "string"}
  79. }
  80. },
  81. "upgrade_config": {
  82. "id": "#/definitions/upgrade_config",
  83. "type": "object",
  84. "additionalProperties": false,
  85. "properties": {
  86. "url": {"type": "string"},
  87. "image": {"type": "string"},
  88. "rollback": {"type": "string"}
  89. }
  90. },
  91. "docker_config": {
  92. "id": "#/definitions/docker_config",
  93. "type": "object",
  94. "additionalProperties": false,
  95. "properties": {
  96. "engine": {"type": "string"},
  97. "tls": {"type": "boolean"},
  98. "tls_args": {"$ref": "#/definitions/list_of_strings"},
  99. "args": {"$ref": "#/definitions/list_of_strings"},
  100. "extra_args": {"$ref": "#/definitions/list_of_strings"},
  101. "server_cert": {"type": "string"},
  102. "server_key": {"type": "string"},
  103. "ca_cert": {"type": "string"},
  104. "ca_key": {"type": "string"},
  105. "environment": {"$ref": "#/definitions/list_of_strings"},
  106. "storage_context": {"type": "string"},
  107. "exec": {"type": ["boolean", "null"]},
  108. "bridge": {"type": "string"},
  109. "config_file": {"type": "string"},
  110. "containerd": {"type": "string"},
  111. "debug": {"type": ["boolean", "null"]},
  112. "exec_root": {"type": "string"},
  113. "group": {"type": "string"},
  114. "graph": {"type": "string"},
  115. "host": {"type": "array"},
  116. "live_restore": {"type": ["boolean", "null"]},
  117. "log_driver": {"type": "string"},
  118. "log_opts": {"type": "object"},
  119. "pid_file": {"type": "string"},
  120. "registry_mirror": {"type": "string"},
  121. "restart": {"type": ["boolean", "null"]},
  122. "selinux_enabled": {"type": ["boolean", "null"]},
  123. "storage_driver": {"type": "string"},
  124. "userland_proxy": {"type": ["boolean", "null"]},
  125. "insecure_registry": {"$ref": "#/definitions/list_of_strings"}
  126. }
  127. },
  128. "ssh_config": {
  129. "id": "#/definitions/ssh_config",
  130. "type": "object",
  131. "additionalProperties": false,
  132. "properties": {
  133. "keys": {"type": "object"}
  134. }
  135. },
  136. "state_config": {
  137. "id": "#/definitions/state_config",
  138. "type": "object",
  139. "additionalProperties": false,
  140. "properties": {
  141. "directory": {"type": "string"},
  142. "fstype": {"type": "string"},
  143. "dev": {"type": "string"},
  144. "wait": {"type": "boolean"},
  145. "required": {"type": "boolean"},
  146. "autoformat": {"$ref": "#/definitions/list_of_strings"},
  147. "mdadm_scan": {"type": "boolean"},
  148. "script": {"type": "string"},
  149. "oem_fstype": {"type": "string"},
  150. "oem_dev": {"type": "string"}
  151. }
  152. },
  153. "cloud_init_config": {
  154. "id": "#/definitions/cloud_init_config",
  155. "type": "object",
  156. "additionalProperties": false,
  157. "properties": {
  158. "datasources": {"$ref": "#/definitions/list_of_strings"}
  159. }
  160. },
  161. "defaults_config": {
  162. "id": "#/definitions/defaults_config",
  163. "type": "object",
  164. "additionalProperties": false,
  165. "properties": {
  166. "hostname": {"type": "string"},
  167. "docker": {"type": "object"},
  168. "network": {"$ref": "#/definitions/network_config"}
  169. }
  170. },
  171. "list_of_strings": {
  172. "type": "array",
  173. "items": {"type": "string"},
  174. "uniqueItems": true
  175. }
  176. }
  177. }