values.schema.json 32 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045
  1. {
  2. "$schema": "https://json-schema.org/draft/2020-12/schema",
  3. "type": "object",
  4. "properties": {
  5. "affinity": {
  6. "type": "object"
  7. },
  8. "bitwarden-sdk-server": {
  9. "type": "object",
  10. "properties": {
  11. "enabled": {
  12. "type": "boolean"
  13. },
  14. "namespaceOverride": {
  15. "type": "string"
  16. }
  17. }
  18. },
  19. "certController": {
  20. "type": "object",
  21. "properties": {
  22. "affinity": {
  23. "type": "object"
  24. },
  25. "create": {
  26. "type": "boolean"
  27. },
  28. "deploymentAnnotations": {
  29. "type": "object"
  30. },
  31. "extraArgs": {
  32. "type": "object"
  33. },
  34. "extraEnv": {
  35. "type": "array"
  36. },
  37. "extraInitContainers": {
  38. "type": "array"
  39. },
  40. "extraVolumeMounts": {
  41. "type": "array"
  42. },
  43. "extraVolumes": {
  44. "type": "array"
  45. },
  46. "fullnameOverride": {
  47. "type": "string"
  48. },
  49. "hostNetwork": {
  50. "type": "boolean"
  51. },
  52. "image": {
  53. "type": "object",
  54. "properties": {
  55. "flavour": {
  56. "type": "string"
  57. },
  58. "pullPolicy": {
  59. "type": "string"
  60. },
  61. "repository": {
  62. "type": "string"
  63. },
  64. "tag": {
  65. "type": "string"
  66. }
  67. }
  68. },
  69. "imagePullSecrets": {
  70. "type": "array"
  71. },
  72. "log": {
  73. "type": "object",
  74. "properties": {
  75. "level": {
  76. "type": "string"
  77. },
  78. "timeEncoding": {
  79. "type": "string"
  80. }
  81. }
  82. },
  83. "metrics": {
  84. "type": "object",
  85. "properties": {
  86. "listen": {
  87. "type": "object",
  88. "properties": {
  89. "port": {
  90. "type": "integer"
  91. }
  92. }
  93. },
  94. "service": {
  95. "type": "object",
  96. "properties": {
  97. "annotations": {
  98. "type": "object"
  99. },
  100. "enabled": {
  101. "type": "boolean"
  102. },
  103. "port": {
  104. "type": "integer"
  105. }
  106. }
  107. }
  108. }
  109. },
  110. "nameOverride": {
  111. "type": "string"
  112. },
  113. "nodeSelector": {
  114. "type": "object"
  115. },
  116. "podAnnotations": {
  117. "type": "object"
  118. },
  119. "podDisruptionBudget": {
  120. "type": "object",
  121. "properties": {
  122. "enabled": {
  123. "type": "boolean"
  124. },
  125. "minAvailable": {
  126. "type": [
  127. "integer",
  128. "string"
  129. ]
  130. },
  131. "nameOverride": {
  132. "type": "string"
  133. }
  134. }
  135. },
  136. "podLabels": {
  137. "type": "object"
  138. },
  139. "podSecurityContext": {
  140. "type": "object",
  141. "properties": {
  142. "enabled": {
  143. "type": "boolean"
  144. }
  145. }
  146. },
  147. "priorityClassName": {
  148. "type": "string"
  149. },
  150. "rbac": {
  151. "type": "object",
  152. "properties": {
  153. "create": {
  154. "type": "boolean"
  155. }
  156. }
  157. },
  158. "readinessProbe": {
  159. "type": "object",
  160. "properties": {
  161. "address": {
  162. "type": "string"
  163. },
  164. "port": {
  165. "type": "integer"
  166. }
  167. }
  168. },
  169. "replicaCount": {
  170. "type": "integer"
  171. },
  172. "requeueInterval": {
  173. "type": "string"
  174. },
  175. "resources": {
  176. "type": "object"
  177. },
  178. "revisionHistoryLimit": {
  179. "type": "integer"
  180. },
  181. "securityContext": {
  182. "type": "object",
  183. "properties": {
  184. "allowPrivilegeEscalation": {
  185. "type": "boolean"
  186. },
  187. "capabilities": {
  188. "type": "object",
  189. "properties": {
  190. "drop": {
  191. "type": "array",
  192. "items": {
  193. "type": "string"
  194. }
  195. }
  196. }
  197. },
  198. "enabled": {
  199. "type": "boolean"
  200. },
  201. "readOnlyRootFilesystem": {
  202. "type": "boolean"
  203. },
  204. "runAsNonRoot": {
  205. "type": "boolean"
  206. },
  207. "runAsUser": {
  208. "type": "integer"
  209. },
  210. "seccompProfile": {
  211. "type": "object",
  212. "properties": {
  213. "type": {
  214. "type": "string"
  215. }
  216. }
  217. }
  218. }
  219. },
  220. "serviceAccount": {
  221. "type": "object",
  222. "properties": {
  223. "annotations": {
  224. "type": "object"
  225. },
  226. "automount": {
  227. "type": "boolean"
  228. },
  229. "create": {
  230. "type": "boolean"
  231. },
  232. "extraLabels": {
  233. "type": "object"
  234. },
  235. "name": {
  236. "type": "string"
  237. }
  238. }
  239. },
  240. "strategy": {
  241. "type": "object"
  242. },
  243. "tolerations": {
  244. "type": "array"
  245. },
  246. "topologySpreadConstraints": {
  247. "type": "array"
  248. }
  249. }
  250. },
  251. "commonLabels": {
  252. "type": "object"
  253. },
  254. "concurrent": {
  255. "type": "integer"
  256. },
  257. "controllerClass": {
  258. "type": "string"
  259. },
  260. "crds": {
  261. "type": "object",
  262. "properties": {
  263. "annotations": {
  264. "type": "object"
  265. },
  266. "conversion": {
  267. "type": "object",
  268. "properties": {
  269. "enabled": {
  270. "type": "boolean"
  271. }
  272. }
  273. },
  274. "createClusterExternalSecret": {
  275. "type": "boolean"
  276. },
  277. "createClusterGenerator": {
  278. "type": "boolean"
  279. },
  280. "createClusterPushSecret": {
  281. "type": "boolean"
  282. },
  283. "createClusterSecretStore": {
  284. "type": "boolean"
  285. },
  286. "createPushSecret": {
  287. "type": "boolean"
  288. }
  289. }
  290. },
  291. "createOperator": {
  292. "type": "boolean"
  293. },
  294. "deploymentAnnotations": {
  295. "type": "object"
  296. },
  297. "dnsConfig": {
  298. "type": "object"
  299. },
  300. "dnsPolicy": {
  301. "type": "string"
  302. },
  303. "enableHTTP2": {
  304. "type": "boolean"
  305. },
  306. "extendedMetricLabels": {
  307. "type": "boolean"
  308. },
  309. "extraArgs": {
  310. "type": "object"
  311. },
  312. "extraContainers": {
  313. "type": "array"
  314. },
  315. "extraEnv": {
  316. "type": "array"
  317. },
  318. "extraInitContainers": {
  319. "type": "array"
  320. },
  321. "extraObjects": {
  322. "type": "array"
  323. },
  324. "extraVolumeMounts": {
  325. "type": "array"
  326. },
  327. "extraVolumes": {
  328. "type": "array"
  329. },
  330. "fullnameOverride": {
  331. "type": "string"
  332. },
  333. "global": {
  334. "type": "object",
  335. "properties": {
  336. "affinity": {
  337. "type": "object"
  338. },
  339. "compatibility": {
  340. "type": "object",
  341. "properties": {
  342. "openshift": {
  343. "type": "object",
  344. "properties": {
  345. "adaptSecurityContext": {
  346. "type": "string"
  347. }
  348. }
  349. }
  350. }
  351. },
  352. "nodeSelector": {
  353. "type": "object"
  354. },
  355. "tolerations": {
  356. "type": "array"
  357. },
  358. "topologySpreadConstraints": {
  359. "type": "array"
  360. }
  361. }
  362. },
  363. "grafanaDashboard": {
  364. "type": "object",
  365. "properties": {
  366. "annotations": {
  367. "type": "object"
  368. },
  369. "enabled": {
  370. "type": "boolean"
  371. },
  372. "extraLabels": {
  373. "type": "object"
  374. },
  375. "sidecarLabel": {
  376. "type": "string"
  377. },
  378. "sidecarLabelValue": {
  379. "type": "string"
  380. }
  381. }
  382. },
  383. "hostNetwork": {
  384. "type": "boolean"
  385. },
  386. "image": {
  387. "type": "object",
  388. "properties": {
  389. "flavour": {
  390. "type": "string"
  391. },
  392. "pullPolicy": {
  393. "type": "string"
  394. },
  395. "repository": {
  396. "type": "string"
  397. },
  398. "tag": {
  399. "type": "string"
  400. }
  401. }
  402. },
  403. "imagePullSecrets": {
  404. "type": "array"
  405. },
  406. "installCRDs": {
  407. "type": "boolean"
  408. },
  409. "leaderElect": {
  410. "type": "boolean"
  411. },
  412. "livenessProbe": {
  413. "type": "object",
  414. "properties": {
  415. "enabled": {
  416. "type": "boolean"
  417. },
  418. "spec": {
  419. "type": "object",
  420. "properties": {
  421. "address": {
  422. "type": "string"
  423. },
  424. "failureThreshold": {
  425. "type": "integer"
  426. },
  427. "httpGet": {
  428. "type": "object",
  429. "properties": {
  430. "path": {
  431. "type": "string"
  432. },
  433. "port": {
  434. "type": "string"
  435. }
  436. }
  437. },
  438. "initialDelaySeconds": {
  439. "type": "integer"
  440. },
  441. "periodSeconds": {
  442. "type": "integer"
  443. },
  444. "successThreshold": {
  445. "type": "integer"
  446. },
  447. "timeoutSeconds": {
  448. "type": "integer"
  449. }
  450. }
  451. }
  452. }
  453. },
  454. "log": {
  455. "type": "object",
  456. "properties": {
  457. "level": {
  458. "type": "string"
  459. },
  460. "timeEncoding": {
  461. "type": "string"
  462. }
  463. }
  464. },
  465. "metrics": {
  466. "type": "object",
  467. "properties": {
  468. "listen": {
  469. "type": "object",
  470. "properties": {
  471. "port": {
  472. "type": "integer"
  473. },
  474. "secure": {
  475. "type": "object",
  476. "properties": {
  477. "certDir": {
  478. "type": "string"
  479. },
  480. "certFile": {
  481. "type": "string"
  482. },
  483. "enabled": {
  484. "type": "boolean"
  485. },
  486. "keyFile": {
  487. "type": "string"
  488. }
  489. }
  490. }
  491. }
  492. },
  493. "service": {
  494. "type": "object",
  495. "properties": {
  496. "annotations": {
  497. "type": "object"
  498. },
  499. "enabled": {
  500. "type": "boolean"
  501. },
  502. "port": {
  503. "type": "integer"
  504. }
  505. }
  506. }
  507. }
  508. },
  509. "nameOverride": {
  510. "type": "string"
  511. },
  512. "namespaceOverride": {
  513. "type": "string"
  514. },
  515. "nodeSelector": {
  516. "type": "object"
  517. },
  518. "openshiftFinalizers": {
  519. "type": "boolean"
  520. },
  521. "podAnnotations": {
  522. "type": "object"
  523. },
  524. "podDisruptionBudget": {
  525. "type": "object",
  526. "properties": {
  527. "enabled": {
  528. "type": "boolean"
  529. },
  530. "minAvailable": {
  531. "type": [
  532. "integer",
  533. "string"
  534. ]
  535. },
  536. "nameOverride": {
  537. "type": "string"
  538. }
  539. }
  540. },
  541. "podLabels": {
  542. "type": "object"
  543. },
  544. "podSecurityContext": {
  545. "type": "object",
  546. "properties": {
  547. "enabled": {
  548. "type": "boolean"
  549. }
  550. }
  551. },
  552. "podSpecExtra": {
  553. "type": "object"
  554. },
  555. "priorityClassName": {
  556. "type": "string"
  557. },
  558. "processClusterExternalSecret": {
  559. "type": "boolean"
  560. },
  561. "processClusterGenerator": {
  562. "type": "boolean"
  563. },
  564. "processClusterPushSecret": {
  565. "type": "boolean"
  566. },
  567. "processClusterStore": {
  568. "type": "boolean"
  569. },
  570. "processPushSecret": {
  571. "type": "boolean"
  572. },
  573. "rbac": {
  574. "type": "object",
  575. "properties": {
  576. "aggregateToEdit": {
  577. "type": "boolean"
  578. },
  579. "aggregateToView": {
  580. "type": "boolean"
  581. },
  582. "create": {
  583. "type": "boolean"
  584. },
  585. "servicebindings": {
  586. "type": "object",
  587. "properties": {
  588. "create": {
  589. "type": "boolean"
  590. }
  591. }
  592. }
  593. }
  594. },
  595. "replicaCount": {
  596. "type": "integer"
  597. },
  598. "resources": {
  599. "type": "object"
  600. },
  601. "revisionHistoryLimit": {
  602. "type": "integer"
  603. },
  604. "scopedNamespace": {
  605. "type": "string"
  606. },
  607. "scopedRBAC": {
  608. "type": "boolean"
  609. },
  610. "securityContext": {
  611. "type": "object",
  612. "properties": {
  613. "allowPrivilegeEscalation": {
  614. "type": "boolean"
  615. },
  616. "capabilities": {
  617. "type": "object",
  618. "properties": {
  619. "drop": {
  620. "type": "array",
  621. "items": {
  622. "type": "string"
  623. }
  624. }
  625. }
  626. },
  627. "enabled": {
  628. "type": "boolean"
  629. },
  630. "readOnlyRootFilesystem": {
  631. "type": "boolean"
  632. },
  633. "runAsNonRoot": {
  634. "type": "boolean"
  635. },
  636. "runAsUser": {
  637. "type": "integer"
  638. },
  639. "seccompProfile": {
  640. "type": "object",
  641. "properties": {
  642. "type": {
  643. "type": "string"
  644. }
  645. }
  646. }
  647. }
  648. },
  649. "service": {
  650. "type": "object",
  651. "properties": {
  652. "ipFamilies": {
  653. "type": "array"
  654. },
  655. "ipFamilyPolicy": {
  656. "type": "string"
  657. }
  658. }
  659. },
  660. "serviceAccount": {
  661. "type": "object",
  662. "properties": {
  663. "annotations": {
  664. "type": "object"
  665. },
  666. "automount": {
  667. "type": "boolean"
  668. },
  669. "create": {
  670. "type": "boolean"
  671. },
  672. "extraLabels": {
  673. "type": "object"
  674. },
  675. "name": {
  676. "type": "string"
  677. }
  678. }
  679. },
  680. "serviceMonitor": {
  681. "type": "object",
  682. "properties": {
  683. "additionalLabels": {
  684. "type": "object"
  685. },
  686. "enabled": {
  687. "type": "boolean"
  688. },
  689. "honorLabels": {
  690. "type": "boolean"
  691. },
  692. "interval": {
  693. "type": "string"
  694. },
  695. "metricRelabelings": {
  696. "type": "array"
  697. },
  698. "namespace": {
  699. "type": "string"
  700. },
  701. "relabelings": {
  702. "type": "array"
  703. },
  704. "renderMode": {
  705. "type": "string",
  706. "enum": [
  707. "skipIfMissing",
  708. "failIfMissing",
  709. "alwaysRender"
  710. ]
  711. },
  712. "scrapeTimeout": {
  713. "type": "string"
  714. }
  715. }
  716. },
  717. "strategy": {
  718. "type": "object"
  719. },
  720. "systemAuthDelegator": {
  721. "type": "boolean"
  722. },
  723. "tolerations": {
  724. "type": "array"
  725. },
  726. "topologySpreadConstraints": {
  727. "type": "array"
  728. },
  729. "webhook": {
  730. "type": "object",
  731. "properties": {
  732. "affinity": {
  733. "type": "object"
  734. },
  735. "annotations": {
  736. "type": "object"
  737. },
  738. "certCheckInterval": {
  739. "type": "string"
  740. },
  741. "certDir": {
  742. "type": "string"
  743. },
  744. "certManager": {
  745. "type": "object",
  746. "properties": {
  747. "addInjectorAnnotations": {
  748. "type": "boolean"
  749. },
  750. "cert": {
  751. "type": "object",
  752. "properties": {
  753. "annotations": {
  754. "type": "object"
  755. },
  756. "create": {
  757. "type": "boolean"
  758. },
  759. "duration": {
  760. "type": "string"
  761. },
  762. "issuerRef": {
  763. "type": "object",
  764. "properties": {
  765. "group": {
  766. "type": "string"
  767. },
  768. "kind": {
  769. "type": "string"
  770. },
  771. "name": {
  772. "type": "string"
  773. }
  774. }
  775. },
  776. "renewBefore": {
  777. "type": "string"
  778. },
  779. "revisionHistoryLimit": {
  780. "type": "integer"
  781. }
  782. }
  783. },
  784. "enabled": {
  785. "type": "boolean"
  786. }
  787. }
  788. },
  789. "create": {
  790. "type": "boolean"
  791. },
  792. "deploymentAnnotations": {
  793. "type": "object"
  794. },
  795. "extraArgs": {
  796. "type": "object"
  797. },
  798. "extraEnv": {
  799. "type": "array"
  800. },
  801. "extraInitContainers": {
  802. "type": "array"
  803. },
  804. "extraVolumeMounts": {
  805. "type": "array"
  806. },
  807. "extraVolumes": {
  808. "type": "array"
  809. },
  810. "failurePolicy": {
  811. "type": "string"
  812. },
  813. "fullnameOverride": {
  814. "type": "string"
  815. },
  816. "hostNetwork": {
  817. "type": "boolean"
  818. },
  819. "image": {
  820. "type": "object",
  821. "properties": {
  822. "flavour": {
  823. "type": "string"
  824. },
  825. "pullPolicy": {
  826. "type": "string"
  827. },
  828. "repository": {
  829. "type": "string"
  830. },
  831. "tag": {
  832. "type": "string"
  833. }
  834. }
  835. },
  836. "imagePullSecrets": {
  837. "type": "array"
  838. },
  839. "log": {
  840. "type": "object",
  841. "properties": {
  842. "level": {
  843. "type": "string"
  844. },
  845. "timeEncoding": {
  846. "type": "string"
  847. }
  848. }
  849. },
  850. "lookaheadInterval": {
  851. "type": "string"
  852. },
  853. "metrics": {
  854. "type": "object",
  855. "properties": {
  856. "listen": {
  857. "type": "object",
  858. "properties": {
  859. "port": {
  860. "type": "integer"
  861. }
  862. }
  863. },
  864. "service": {
  865. "type": "object",
  866. "properties": {
  867. "annotations": {
  868. "type": "object"
  869. },
  870. "enabled": {
  871. "type": "boolean"
  872. },
  873. "port": {
  874. "type": "integer"
  875. }
  876. }
  877. }
  878. }
  879. },
  880. "nameOverride": {
  881. "type": "string"
  882. },
  883. "nodeSelector": {
  884. "type": "object"
  885. },
  886. "podAnnotations": {
  887. "type": "object"
  888. },
  889. "podDisruptionBudget": {
  890. "type": "object",
  891. "properties": {
  892. "enabled": {
  893. "type": "boolean"
  894. },
  895. "minAvailable": {
  896. "type": [
  897. "integer",
  898. "string"
  899. ]
  900. },
  901. "nameOverride": {
  902. "type": "string"
  903. }
  904. }
  905. },
  906. "podLabels": {
  907. "type": "object"
  908. },
  909. "podSecurityContext": {
  910. "type": "object",
  911. "properties": {
  912. "enabled": {
  913. "type": "boolean"
  914. }
  915. }
  916. },
  917. "port": {
  918. "type": "integer"
  919. },
  920. "priorityClassName": {
  921. "type": "string"
  922. },
  923. "rbac": {
  924. "type": "object",
  925. "properties": {
  926. "create": {
  927. "type": "boolean"
  928. }
  929. }
  930. },
  931. "readinessProbe": {
  932. "type": "object",
  933. "properties": {
  934. "address": {
  935. "type": "string"
  936. },
  937. "port": {
  938. "type": "integer"
  939. }
  940. }
  941. },
  942. "replicaCount": {
  943. "type": "integer"
  944. },
  945. "resources": {
  946. "type": "object"
  947. },
  948. "revisionHistoryLimit": {
  949. "type": "integer"
  950. },
  951. "secretAnnotations": {
  952. "type": "object"
  953. },
  954. "securityContext": {
  955. "type": "object",
  956. "properties": {
  957. "allowPrivilegeEscalation": {
  958. "type": "boolean"
  959. },
  960. "capabilities": {
  961. "type": "object",
  962. "properties": {
  963. "drop": {
  964. "type": "array",
  965. "items": {
  966. "type": "string"
  967. }
  968. }
  969. }
  970. },
  971. "enabled": {
  972. "type": "boolean"
  973. },
  974. "readOnlyRootFilesystem": {
  975. "type": "boolean"
  976. },
  977. "runAsNonRoot": {
  978. "type": "boolean"
  979. },
  980. "runAsUser": {
  981. "type": "integer"
  982. },
  983. "seccompProfile": {
  984. "type": "object",
  985. "properties": {
  986. "type": {
  987. "type": "string"
  988. }
  989. }
  990. }
  991. }
  992. },
  993. "service": {
  994. "type": "object",
  995. "properties": {
  996. "annotations": {
  997. "type": "object"
  998. },
  999. "enabled": {
  1000. "type": "boolean"
  1001. },
  1002. "labels": {
  1003. "type": "object"
  1004. },
  1005. "loadBalancerIP": {
  1006. "type": "string"
  1007. },
  1008. "type": {
  1009. "type": "string"
  1010. }
  1011. }
  1012. },
  1013. "serviceAccount": {
  1014. "type": "object",
  1015. "properties": {
  1016. "annotations": {
  1017. "type": "object"
  1018. },
  1019. "automount": {
  1020. "type": "boolean"
  1021. },
  1022. "create": {
  1023. "type": "boolean"
  1024. },
  1025. "extraLabels": {
  1026. "type": "object"
  1027. },
  1028. "name": {
  1029. "type": "string"
  1030. }
  1031. }
  1032. },
  1033. "strategy": {
  1034. "type": "object"
  1035. },
  1036. "tolerations": {
  1037. "type": "array"
  1038. },
  1039. "topologySpreadConstraints": {
  1040. "type": "array"
  1041. }
  1042. }
  1043. }
  1044. }
  1045. }