You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
3.7 KiB

  1. {
  2. "$schema": "https://json-schema.org/draft/2020-12/schema",
  3. "$id": "https://kubespray.io/internal/os_packages.schema.json",
  4. "title": "Os packages",
  5. "description": "Criteria for selecting packages to install on Kubernetes nodes during installation by Kubespray",
  6. "type": "object",
  7. "patternProperties": {
  8. ".*": {
  9. "type": "object",
  10. "additionalProperties": false,
  11. "properties": {
  12. "enabled": {
  13. "description": "Escape hatch to filter packages. The value is expected to be pre-resolved to a boolean by Jinja",
  14. "type": "boolean",
  15. "default": true
  16. },
  17. "groups": {
  18. "description": "Match if the host is in one of these groups. If not specified match any host.",
  19. "type": "array",
  20. "minItems": 1,
  21. "items":{
  22. "type": "string",
  23. "pattern": "^[0-9A-Za-z_]*$"
  24. }
  25. },
  26. "os": {
  27. "type": "object",
  28. "description": "If not specified match any OS. Otherwise, must match by 'families' or 'distributions' to be included.",
  29. "additionalProperties": false,
  30. "minProperties": 1,
  31. "properties": {
  32. "families": {
  33. "description": "Match if ansible_os_family is part of the list.",
  34. "type": "array",
  35. "minItems": 1,
  36. "items": {
  37. "type": "string"
  38. }
  39. },
  40. "distributions": {
  41. "type": "object",
  42. "description": "Match if ansible_distribution match one of defined keys.",
  43. "minProperties": 1,
  44. "patternProperties": {
  45. ".*": {
  46. "description": "Match if either the value is the empty hash, or one major_versions/versions/releases contains the corresponding variable ('ansible_distrbution_*')",
  47. "type": "object",
  48. "additionalProperties": false,
  49. "properties": {
  50. "major_versions": {
  51. "type": "array",
  52. "minItems": 1,
  53. "items": {
  54. "type": "string"
  55. }
  56. },
  57. "versions": {
  58. "type": "array",
  59. "minItems": 1,
  60. "items": {
  61. "type": "string"
  62. }
  63. },
  64. "releases": {
  65. "type": "array",
  66. "minItems": 1,
  67. "items": {
  68. "type": "string"
  69. }
  70. }
  71. }
  72. }
  73. }
  74. }
  75. }
  76. }
  77. }
  78. }
  79. }
  80. }