agones.dev/agones@v1.53.0/install/helm/agones/values.schema.json (about) 1 { 2 "$schema": "http://json-schema.org/draft-07/schema#", 3 "type": "object", 4 "properties": { 5 "agones": { 6 "type": "object", 7 "properties": { 8 "featureGates": { 9 "type": "string" 10 }, 11 "rbacEnabled": { 12 "type": "boolean" 13 }, 14 "registerApiService": { 15 "type": "boolean" 16 }, 17 "registerServiceAccounts": { 18 "type": "boolean" 19 }, 20 "registerWebhooks": { 21 "type": "boolean" 22 }, 23 "cloudProduct": { 24 "type": "string" 25 }, 26 "createPriorityClass": { 27 "type": "boolean" 28 }, 29 "priorityClassName": { 30 "type": "string" 31 }, 32 "requireDedicatedNodes": { 33 "type": "boolean" 34 }, 35 "crds": { 36 "type": "object", 37 "properties": { 38 "install": { 39 "type": "boolean" 40 }, 41 "cleanupOnDelete": { 42 "type": "boolean" 43 }, 44 "cleanupJobTTL": { 45 "type": "integer", 46 "minimum": 0 47 } 48 }, 49 "if": { 50 "properties": { 51 "cleanupOnDelete": { 52 "const": true 53 } 54 } 55 }, 56 "then": { 57 "properties": { 58 "cleanupJobTTL": { 59 "$ref": "#/definitions/nonNegativeInteger" 60 } 61 }, 62 "required": [ 63 "cleanupJobTTL" 64 ] 65 } 66 }, 67 "metrics": { 68 "type": "object", 69 "properties": { 70 "prometheusEnabled": { 71 "type": "boolean" 72 }, 73 "prometheusServiceDiscovery": { 74 "type": "boolean" 75 }, 76 "stackdriverEnabled": { 77 "type": "boolean" 78 }, 79 "stackdriverProjectID": { 80 "type": "string" 81 }, 82 "stackdriverLabels": { 83 "type": "string" 84 }, 85 "serviceMonitor": { 86 "type": "object", 87 "properties": { 88 "enabled": { 89 "type": "boolean" 90 }, 91 "interval": { 92 "type": "string" 93 } 94 }, 95 "required": [ 96 "enabled" 97 ], 98 "if": { 99 "properties": { 100 "enabled": { 101 "const": true 102 } 103 } 104 }, 105 "then": { 106 "required": [ 107 "interval" 108 ] 109 } 110 } 111 }, 112 "allOf": [ 113 { 114 "if": { 115 "properties": { 116 "prometheusEnabled": { 117 "const": true 118 } 119 } 120 }, 121 "then": { 122 "required": [ 123 "serviceMonitor" 124 ] 125 } 126 }, 127 { 128 "if": { 129 "properties": { 130 "stackdriverProjectID": { 131 "$ref": "#/definitions/nonEmptyString" 132 } 133 } 134 }, 135 "then": { 136 "properties": { 137 "stackdriverEnabled": { 138 "const": true 139 } 140 } 141 } 142 }, 143 { 144 "if": { 145 "properties": { 146 "stackdriverLabels": { 147 "$ref": "#/definitions/nonEmptyString" 148 } 149 } 150 }, 151 "then": { 152 "properties": { 153 "stackdriverEnabled": { 154 "const": true 155 } 156 } 157 } 158 } 159 ], 160 "required": [ 161 "serviceMonitor" 162 ] 163 }, 164 "serviceaccount": { 165 "type": "object", 166 "properties": { 167 "allocator": { 168 "type": "object", 169 "properties": { 170 "name": { 171 "type": "string" 172 }, 173 "annotations": { 174 "type": "object", 175 "additionalProperties": { 176 "type": "string" 177 } 178 }, 179 "labels": { 180 "type": "object", 181 "additionalProperties": { 182 "type": "string" 183 } 184 } 185 }, 186 "required": [ 187 "name" 188 ] 189 }, 190 "controller": { 191 "type": "object", 192 "properties": { 193 "name": { 194 "type": "string" 195 }, 196 "annotations": { 197 "type": "object", 198 "additionalProperties": { 199 "type": "string" 200 } 201 } 202 }, 203 "required": [ 204 "name" 205 ] 206 }, 207 "sdk": { 208 "type": "object", 209 "properties": { 210 "name": { 211 "type": "string" 212 }, 213 "annotations": { 214 "type": "object", 215 "additionalProperties": { 216 "type": "object", 217 "additionalProperties": { 218 "type": "string" 219 } 220 } 221 } 222 }, 223 "required": [ 224 "name" 225 ] 226 } 227 }, 228 "required": [ 229 "allocator", 230 "controller", 231 "sdk" 232 ] 233 }, 234 "image": { 235 "type": "object", 236 "properties": { 237 "registry": { 238 "type": "string" 239 }, 240 "tag": { 241 "type": "string" 242 }, 243 "controller": { 244 "type": "object", 245 "properties": { 246 "name": { 247 "type": "string" 248 }, 249 "pullPolicy": { 250 "type": "string", 251 "enum": [ 252 "Always", 253 "IfNotPresent", 254 "Never" 255 ] 256 }, 257 "tag": { 258 "type": "string" 259 } 260 }, 261 "required": [ 262 "name", 263 "pullPolicy" 264 ] 265 }, 266 "extensions": { 267 "type": "object", 268 "properties": { 269 "name": { 270 "type": "string" 271 }, 272 "pullPolicy": { 273 "type": "string", 274 "enum": [ 275 "Always", 276 "IfNotPresent", 277 "Never" 278 ] 279 }, 280 "tag": { 281 "type": "string" 282 } 283 }, 284 "required": [ 285 "name", 286 "pullPolicy" 287 ] 288 }, 289 "sdk": { 290 "type": "object", 291 "properties": { 292 "name": { 293 "type": "string" 294 }, 295 "cpuRequest": { 296 "$ref": "#/definitions/stringOrZero" 297 }, 298 "cpuLimit": { 299 "$ref": "#/definitions/stringOrZero" 300 }, 301 "memoryRequest": { 302 "$ref": "#/definitions/stringOrZero" 303 }, 304 "memoryLimit": { 305 "$ref": "#/definitions/stringOrZero" 306 }, 307 "alwaysPull": { 308 "type": "boolean" 309 }, 310 "tag": { 311 "type": "string" 312 } 313 }, 314 "required": [ 315 "name" 316 ] 317 }, 318 "ping": { 319 "type": "object", 320 "properties": { 321 "name": { 322 "type": "string" 323 }, 324 "pullPolicy": { 325 "type": "string", 326 "enum": [ 327 "Always", 328 "IfNotPresent", 329 "Never" 330 ] 331 }, 332 "tag": { 333 "type": "string" 334 } 335 }, 336 "required": [ 337 "name", 338 "pullPolicy" 339 ] 340 }, 341 "allocator": { 342 "type": "object", 343 "properties": { 344 "name": { 345 "type": "string" 346 }, 347 "pullPolicy": { 348 "type": "string", 349 "enum": [ 350 "Always", 351 "IfNotPresent", 352 "Never" 353 ] 354 }, 355 "tag": { 356 "type": "string" 357 } 358 }, 359 "required": [ 360 "name", 361 "pullPolicy" 362 ] 363 } 364 }, 365 "required": [ 366 "registry", 367 "controller", 368 "extensions", 369 "ping", 370 "allocator" 371 ] 372 }, 373 "sdkServer": { 374 "type": "object", 375 "properties": { 376 "requestsRateLimit": { 377 "type": "string" 378 } 379 } 380 }, 381 "controller": { 382 "type": "object", 383 "properties": { 384 "replicas": { 385 "type": "integer" 386 }, 387 "http": { 388 "type": "object", 389 "properties": { 390 "port": { 391 "type": "integer" 392 } 393 }, 394 "required": [ 395 "port" 396 ] 397 }, 398 "healthCheck": { 399 "$ref": "#/definitions/healthCheck" 400 }, 401 "logLevel": { 402 "type": "string", 403 "enum": [ 404 "trace", 405 "debug", 406 "info", 407 "warning", 408 "error", 409 "panic", 410 "fatal" 411 ] 412 }, 413 "persistentLogs": { 414 "type": "boolean" 415 }, 416 "persistentLogsSizeLimitMB": { 417 "type": "integer", 418 "minimum": 0, 419 "maximum": 10000 420 }, 421 "resources": { 422 "type": "object" 423 }, 424 "nodeSelector": { 425 "type": "object" 426 }, 427 "affinity": { 428 "type": "object" 429 }, 430 "tolerations": { 431 "$ref": "#/definitions/tolerations" 432 }, 433 "labels": { 434 "type": "object", 435 "additionalProperties": { 436 "type": "string" 437 } 438 }, 439 "annotations": { 440 "type": "object", 441 "additionalProperties": { 442 "type": "string" 443 } 444 }, 445 "allocationBatchWaitTime": { 446 "type": "string" 447 }, 448 "customCertSecretPath": { 449 "type": "array" 450 }, 451 "maxCreationParallelism": { 452 "type": "integer" 453 }, 454 "maxGameServerCreationsPerBatch": { 455 "type": "integer" 456 }, 457 "maxDeletionParallelism": { 458 "type": "integer" 459 }, 460 "maxGameServerDeletionsPerBatch": { 461 "type": "integer" 462 }, 463 "maxPodPendingCount": { 464 "type": "integer" 465 }, 466 "numWorkers": { 467 "type": "integer" 468 }, 469 "topologySpreadConstraints": { 470 "type": "array" 471 }, 472 "apiServerQPS": { 473 "type": "integer" 474 }, 475 "apiServerQPSBurst": { 476 "type": "integer" 477 }, 478 "generateTLS": { 479 "type": "boolean" 480 }, 481 "tlsCert": { 482 "type": "string" 483 }, 484 "tlsKey": { 485 "type": "string" 486 }, 487 "updateStrategy": { 488 "type": "object" 489 }, 490 "pdb": { 491 "type": "object", 492 "properties": { 493 "minAvailable": { 494 "$ref": "#/definitions/stringOrInteger" 495 }, 496 "maxUnavailable": { 497 "$ref": "#/definitions/stringOrInteger" 498 } 499 }, 500 "allOf": [ 501 { 502 "$ref": "#/definitions/minAvailableOrMaxUnavailable" 503 } 504 ] 505 } 506 }, 507 "allOf": [ 508 { 509 "if": { 510 "properties": { 511 "persistentLogs": { 512 "const": true 513 } 514 } 515 }, 516 "then": { 517 "required": [ 518 "persistentLogsSizeLimitMB" 519 ] 520 } 521 } 522 ], 523 "required": [ 524 "replicas", 525 "pdb", 526 "http", 527 "healthCheck" 528 ] 529 }, 530 "ping": { 531 "type": "object", 532 "properties": { 533 "install": { 534 "type": "boolean" 535 }, 536 "replicas": { 537 "type": "integer" 538 }, 539 "http": { 540 "type": "object", 541 "properties": { 542 "expose": { 543 "type": "boolean" 544 }, 545 "response": { 546 "type": "string" 547 }, 548 "port": { 549 "type": "integer" 550 }, 551 "nodePort": { 552 "type": "integer" 553 }, 554 "serviceType": { 555 "type": "string", 556 "enum": [ 557 "ClusterIP", 558 "NodePort", 559 "LoadBalancer", 560 "ExternalName" 561 ] 562 }, 563 "loadBalancerIP": { 564 "type": "string" 565 }, 566 "loadBalancerSourceRanges": { 567 "type": "array", 568 "items": {} 569 }, 570 "annotations": { 571 "type": "object" 572 } 573 }, 574 "allOf": [ 575 { 576 "if": { 577 "properties": { 578 "expose": { 579 "const": true 580 } 581 } 582 }, 583 "then": { 584 "required": [ 585 "port", 586 "serviceType" 587 ] 588 } 589 }, 590 { 591 "if": { 592 "properties": { 593 "serviceType": { 594 "const": "NodePort" 595 } 596 } 597 }, 598 "then": { 599 "required": [ 600 "nodePort" 601 ] 602 } 603 }, 604 { 605 "if": { 606 "properties": { 607 "serviceType": { 608 "const": "LoadBalancer" 609 } 610 } 611 }, 612 "then": { 613 "required": [ 614 "loadBalancerIP", 615 "loadBalancerSourceRanges" 616 ] 617 } 618 } 619 ], 620 "required": [ 621 "expose" 622 ] 623 }, 624 "udp": { 625 "type": "object", 626 "properties": { 627 "expose": { 628 "type": "boolean" 629 }, 630 "rateLimit": { 631 "type": "integer" 632 }, 633 "port": { 634 "type": "integer" 635 }, 636 "nodePort": { 637 "type": "integer" 638 }, 639 "serviceType": { 640 "type": "string", 641 "enum": [ 642 "ClusterIP", 643 "NodePort", 644 "LoadBalancer", 645 "ExternalName" 646 ] 647 }, 648 "loadBalancerIP": { 649 "type": "string" 650 }, 651 "loadBalancerSourceRanges": { 652 "type": "array", 653 "items": {} 654 }, 655 "annotations": { 656 "type": "object" 657 } 658 }, 659 "allOf": [ 660 { 661 "if": { 662 "properties": { 663 "expose": { 664 "const": true 665 } 666 } 667 }, 668 "then": { 669 "required": [ 670 "port", 671 "serviceType" 672 ] 673 } 674 }, 675 { 676 "if": { 677 "properties": { 678 "serviceType": { 679 "const": "NodePort" 680 } 681 } 682 }, 683 "then": { 684 "required": [ 685 "nodePort" 686 ] 687 } 688 }, 689 { 690 "if": { 691 "properties": { 692 "serviceType": { 693 "const": "LoadBalancer" 694 } 695 } 696 }, 697 "then": { 698 "required": [ 699 "loadBalancerIP", 700 "loadBalancerSourceRanges" 701 ] 702 } 703 } 704 ], 705 "required": [ 706 "expose" 707 ] 708 }, 709 "healthCheck": { 710 "$ref": "#/definitions/healthCheck" 711 }, 712 "resources": { 713 "type": "object" 714 }, 715 "nodeSelector": { 716 "type": "object" 717 }, 718 "tolerations": { 719 "$ref": "#/definitions/tolerations" 720 }, 721 "affinity": { 722 "type": "object" 723 }, 724 "annotations": { 725 "type": "object" 726 }, 727 "updateStrategy": { 728 "type": "object" 729 }, 730 "pdb": { 731 "type": "object", 732 "properties": { 733 "enabled": { 734 "type": "boolean" 735 }, 736 "minAvailable": { 737 "$ref": "#/definitions/stringOrInteger" 738 }, 739 "maxUnavailable": { 740 "$ref": "#/definitions/stringOrInteger" 741 } 742 }, 743 "allOf": [ 744 { 745 "$ref": "#/definitions/minAvailableOrMaxUnavailable" 746 } 747 ], 748 "required": [ 749 "enabled" 750 ] 751 }, 752 "topologySpreadConstraints": { 753 "type": "array" 754 } 755 }, 756 "allOf": [ 757 { 758 "if": { 759 "properties": { 760 "install": { 761 "const": true 762 } 763 } 764 }, 765 "then": { 766 "required": [ 767 "replicas", 768 "http", 769 "udp", 770 "healthCheck", 771 "pdb" 772 ] 773 } 774 } 775 ], 776 "required": [ 777 "install" 778 ] 779 }, 780 "allocator": { 781 "type": "object", 782 "properties": { 783 "install": { 784 "type": "boolean" 785 }, 786 "apiServerQPS": { 787 "type": "integer" 788 }, 789 "apiServerQPSBurst": { 790 "type": "integer" 791 }, 792 "remoteAllocationTimeout": { 793 "type": "string" 794 }, 795 "totalRemoteAllocationTimeout": { 796 "type": "string" 797 }, 798 "logLevel": { 799 "type": "string", 800 "enum": [ 801 "trace", 802 "debug", 803 "info", 804 "warning", 805 "error", 806 "panic", 807 "fatal" 808 ] 809 }, 810 "replicas": { 811 "type": "integer" 812 }, 813 "service": { 814 "type": "object", 815 "properties": { 816 "name": { 817 "type": "string" 818 }, 819 "serviceType": { 820 "type": "string", 821 "enum": [ 822 "ClusterIP", 823 "NodePort", 824 "LoadBalancer", 825 "ExternalName" 826 ] 827 }, 828 "externalTrafficPolicy": { 829 "type": "string" 830 }, 831 "clusterIP": { 832 "type": "string" 833 }, 834 "loadBalancerIP": { 835 "type": "string" 836 }, 837 "loadBalancerSourceRanges": { 838 "type": "array", 839 "items": {} 840 }, 841 "annotations": { 842 "type": "object" 843 }, 844 "http": { 845 "type": "object", 846 "properties": { 847 "enabled": { 848 "type": "boolean" 849 }, 850 "appProtocol": { 851 "type": "string" 852 }, 853 "port": { 854 "type": "integer" 855 }, 856 "portName": { 857 "type": "string" 858 }, 859 "targetPort": { 860 "type": "integer" 861 }, 862 "nodePort": { 863 "type": "integer" 864 }, 865 "unallocatedStatusCode": { 866 "type": "integer" 867 } 868 }, 869 "allOf": [ 870 { 871 "if": { 872 "properties": { 873 "enabled": { 874 "const": "true" 875 } 876 } 877 }, 878 "then": { 879 "required": [ 880 "port", 881 "portName", 882 "targetPort" 883 ] 884 } 885 }, 886 { 887 "if": { 888 "properties": { 889 "serviceType": { 890 "const": "NodePort" 891 } 892 } 893 }, 894 "then": { 895 "required": [ 896 "nodePort" 897 ] 898 } 899 } 900 ], 901 "required": [ 902 "enabled" 903 ] 904 }, 905 "grpc": { 906 "type": "object", 907 "properties": { 908 "enabled": { 909 "type": "boolean" 910 }, 911 "appProtocol": { 912 "type": "string" 913 }, 914 "port": { 915 "type": "integer" 916 }, 917 "portName": { 918 "type": "string" 919 }, 920 "targetPort": { 921 "type": "integer" 922 }, 923 "nodePort": { 924 "type": "integer" 925 } 926 }, 927 "allOf": [ 928 { 929 "if": { 930 "properties": { 931 "enabled": { 932 "const": "true" 933 } 934 } 935 }, 936 "then": { 937 "required": [ 938 "port", 939 "portName", 940 "targetPort" 941 ] 942 } 943 }, 944 { 945 "if": { 946 "properties": { 947 "serviceType": { 948 "const": "NodePort" 949 } 950 } 951 }, 952 "then": { 953 "required": [ 954 "nodePort" 955 ] 956 } 957 } 958 ], 959 "required": [ 960 "enabled" 961 ] 962 } 963 }, 964 "allOf": [ 965 { 966 "if": { 967 "properties": { 968 "serviceType": { 969 "const": "LoadBalancer" 970 } 971 } 972 }, 973 "then": { 974 "required": [ 975 "externalTrafficPolicy" 976 ] 977 } 978 } 979 ], 980 "required": [ 981 "name", 982 "serviceType", 983 "http", 984 "grpc" 985 ] 986 }, 987 "generateClientTLS": { 988 "type": "boolean" 989 }, 990 "generateTLS": { 991 "type": "boolean" 992 }, 993 "disableMTLS": { 994 "type": "boolean" 995 }, 996 "disableTLS": { 997 "type": "boolean" 998 }, 999 "disableSecretCreation": { 1000 "type": "boolean" 1001 }, 1002 "tlsCert": { 1003 "type": "string" 1004 }, 1005 "tlsKey": { 1006 "type": "string" 1007 }, 1008 "clientCAs": { 1009 "type": "object" 1010 }, 1011 "tolerations": { 1012 "$ref": "#/definitions/tolerations" 1013 }, 1014 "affinity": { 1015 "type": "object" 1016 }, 1017 "annotations": { 1018 "type": "object" 1019 }, 1020 "resources": { 1021 "type": "object" 1022 }, 1023 "labels": { 1024 "type": "object", 1025 "additionalProperties": { 1026 "type": "string" 1027 } 1028 }, 1029 "readiness": { 1030 "type": "object", 1031 "properties": { 1032 "initialDelaySeconds": { 1033 "type": "integer" 1034 }, 1035 "periodSeconds": { 1036 "type": "integer" 1037 }, 1038 "failureThreshold": { 1039 "type": "integer" 1040 } 1041 }, 1042 "required": [ 1043 "initialDelaySeconds", 1044 "periodSeconds", 1045 "failureThreshold" 1046 ] 1047 }, 1048 "nodeSelector": { 1049 "type": "object" 1050 }, 1051 "serviceMetrics": { 1052 "type": "object", 1053 "properties": { 1054 "name": { 1055 "type": "string" 1056 }, 1057 "annotations": { 1058 "type": "object" 1059 }, 1060 "http": { 1061 "type": "object", 1062 "properties": { 1063 "port": { 1064 "type": "integer" 1065 }, 1066 "portName": { 1067 "type": "string" 1068 } 1069 }, 1070 "required": [ 1071 "port", 1072 "portName" 1073 ] 1074 } 1075 }, 1076 "required": [ 1077 "name", 1078 "http" 1079 ] 1080 }, 1081 "allocationBatchWaitTime": { 1082 "type": "string" 1083 }, 1084 "updateStrategy": { 1085 "type": "object" 1086 }, 1087 "pdb": { 1088 "type": "object", 1089 "properties": { 1090 "enabled": { 1091 "type": "boolean" 1092 }, 1093 "minAvailable": { 1094 "$ref": "#/definitions/stringOrInteger" 1095 }, 1096 "maxUnavailable": { 1097 "$ref": "#/definitions/stringOrInteger" 1098 } 1099 }, 1100 "required": [ 1101 "enabled" 1102 ], 1103 "allOf": [ 1104 { 1105 "$ref": "#/definitions/minAvailableOrMaxUnavailable" 1106 } 1107 ] 1108 }, 1109 "topologySpreadConstraints": { 1110 "type": "array" 1111 }, 1112 "healthCheck": { 1113 "$ref": "#/definitions/healthCheck" 1114 } 1115 }, 1116 "allOf": [ 1117 { 1118 "if": { 1119 "properties": { 1120 "install": { 1121 "const": true 1122 } 1123 } 1124 }, 1125 "then": { 1126 "required": [ 1127 "replicas", 1128 "service", 1129 "readiness", 1130 "serviceMetrics", 1131 "pdb", 1132 "healthCheck" 1133 ] 1134 } 1135 } 1136 ], 1137 "required": [ 1138 "install" 1139 ] 1140 }, 1141 "extensions": { 1142 "type": "object", 1143 "properties": { 1144 "hostNetwork": { 1145 "type": "boolean" 1146 }, 1147 "http": { 1148 "type": "object", 1149 "properties": { 1150 "port": { 1151 "type": "integer" 1152 } 1153 }, 1154 "required": [ 1155 "port" 1156 ] 1157 }, 1158 "webhooks": { 1159 "type": "object", 1160 "properties": { 1161 "port": { 1162 "type": "integer" 1163 } 1164 }, 1165 "required": [ 1166 "port" 1167 ] 1168 }, 1169 "healthCheck": { 1170 "$ref": "#/definitions/healthCheck" 1171 }, 1172 "resources": { 1173 "type": "object" 1174 }, 1175 "generateTLS": { 1176 "type": "boolean" 1177 }, 1178 "nodeSelector": { 1179 "type": "object" 1180 }, 1181 "tolerations": { 1182 "$ref": "#/definitions/tolerations" 1183 }, 1184 "affinity": { 1185 "type": "object" 1186 }, 1187 "annotations": { 1188 "type": "object" 1189 }, 1190 "labels": { 1191 "type": "object" 1192 }, 1193 "numWorkers": { 1194 "type": "integer" 1195 }, 1196 "apiServerQPS": { 1197 "type": "integer" 1198 }, 1199 "apiServerQPSBurst": { 1200 "type": "integer" 1201 }, 1202 "logLevel": { 1203 "type": "string", 1204 "enum": [ 1205 "trace", 1206 "debug", 1207 "info", 1208 "warning", 1209 "error", 1210 "panic", 1211 "fatal" 1212 ] 1213 }, 1214 "persistentLogs": { 1215 "type": "boolean" 1216 }, 1217 "persistentLogsSizeLimitMB": { 1218 "type": "integer", 1219 "minimum": 0, 1220 "maximum": 10000 1221 }, 1222 "disableSecret": { 1223 "type": "boolean" 1224 }, 1225 "customCertSecretPath": { 1226 "type": "array" 1227 }, 1228 "allocationApiService": { 1229 "type": "object", 1230 "properties": { 1231 "annotations": { 1232 "type": "object" 1233 }, 1234 "disableCaBundle": { 1235 "type": "boolean" 1236 } 1237 } 1238 }, 1239 "validatingWebhook": { 1240 "type": "object", 1241 "properties": { 1242 "annotations": { 1243 "type": "object" 1244 }, 1245 "disableCaBundle": { 1246 "type": "boolean" 1247 } 1248 } 1249 }, 1250 "mutatingWebhook": { 1251 "type": "object", 1252 "properties": { 1253 "annotations": { 1254 "type": "object" 1255 }, 1256 "disableCaBundle": { 1257 "type": "boolean" 1258 } 1259 } 1260 }, 1261 "allocationBatchWaitTime": { 1262 "type": "string" 1263 }, 1264 "updateStrategy": { 1265 "type": "object" 1266 }, 1267 "pdb": { 1268 "type": "object", 1269 "properties": { 1270 "minAvailable": { 1271 "$ref": "#/definitions/stringOrInteger" 1272 }, 1273 "maxUnavailable": { 1274 "$ref": "#/definitions/stringOrInteger" 1275 } 1276 }, 1277 "allOf": [ 1278 { 1279 "$ref": "#/definitions/minAvailableOrMaxUnavailable" 1280 } 1281 ] 1282 }, 1283 "replicas": { 1284 "type": "integer" 1285 }, 1286 "readiness": { 1287 "type": "object", 1288 "properties": { 1289 "initialDelaySeconds": { 1290 "type": "integer" 1291 }, 1292 "periodSeconds": { 1293 "type": "integer" 1294 }, 1295 "failureThreshold": { 1296 "type": "integer" 1297 } 1298 }, 1299 "required": [ 1300 "initialDelaySeconds", 1301 "periodSeconds", 1302 "failureThreshold" 1303 ] 1304 }, 1305 "topologySpreadConstraints": { 1306 "type": "array" 1307 } 1308 }, 1309 "allOf": [ 1310 { 1311 "if": { 1312 "properties": { 1313 "persistentLogs": { 1314 "const": true 1315 } 1316 } 1317 }, 1318 "then": { 1319 "required": [ 1320 "persistentLogsSizeLimitMB" 1321 ] 1322 } 1323 } 1324 ], 1325 "required": [ 1326 "http", 1327 "webhooks", 1328 "healthCheck", 1329 "pdb", 1330 "replicas", 1331 "readiness" 1332 ] 1333 } 1334 }, 1335 "required": [ 1336 "featureGates", 1337 "crds", 1338 "metrics", 1339 "serviceaccount", 1340 "image", 1341 "controller", 1342 "ping", 1343 "allocator", 1344 "extensions" 1345 ], 1346 "allOf": [ 1347 { 1348 "if": { 1349 "properties": { 1350 "createPriorityClass": { 1351 "const": true 1352 } 1353 } 1354 }, 1355 "then": { 1356 "required": [ 1357 "priorityClassName" 1358 ], 1359 "properties": { 1360 "priorityClassName": { 1361 "$ref": "#/definitions/nonEmptyString" 1362 } 1363 } 1364 } 1365 }, 1366 { 1367 "if": { 1368 "properties": { 1369 "priorityClassName": { 1370 "$ref": "#/definitions/nonEmptyString" 1371 } 1372 } 1373 }, 1374 "then": { 1375 "required": [ 1376 "createPriorityClass" 1377 ], 1378 "properties": { 1379 "createPriorityClass": { 1380 "const": true 1381 } 1382 } 1383 } 1384 }, 1385 { 1386 "if": { 1387 "properties": { 1388 "controller": { 1389 "properties": { 1390 "affinity": { 1391 "$ref": "#/definitions/nonEmptyObject" 1392 } 1393 }, 1394 "required": [ 1395 "affinity" 1396 ] 1397 } 1398 } 1399 }, 1400 "then": { 1401 "properties": { 1402 "requireDedicatedNodes": { 1403 "const": false 1404 } 1405 } 1406 } 1407 }, 1408 { 1409 "if": { 1410 "properties": { 1411 "ping": { 1412 "properties": { 1413 "affinity": { 1414 "$ref": "#/definitions/nonEmptyObject" 1415 } 1416 }, 1417 "required": [ 1418 "affinity" 1419 ] 1420 } 1421 } 1422 }, 1423 "then": { 1424 "properties": { 1425 "requireDedicatedNodes": { 1426 "const": false 1427 } 1428 } 1429 } 1430 }, 1431 { 1432 "if": { 1433 "properties": { 1434 "allocator": { 1435 "properties": { 1436 "affinity": { 1437 "$ref": "#/definitions/nonEmptyObject" 1438 } 1439 }, 1440 "required": [ 1441 "affinity" 1442 ] 1443 } 1444 } 1445 }, 1446 "then": { 1447 "properties": { 1448 "requireDedicatedNodes": { 1449 "const": false 1450 } 1451 } 1452 } 1453 }, 1454 { 1455 "if": { 1456 "properties": { 1457 "extensions": { 1458 "properties": { 1459 "affinity": { 1460 "$ref": "#/definitions/nonEmptyObject" 1461 } 1462 }, 1463 "required": [ 1464 "affinity" 1465 ] 1466 } 1467 } 1468 }, 1469 "then": { 1470 "properties": { 1471 "requireDedicatedNodes": { 1472 "const": false 1473 } 1474 } 1475 } 1476 }, 1477 { 1478 "if": { 1479 "properties": { 1480 "requireDedicatedNodes": { 1481 "const": true 1482 } 1483 } 1484 }, 1485 "then": { 1486 "properties": { 1487 "controller": { 1488 "properties": { 1489 "affinity": { 1490 "anyOf": [ 1491 { 1492 "$ref": "#/definitions/emptyObject" 1493 }, 1494 { 1495 "type": "null" 1496 } 1497 ] 1498 } 1499 } 1500 }, 1501 "ping": { 1502 "properties": { 1503 "affinity": { 1504 "anyOf": [ 1505 { 1506 "$ref": "#/definitions/emptyObject" 1507 }, 1508 { 1509 "type": "null" 1510 } 1511 ] 1512 } 1513 } 1514 }, 1515 "allocator": { 1516 "properties": { 1517 "affinity": { 1518 "anyOf": [ 1519 { 1520 "$ref": "#/definitions/emptyObject" 1521 }, 1522 { 1523 "type": "null" 1524 } 1525 ] 1526 } 1527 } 1528 }, 1529 "extensions": { 1530 "properties": { 1531 "affinity": { 1532 "anyOf": [ 1533 { 1534 "$ref": "#/definitions/emptyObject" 1535 }, 1536 { 1537 "type": "null" 1538 } 1539 ] 1540 } 1541 } 1542 } 1543 } 1544 } 1545 } 1546 ] 1547 }, 1548 "gameservers": { 1549 "type": "object", 1550 "properties": { 1551 "namespaces": { 1552 "type": "array", 1553 "items": { 1554 "type": "string" 1555 } 1556 }, 1557 "minPort": { 1558 "type": "integer" 1559 }, 1560 "maxPort": { 1561 "type": "integer" 1562 }, 1563 "additionalPortRanges": { 1564 "type": "object" 1565 }, 1566 "podPreserveUnknownFields": { 1567 "type": "boolean" 1568 }, 1569 "lists": { 1570 "type": "object", 1571 "properties": { 1572 "maxItems": { 1573 "type": "integer" 1574 } 1575 }, 1576 "required": [ 1577 "maxItems" 1578 ] 1579 } 1580 }, 1581 "required": [ 1582 "namespaces", 1583 "minPort", 1584 "maxPort", 1585 "podPreserveUnknownFields", 1586 "lists" 1587 ] 1588 }, 1589 "helm": { 1590 "type": "object", 1591 "properties": { 1592 "installTests": { 1593 "type": "boolean" 1594 } 1595 } 1596 } 1597 }, 1598 "required": [ 1599 "agones", 1600 "gameservers", 1601 "helm" 1602 ], 1603 "definitions": { 1604 "emptyObject": { 1605 "type": "object", 1606 "maxProperties": 0 1607 }, 1608 "nonEmptyObject": { 1609 "type": "object", 1610 "minProperties": 1 1611 }, 1612 "nonEmptyString": { 1613 "type": "string", 1614 "minLength": 1 1615 }, 1616 "nonNegativeInteger": { 1617 "type": "integer", 1618 "minimum": 0 1619 }, 1620 "stringOrInteger": { 1621 "anyOf": [ 1622 { 1623 "type": "integer" 1624 }, 1625 { 1626 "type": "string" 1627 } 1628 ] 1629 }, 1630 "stringOrZero": { 1631 "anyOf": [ 1632 { 1633 "type": "string" 1634 }, 1635 { 1636 "type": "integer", 1637 "enum": [ 1638 0 1639 ] 1640 } 1641 ] 1642 }, 1643 "minAvailableOrMaxUnavailable": { 1644 "oneOf": [ 1645 { 1646 "required": [ 1647 "minAvailable" 1648 ], 1649 "not": { 1650 "required": [ 1651 "maxUnavailable" 1652 ] 1653 } 1654 }, 1655 { 1656 "required": [ 1657 "maxUnavailable" 1658 ], 1659 "not": { 1660 "required": [ 1661 "minAvailable" 1662 ] 1663 } 1664 } 1665 ] 1666 }, 1667 "healthCheck": { 1668 "type": "object", 1669 "properties": { 1670 "initialDelaySeconds": { 1671 "type": "integer" 1672 }, 1673 "periodSeconds": { 1674 "type": "integer" 1675 }, 1676 "failureThreshold": { 1677 "type": "integer" 1678 }, 1679 "timeoutSeconds": { 1680 "type": "integer" 1681 } 1682 }, 1683 "required": [ 1684 "initialDelaySeconds", 1685 "periodSeconds", 1686 "failureThreshold", 1687 "timeoutSeconds" 1688 ] 1689 }, 1690 "tolerations": { 1691 "type": "array", 1692 "items": { 1693 "type": "object", 1694 "properties": { 1695 "key": { 1696 "type": "string" 1697 }, 1698 "operator": { 1699 "type": "string" 1700 }, 1701 "value": { 1702 "type": "string" 1703 }, 1704 "effect": { 1705 "type": "string" 1706 } 1707 } 1708 } 1709 } 1710 } 1711 }