revisions.serving.knative.dev created 2021-08-30 18:59:46, version 5618

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: "{\"apiVersion\":\"apiextensions.k8s.io/v1\"\
      ,\"kind\":\"CustomResourceDefinition\",\"metadata\":{\"labels\":{\"knative.dev/crd-install\"\
      :\"true\",\"serving.knative.dev/release\":\"v0.24.0\"},\"name\":\"revisions.serving.knative.dev\"\
      },\"spec\":{\"group\":\"serving.knative.dev\",\"names\":{\"categories\":[\"\
      all\",\"knative\",\"serving\"],\"kind\":\"Revision\",\"plural\":\"revisions\"\
      ,\"shortNames\":[\"rev\"],\"singular\":\"revision\"},\"scope\":\"Namespaced\"\
      ,\"versions\":[{\"additionalPrinterColumns\":[{\"jsonPath\":\".metadata.labels['serving\\\
      \\.knative\\\\.dev/configuration']\",\"name\":\"Config Name\",\"type\":\"string\"\
      },{\"jsonPath\":\".status.serviceName\",\"name\":\"K8s Service Name\",\"type\"\
      :\"string\"},{\"jsonPath\":\".metadata.labels['serving\\\\.knative\\\\.dev/configurationGeneration']\"\
      ,\"name\":\"Generation\",\"type\":\"string\"},{\"jsonPath\":\".status.conditions[?(@.type=='Ready')].status\"\
      ,\"name\":\"Ready\",\"type\":\"string\"},{\"jsonPath\":\".status.conditions[?(@.type=='Ready')].reason\"\
      ,\"name\":\"Reason\",\"type\":\"string\"},{\"jsonPath\":\".status.actualReplicas\"\
      ,\"name\":\"Actual Replicas\",\"type\":\"integer\"},{\"jsonPath\":\".status.desiredReplicas\"\
      ,\"name\":\"Desired Replicas\",\"type\":\"integer\"}],\"name\":\"v1\",\"schema\"\
      :{\"openAPIV3Schema\":{\"description\":\"Revision is an immutable snapshot of\
      \ code and configuration.  A revision references a container image. Revisions\
      \ are created by updates to a Configuration. \\n See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision\"\
      ,\"properties\":{\"apiVersion\":{\"description\":\"APIVersion defines the versioned\
      \ schema of this representation of an object. Servers should convert recognized\
      \ schemas to the latest internal value, and may reject unrecognized values.\
      \ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources\"\
      ,\"type\":\"string\"},\"kind\":{\"description\":\"Kind is a string value representing\
      \ the REST resource this object represents. Servers may infer this from the\
      \ endpoint the client submits requests to. Cannot be updated. In CamelCase.\
      \ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds\"\
      ,\"type\":\"string\"},\"metadata\":{\"type\":\"object\"},\"spec\":{\"description\"\
      :\"RevisionSpec holds the desired state of the Revision (from the client).\"\
      ,\"properties\":{\"containerConcurrency\":{\"description\":\"ContainerConcurrency\
      \ specifies the maximum allowed in-flight (concurrent) requests per container\
      \ of the Revision.  Defaults to `0` which means concurrency to the application\
      \ is not limited, and the system decides the target concurrency for the autoscaler.\"\
      ,\"format\":\"int64\",\"type\":\"integer\"},\"containers\":{\"description\"\
      :\"List of containers belonging to the pod. Containers cannot currently be added\
      \ or removed. There must be at least one container in a Pod. Cannot be updated.\"\
      ,\"items\":{\"description\":\"A single application container that you want to\
      \ run within a pod.\",\"properties\":{\"args\":{\"description\":\"Arguments\
      \ to the entrypoint. The docker image's CMD is used if this is not provided.\
      \ Variable references $(VAR_NAME) are expanded using the container's environment.\
      \ If a variable cannot be resolved, the reference in the input string will be\
      \ unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME).\
      \ Escaped references will never be expanded, regardless of whether the variable\
      \ exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell\"\
      ,\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"command\":{\"description\"\
      :\"Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT\
      \ is used if this is not provided. Variable references $(VAR_NAME) are expanded\
      \ using the container's environment. If a variable cannot be resolved, the reference\
      \ in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped\
      \ with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,\
      \ regardless of whether the variable exists or not. Cannot be updated. More\
      \ info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell\"\
      ,\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"env\":{\"description\"\
      :\"List of environment variables to set in the container. Cannot be updated.\"\
      ,\"items\":{\"description\":\"EnvVar represents an environment variable present\
      \ in a Container.\",\"properties\":{\"name\":{\"description\":\"Name of the\
      \ environment variable. Must be a C_IDENTIFIER.\",\"type\":\"string\"},\"value\"\
      :{\"description\":\"Variable references $(VAR_NAME) are expanded using the previous\
      \ defined environment variables in the container and any service environment\
      \ variables. If a variable cannot be resolved, the reference in the input string\
      \ will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$,\
      \ ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of\
      \ whether the variable exists or not. Defaults to \\\"\\\".\",\"type\":\"string\"\
      },\"valueFrom\":{\"description\":\"Source for the environment variable's value.\
      \ Cannot be used if value is not empty.\",\"properties\":{\"configMapKeyRef\"\
      :{\"description\":\"Selects a key of a ConfigMap.\",\"properties\":{\"key\"\
      :{\"description\":\"The key to select.\",\"type\":\"string\"},\"name\":{\"description\"\
      :\"Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\
      \ TODO: Add other useful fields. apiVersion, kind, uid?\",\"type\":\"string\"\
      },\"optional\":{\"description\":\"Specify whether the ConfigMap or its key must\
      \ be defined\",\"type\":\"boolean\"}},\"required\":[\"key\"],\"type\":\"object\"\
      },\"secretKeyRef\":{\"description\":\"Selects a key of a secret in the pod's\
      \ namespace\",\"properties\":{\"key\":{\"description\":\"The key of the secret\
      \ to select from.  Must be a valid secret key.\",\"type\":\"string\"},\"name\"\
      :{\"description\":\"Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\
      \ TODO: Add other useful fields. apiVersion, kind, uid?\",\"type\":\"string\"\
      },\"optional\":{\"description\":\"Specify whether the Secret or its key must\
      \ be defined\",\"type\":\"boolean\"}},\"required\":[\"key\"],\"type\":\"object\"\
      }},\"type\":\"object\",\"x-kubernetes-preserve-unknown-fields\":true}},\"required\"\
      :[\"name\"],\"type\":\"object\"},\"type\":\"array\"},\"envFrom\":{\"description\"\
      :\"List of sources to populate environment variables in the container. The keys\
      \ defined within a source must be a C_IDENTIFIER. All invalid keys will be reported\
      \ as an event when the container is starting. When a key exists in multiple\
      \ sources, the value associated with the last source will take precedence. Values\
      \ defined by an Env with a duplicate key will take precedence. Cannot be updated.\"\
      ,\"items\":{\"description\":\"EnvFromSource represents the source of a set of\
      \ ConfigMaps\",\"properties\":{\"configMapRef\":{\"description\":\"The ConfigMap\
      \ to select from\",\"properties\":{\"name\":{\"description\":\"Name of the referent.\
      \ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\
      \ TODO: Add other useful fields. apiVersion, kind, uid?\",\"type\":\"string\"\
      },\"optional\":{\"description\":\"Specify whether the ConfigMap must be defined\"\
      ,\"type\":\"boolean\"}},\"type\":\"object\"},\"prefix\":{\"description\":\"\
      An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.\"\
      ,\"type\":\"string\"},\"secretRef\":{\"description\":\"The Secret to select\
      \ from\",\"properties\":{\"name\":{\"description\":\"Name of the referent. More\
      \ info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\
      \ TODO: Add other useful fields. apiVersion, kind, uid?\",\"type\":\"string\"\
      },\"optional\":{\"description\":\"Specify whether the Secret must be defined\"\
      ,\"type\":\"boolean\"}},\"type\":\"object\"}},\"type\":\"object\"},\"type\"\
      :\"array\"},\"image\":{\"description\":\"Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images\
      \ This field is optional to allow higher level config management to default\
      \ or override container images in workload controllers like Deployments and\
      \ StatefulSets.\",\"type\":\"string\"},\"imagePullPolicy\":{\"description\"\
      :\"Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always\
      \ if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated.\
      \ More info: https://kubernetes.io/docs/concepts/containers/images#updating-images\"\
      ,\"type\":\"string\"},\"livenessProbe\":{\"description\":\"Periodic probe of\
      \ container liveness. Container will be restarted if the probe fails. Cannot\
      \ be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\"\
      ,\"properties\":{\"exec\":{\"description\":\"One and only one of the following\
      \ should be specified. Exec specifies the action to take.\",\"properties\":{\"\
      command\":{\"description\":\"Command is the command line to execute inside the\
      \ container, the working directory for the command  is root ('/') in the container's\
      \ filesystem. The command is simply exec'd, it is not run inside a shell, so\
      \ traditional shell instructions ('|', etc) won't work. To use a shell, you\
      \ need to explicitly call out to that shell. Exit status of 0 is treated as\
      \ live/healthy and non-zero is unhealthy.\",\"items\":{\"type\":\"string\"},\"\
      type\":\"array\"}},\"type\":\"object\"},\"failureThreshold\":{\"description\"\
      :\"Minimum consecutive failures for the probe to be considered failed after\
      \ having succeeded. Defaults to 3. Minimum value is 1.\",\"format\":\"int32\"\
      ,\"type\":\"integer\"},\"httpGet\":{\"description\":\"HTTPGet specifies the\
      \ http request to perform.\",\"properties\":{\"host\":{\"description\":\"Host\
      \ name to connect to, defaults to the pod IP. You probably want to set \\\"\
      Host\\\" in httpHeaders instead.\",\"type\":\"string\"},\"httpHeaders\":{\"\
      description\":\"Custom headers to set in the request. HTTP allows repeated headers.\"\
      ,\"items\":{\"description\":\"HTTPHeader describes a custom header to be used\
      \ in HTTP probes\",\"properties\":{\"name\":{\"description\":\"The header field\
      \ name\",\"type\":\"string\"},\"value\":{\"description\":\"The header field\
      \ value\",\"type\":\"string\"}},\"required\":[\"name\",\"value\"],\"type\":\"\
      object\"},\"type\":\"array\"},\"path\":{\"description\":\"Path to access on\
      \ the HTTP server.\",\"type\":\"string\"},\"scheme\":{\"description\":\"Scheme\
      \ to use for connecting to the host. Defaults to HTTP.\",\"type\":\"string\"\
      }},\"type\":\"object\",\"x-kubernetes-preserve-unknown-fields\":true},\"initialDelaySeconds\"\
      :{\"description\":\"Number of seconds after the container has started before\
      \ liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\"\
      ,\"format\":\"int32\",\"type\":\"integer\"},\"periodSeconds\":{\"description\"\
      :\"How often (in seconds) to perform the probe.\",\"format\":\"int32\",\"type\"\
      :\"integer\"},\"successThreshold\":{\"description\":\"Minimum consecutive successes\
      \ for the probe to be considered successful after having failed. Defaults to\
      \ 1. Must be 1 for liveness and startup. Minimum value is 1.\",\"format\":\"\
      int32\",\"type\":\"integer\"},\"tcpSocket\":{\"description\":\"TCPSocket specifies\
      \ an action involving a TCP port. TCP hooks not yet supported TODO: implement\
      \ a realistic TCP lifecycle hook\",\"properties\":{\"host\":{\"description\"\
      :\"Optional: Host name to connect to, defaults to the pod IP.\",\"type\":\"\
      string\"}},\"type\":\"object\",\"x-kubernetes-preserve-unknown-fields\":true},\"\
      timeoutSeconds\":{\"description\":\"Number of seconds after which the probe\
      \ times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\"\
      ,\"format\":\"int32\",\"type\":\"integer\"}},\"type\":\"object\"},\"name\":{\"\
      description\":\"Name of the container specified as a DNS_LABEL. Each container\
      \ in a pod must have a unique name (DNS_LABEL). Cannot be updated.\",\"type\"\
      :\"string\"},\"ports\":{\"description\":\"List of ports to expose from the container.\
      \ Exposing a port here gives the system additional information about the network\
      \ connections a container uses, but is primarily informational. Not specifying\
      \ a port here DOES NOT prevent that port from being exposed. Any port which\
      \ is listening on the default \\\"0.0.0.0\\\" address inside a container will\
      \ be accessible from the network. Cannot be updated.\",\"items\":{\"description\"\
      :\"ContainerPort represents a network port in a single container.\",\"properties\"\
      :{\"containerPort\":{\"description\":\"Number of port to expose on the pod's\
      \ IP address. This must be a valid port number, 0 \\u003c x \\u003c 65536.\"\
      ,\"format\":\"int32\",\"type\":\"integer\"},\"name\":{\"description\":\"If specified,\
      \ this must be an IANA_SVC_NAME and unique within the pod. Each named port in\
      \ a pod must have a unique name. Name for the port that can be referred to by\
      \ services.\",\"type\":\"string\"},\"protocol\":{\"default\":\"TCP\",\"description\"\
      :\"Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \\\"TCP\\\".\"\
      ,\"type\":\"string\"}},\"required\":[\"containerPort\"],\"type\":\"object\"\
      ,\"x-kubernetes-preserve-unknown-fields\":true},\"type\":\"array\",\"x-kubernetes-list-map-keys\"\
      :[\"containerPort\",\"protocol\"],\"x-kubernetes-list-type\":\"map\"},\"readinessProbe\"\
      :{\"description\":\"Periodic probe of container service readiness. Container\
      \ will be removed from service endpoints if the probe fails. Cannot be updated.\
      \ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\"\
      ,\"properties\":{\"exec\":{\"description\":\"One and only one of the following\
      \ should be specified. Exec specifies the action to take.\",\"properties\":{\"\
      command\":{\"description\":\"Command is the command line to execute inside the\
      \ container, the working directory for the command  is root ('/') in the container's\
      \ filesystem. The command is simply exec'd, it is not run inside a shell, so\
      \ traditional shell instructions ('|', etc) won't work. To use a shell, you\
      \ need to explicitly call out to that shell. Exit status of 0 is treated as\
      \ live/healthy and non-zero is unhealthy.\",\"items\":{\"type\":\"string\"},\"\
      type\":\"array\"}},\"type\":\"object\"},\"failureThreshold\":{\"description\"\
      :\"Minimum consecutive failures for the probe to be considered failed after\
      \ having succeeded. Defaults to 3. Minimum value is 1.\",\"format\":\"int32\"\
      ,\"type\":\"integer\"},\"httpGet\":{\"description\":\"HTTPGet specifies the\
      \ http request to perform.\",\"properties\":{\"host\":{\"description\":\"Host\
      \ name to connect to, defaults to the pod IP. You probably want to set \\\"\
      Host\\\" in httpHeaders instead.\",\"type\":\"string\"},\"httpHeaders\":{\"\
      description\":\"Custom headers to set in the request. HTTP allows repeated headers.\"\
      ,\"items\":{\"description\":\"HTTPHeader describes a custom header to be used\
      \ in HTTP probes\",\"properties\":{\"name\":{\"description\":\"The header field\
      \ name\",\"type\":\"string\"},\"value\":{\"description\":\"The header field\
      \ value\",\"type\":\"string\"}},\"required\":[\"name\",\"value\"],\"type\":\"\
      object\"},\"type\":\"array\"},\"path\":{\"description\":\"Path to access on\
      \ the HTTP server.\",\"type\":\"string\"},\"scheme\":{\"description\":\"Scheme\
      \ to use for connecting to the host. Defaults to HTTP.\",\"type\":\"string\"\
      }},\"type\":\"object\",\"x-kubernetes-preserve-unknown-fields\":true},\"initialDelaySeconds\"\
      :{\"description\":\"Number of seconds after the container has started before\
      \ liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\"\
      ,\"format\":\"int32\",\"type\":\"integer\"},\"periodSeconds\":{\"description\"\
      :\"How often (in seconds) to perform the probe.\",\"format\":\"int32\",\"type\"\
      :\"integer\"},\"successThreshold\":{\"description\":\"Minimum consecutive successes\
      \ for the probe to be considered successful after having failed. Defaults to\
      \ 1. Must be 1 for liveness and startup. Minimum value is 1.\",\"format\":\"\
      int32\",\"type\":\"integer\"},\"tcpSocket\":{\"description\":\"TCPSocket specifies\
      \ an action involving a TCP port. TCP hooks not yet supported TODO: implement\
      \ a realistic TCP lifecycle hook\",\"properties\":{\"host\":{\"description\"\
      :\"Optional: Host name to connect to, defaults to the pod IP.\",\"type\":\"\
      string\"}},\"type\":\"object\",\"x-kubernetes-preserve-unknown-fields\":true},\"\
      timeoutSeconds\":{\"description\":\"Number of seconds after which the probe\
      \ times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes\"\
      ,\"format\":\"int32\",\"type\":\"integer\"}},\"type\":\"object\"},\"resources\"\
      :{\"description\":\"Compute Resources required by this container. Cannot be\
      \ updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/\"\
      ,\"properties\":{\"limits\":{\"additionalProperties\":{\"anyOf\":[{\"type\"\
      :\"integer\"},{\"type\":\"string\"}],\"pattern\":\"^(\\\\+|-)?(([0-9]+(\\\\\
      .[0-9]*)?)|(\\\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\\\+|-)?(([0-9]+(\\\
      \\.[0-9]*)?)|(\\\\.[0-9]+))))?$\",\"x-kubernetes-int-or-string\":true},\"description\"\
      :\"Limits describes the maximum amount of compute resources allowed. More info:\
      \ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/\"\
      ,\"type\":\"object\"},\"requests\":{\"additionalProperties\":{\"anyOf\":[{\"\
      type\":\"integer\"},{\"type\":\"string\"}],\"pattern\":\"^(\\\\+|-)?(([0-9]+(\\\
      \\.[0-9]*)?)|(\\\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\\\+|-)?(([0-9]+(\\\
      \\.[0-9]*)?)|(\\\\.[0-9]+))))?$\",\"x-kubernetes-int-or-string\":true},\"description\"\
      :\"Requests describes the minimum amount of compute resources required. If Requests\
      \ is omitted for a container, it defaults to Limits if that is explicitly specified,\
      \ otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/\"\
      ,\"type\":\"object\"}},\"type\":\"object\"},\"securityContext\":{\"description\"\
      :\"Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/\
      \ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/\"\
      ,\"properties\":{\"capabilities\":{\"description\":\"The capabilities to add/drop\
      \ when running containers. Defaults to the default set of capabilities granted\
      \ by the container runtime.\",\"properties\":{\"drop\":{\"description\":\"Removed\
      \ capabilities\",\"items\":{\"description\":\"Capability represent POSIX capabilities\
      \ type\",\"type\":\"string\"},\"type\":\"array\"}},\"type\":\"object\",\"x-kubernetes-preserve-unknown-fields\"\
      :true},\"readOnlyRootFilesystem\":{\"description\":\"Whether this container\
      \ has a read-only root filesystem. Default is false.\",\"type\":\"boolean\"\
      },\"runAsUser\":{\"description\":\"The UID to run the entrypoint of the container\
      \ process. Defaults to user specified in image metadata if unspecified. May\
      \ also be set in PodSecurityContext.  If set in both SecurityContext and PodSecurityContext,\
      \ the value specified in SecurityContext takes precedence.\",\"format\":\"int64\"\
      ,\"type\":\"integer\"}},\"type\":\"object\",\"x-kubernetes-preserve-unknown-fields\"\
      :true},\"terminationMessagePath\":{\"description\":\"Optional: Path at which\
      \ the file to which the container's termination message will be written is mounted\
      \ into the container's filesystem. Message written is intended to be brief final\
      \ status, such as an assertion failure message. Will be truncated by the node\
      \ if greater than 4096 bytes. The total message length across all containers\
      \ will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.\"\
      ,\"type\":\"string\"},\"terminationMessagePolicy\":{\"description\":\"Indicate\
      \ how the termination message should be populated. File will use the contents\
      \ of terminationMessagePath to populate the container status message on both\
      \ success and failure. FallbackToLogsOnError will use the last chunk of container\
      \ log output if the termination message file is empty and the container exited\
      \ with an error. The log output is limited to 2048 bytes or 80 lines, whichever\
      \ is smaller. Defaults to File. Cannot be updated.\",\"type\":\"string\"},\"\
      volumeMounts\":{\"description\":\"Pod volumes to mount into the container's\
      \ filesystem. Cannot be updated.\",\"items\":{\"description\":\"VolumeMount\
      \ describes a mounting of a Volume within a container.\",\"properties\":{\"\
      mountPath\":{\"description\":\"Path within the container at which the volume\
      \ should be mounted.  Must not contain ':'.\",\"type\":\"string\"},\"name\"\
      :{\"description\":\"This must match the Name of a Volume.\",\"type\":\"string\"\
      },\"readOnly\":{\"description\":\"Mounted read-only if true, read-write otherwise\
      \ (false or unspecified). Defaults to false.\",\"type\":\"boolean\"},\"subPath\"\
      :{\"description\":\"Path within the volume from which the container's volume\
      \ should be mounted. Defaults to \\\"\\\" (volume's root).\",\"type\":\"string\"\
      }},\"required\":[\"mountPath\",\"name\"],\"type\":\"object\"},\"type\":\"array\"\
      },\"workingDir\":{\"description\":\"Container's working directory. If not specified,\
      \ the container runtime's default will be used, which might be configured in\
      \ the container image. Cannot be updated.\",\"type\":\"string\"}},\"type\":\"\
      object\",\"x-kubernetes-preserve-unknown-fields\":true},\"type\":\"array\"},\"\
      enableServiceLinks\":{\"description\":\"EnableServiceLinks indicates whether\
      \ information about services should be injected into pod's environment variables,\
      \ matching the syntax of Docker links. Optional: Defaults to true.\",\"type\"\
      :\"boolean\"},\"imagePullSecrets\":{\"description\":\"ImagePullSecrets is an\
      \ optional list of references to secrets in the same namespace to use for pulling\
      \ any of the images used by this PodSpec. If specified, these secrets will be\
      \ passed to individual puller implementations for them to use. For example,\
      \ in the case of docker, only DockerConfig type secrets are honored. More info:\
      \ https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod\"\
      ,\"items\":{\"description\":\"LocalObjectReference contains enough information\
      \ to let you locate the referenced object inside the same namespace.\",\"properties\"\
      :{\"name\":{\"description\":\"Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\
      \ TODO: Add other useful fields. apiVersion, kind, uid?\",\"type\":\"string\"\
      }},\"type\":\"object\"},\"type\":\"array\"},\"serviceAccountName\":{\"description\"\
      :\"ServiceAccountName is the name of the ServiceAccount to use to run this pod.\
      \ More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/\"\
      ,\"type\":\"string\"},\"timeoutSeconds\":{\"description\":\"TimeoutSeconds is\
      \ the maximum duration in seconds that the request routing layer will wait for\
      \ a request delivered to a container to begin replying (send network traffic).\
      \ If unspecified, a system default will be provided.\",\"format\":\"int64\"\
      ,\"type\":\"integer\"},\"volumes\":{\"description\":\"List of volumes that can\
      \ be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes\"\
      ,\"items\":{\"description\":\"Volume represents a named volume in a pod that\
      \ may be accessed by any container in the pod.\",\"properties\":{\"configMap\"\
      :{\"description\":\"ConfigMap represents a configMap that should populate this\
      \ volume\",\"properties\":{\"defaultMode\":{\"description\":\"Optional: mode\
      \ bits used to set permissions on created files by default. Must be an octal\
      \ value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts\
      \ both octal and decimal values, JSON requires decimal values for mode bits.\
      \ Defaults to 0644. Directories within the path are not affected by this setting.\
      \ This might be in conflict with other options that affect the file mode, like\
      \ fsGroup, and the result can be other mode bits set.\",\"format\":\"int32\"\
      ,\"type\":\"integer\"},\"items\":{\"description\":\"If unspecified, each key-value\
      \ pair in the Data field of the referenced ConfigMap will be projected into\
      \ the volume as a file whose name is the key and content is the value. If specified,\
      \ the listed keys will be projected into the specified paths, and unlisted keys\
      \ will not be present. If a key is specified which is not present in the ConfigMap,\
      \ the volume setup will error unless it is marked optional. Paths must be relative\
      \ and may not contain the '..' path or start with '..'.\",\"items\":{\"description\"\
      :\"Maps a string key to a path within a volume.\",\"properties\":{\"key\":{\"\
      description\":\"The key to project.\",\"type\":\"string\"},\"mode\":{\"description\"\
      :\"Optional: mode bits used to set permissions on this file. Must be an octal\
      \ value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts\
      \ both octal and decimal values, JSON requires decimal values for mode bits.\
      \ If not specified, the volume defaultMode will be used. This might be in conflict\
      \ with other options that affect the file mode, like fsGroup, and the result\
      \ can be other mode bits set.\",\"format\":\"int32\",\"type\":\"integer\"},\"\
      path\":{\"description\":\"The relative path of the file to map the key to. May\
      \ not be an absolute path. May not contain the path element '..'. May not start\
      \ with the string '..'.\",\"type\":\"string\"}},\"required\":[\"key\",\"path\"\
      ],\"type\":\"object\"},\"type\":\"array\"},\"name\":{\"description\":\"Name\
      \ of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\
      \ TODO: Add other useful fields. apiVersion, kind, uid?\",\"type\":\"string\"\
      },\"optional\":{\"description\":\"Specify whether the ConfigMap or its keys\
      \ must be defined\",\"type\":\"boolean\"}},\"type\":\"object\"},\"name\":{\"\
      description\":\"Volume's name. Must be a DNS_LABEL and unique within the pod.\
      \ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\"\
      ,\"type\":\"string\"},\"projected\":{\"description\":\"Items for all in one\
      \ resources secrets, configmaps, and downward API\",\"properties\":{\"defaultMode\"\
      :{\"description\":\"Mode bits used to set permissions on created files by default.\
      \ Must be an octal value between 0000 and 0777 or a decimal value between 0\
      \ and 511. YAML accepts both octal and decimal values, JSON requires decimal\
      \ values for mode bits. Directories within the path are not affected by this\
      \ setting. This might be in conflict with other options that affect the file\
      \ mode, like fsGroup, and the result can be other mode bits set.\",\"format\"\
      :\"int32\",\"type\":\"integer\"},\"sources\":{\"description\":\"list of volume\
      \ projections\",\"items\":{\"description\":\"Projection that may be projected\
      \ along with other supported volume types\",\"properties\":{\"configMap\":{\"\
      description\":\"information about the configMap data to project\",\"properties\"\
      :{\"items\":{\"description\":\"If unspecified, each key-value pair in the Data\
      \ field of the referenced ConfigMap will be projected into the volume as a file\
      \ whose name is the key and content is the value. If specified, the listed keys\
      \ will be projected into the specified paths, and unlisted keys will not be\
      \ present. If a key is specified which is not present in the ConfigMap, the\
      \ volume setup will error unless it is marked optional. Paths must be relative\
      \ and may not contain the '..' path or start with '..'.\",\"items\":{\"description\"\
      :\"Maps a string key to a path within a volume.\",\"properties\":{\"key\":{\"\
      description\":\"The key to project.\",\"type\":\"string\"},\"mode\":{\"description\"\
      :\"Optional: mode bits used to set permissions on this file. Must be an octal\
      \ value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts\
      \ both octal and decimal values, JSON requires decimal values for mode bits.\
      \ If not specified, the volume defaultMode will be used. This might be in conflict\
      \ with other options that affect the file mode, like fsGroup, and the result\
      \ can be other mode bits set.\",\"format\":\"int32\",\"type\":\"integer\"},\"\
      path\":{\"description\":\"The relative path of the file to map the key to. May\
      \ not be an absolute path. May not contain the path element '..'. May not start\
      \ with the string '..'.\",\"type\":\"string\"}},\"required\":[\"key\",\"path\"\
      ],\"type\":\"object\"},\"type\":\"array\"},\"name\":{\"description\":\"Name\
      \ of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\
      \ TODO: Add other useful fields. apiVersion, kind, uid?\",\"type\":\"string\"\
      },\"optional\":{\"description\":\"Specify whether the ConfigMap or its keys\
      \ must be defined\",\"type\":\"boolean\"}},\"type\":\"object\"},\"secret\":{\"\
      description\":\"information about the secret data to project\",\"properties\"\
      :{\"items\":{\"description\":\"If unspecified, each key-value pair in the Data\
      \ field of the referenced Secret will be projected into the volume as a file\
      \ whose name is the key and content is the value. If specified, the listed keys\
      \ will be projected into the specified paths, and unlisted keys will not be\
      \ present. If a key is specified which is not present in the Secret, the volume\
      \ setup will error unless it is marked optional. Paths must be relative and\
      \ may not contain the '..' path or start with '..'.\",\"items\":{\"description\"\
      :\"Maps a string key to a path within a volume.\",\"properties\":{\"key\":{\"\
      description\":\"The key to project.\",\"type\":\"string\"},\"mode\":{\"description\"\
      :\"Optional: mode bits used to set permissions on this file. Must be an octal\
      \ value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts\
      \ both octal and decimal values, JSON requires decimal values for mode bits.\
      \ If not specified, the volume defaultMode will be used. This might be in conflict\
      \ with other options that affect the file mode, like fsGroup, and the result\
      \ can be other mode bits set.\",\"format\":\"int32\",\"type\":\"integer\"},\"\
      path\":{\"description\":\"The relative path of the file to map the key to. May\
      \ not be an absolute path. May not contain the path element '..'. May not start\
      \ with the string '..'.\",\"type\":\"string\"}},\"required\":[\"key\",\"path\"\
      ],\"type\":\"object\"},\"type\":\"array\"},\"name\":{\"description\":\"Name\
      \ of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\
      \ TODO: Add other useful fields. apiVersion, kind, uid?\",\"type\":\"string\"\
      },\"optional\":{\"description\":\"Specify whether the Secret or its key must\
      \ be defined\",\"type\":\"boolean\"}},\"type\":\"object\"},\"serviceAccountToken\"\
      :{\"description\":\"information about the serviceAccountToken data to project\"\
      ,\"properties\":{\"audience\":{\"description\":\"Audience is the intended audience\
      \ of the token. A recipient of a token must identify itself with an identifier\
      \ specified in the audience of the token, and otherwise should reject the token.\
      \ The audience defaults to the identifier of the apiserver.\",\"type\":\"string\"\
      },\"expirationSeconds\":{\"description\":\"ExpirationSeconds is the requested\
      \ duration of validity of the service account token. As the token approaches\
      \ expiration, the kubelet volume plugin will proactively rotate the service\
      \ account token. The kubelet will start trying to rotate the token if the token\
      \ is older than 80 percent of its time to live or if the token is older than\
      \ 24 hours.Defaults to 1 hour and must be at least 10 minutes.\",\"format\"\
      :\"int64\",\"type\":\"integer\"},\"path\":{\"description\":\"Path is the path\
      \ relative to the mount point of the file to project the token into.\",\"type\"\
      :\"string\"}},\"required\":[\"path\"],\"type\":\"object\"}},\"type\":\"object\"\
      },\"type\":\"array\"}},\"type\":\"object\"},\"secret\":{\"description\":\"Secret\
      \ represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret\"\
      ,\"properties\":{\"defaultMode\":{\"description\":\"Optional: mode bits used\
      \ to set permissions on created files by default. Must be an octal value between\
      \ 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal\
      \ and decimal values, JSON requires decimal values for mode bits. Defaults to\
      \ 0644. Directories within the path are not affected by this setting. This might\
      \ be in conflict with other options that affect the file mode, like fsGroup,\
      \ and the result can be other mode bits set.\",\"format\":\"int32\",\"type\"\
      :\"integer\"},\"items\":{\"description\":\"If unspecified, each key-value pair\
      \ in the Data field of the referenced Secret will be projected into the volume\
      \ as a file whose name is the key and content is the value. If specified, the\
      \ listed keys will be projected into the specified paths, and unlisted keys\
      \ will not be present. If a key is specified which is not present in the Secret,\
      \ the volume setup will error unless it is marked optional. Paths must be relative\
      \ and may not contain the '..' path or start with '..'.\",\"items\":{\"description\"\
      :\"Maps a string key to a path within a volume.\",\"properties\":{\"key\":{\"\
      description\":\"The key to project.\",\"type\":\"string\"},\"mode\":{\"description\"\
      :\"Optional: mode bits used to set permissions on this file. Must be an octal\
      \ value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts\
      \ both octal and decimal values, JSON requires decimal values for mode bits.\
      \ If not specified, the volume defaultMode will be used. This might be in conflict\
      \ with other options that affect the file mode, like fsGroup, and the result\
      \ can be other mode bits set.\",\"format\":\"int32\",\"type\":\"integer\"},\"\
      path\":{\"description\":\"The relative path of the file to map the key to. May\
      \ not be an absolute path. May not contain the path element '..'. May not start\
      \ with the string '..'.\",\"type\":\"string\"}},\"required\":[\"key\",\"path\"\
      ],\"type\":\"object\"},\"type\":\"array\"},\"optional\":{\"description\":\"\
      Specify whether the Secret or its keys must be defined\",\"type\":\"boolean\"\
      },\"secretName\":{\"description\":\"Name of the secret in the pod's namespace\
      \ to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret\"\
      ,\"type\":\"string\"}},\"type\":\"object\"}},\"required\":[\"name\"],\"type\"\
      :\"object\"},\"type\":\"array\"}},\"required\":[\"containers\"],\"type\":\"\
      object\",\"x-kubernetes-preserve-unknown-fields\":true},\"status\":{\"description\"\
      :\"RevisionStatus communicates the observed state of the Revision (from the\
      \ controller).\",\"properties\":{\"actualReplicas\":{\"description\":\"ActualReplicas\
      \ reflects the amount of ready pods running this revision.\",\"format\":\"int32\"\
      ,\"type\":\"integer\"},\"annotations\":{\"additionalProperties\":{\"type\":\"\
      string\"},\"description\":\"Annotations is additional Status fields for the\
      \ Resource to save some additional State as well as convey more information\
      \ to the user. This is roughly akin to Annotations on any k8s resource, just\
      \ the reconciler conveying richer information outwards.\",\"type\":\"object\"\
      },\"conditions\":{\"description\":\"Conditions the latest available observations\
      \ of a resource's current state.\",\"items\":{\"description\":\"Condition defines\
      \ a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties\"\
      ,\"properties\":{\"lastTransitionTime\":{\"description\":\"LastTransitionTime\
      \ is the last time the condition transitioned from one status to another. We\
      \ use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\
      \ differences (all other things held constant).\",\"format\":\"date-time\",\"\
      type\":\"string\"},\"message\":{\"description\":\"A human readable message indicating\
      \ details about the transition.\",\"type\":\"string\"},\"reason\":{\"description\"\
      :\"The reason for the condition's last transition.\",\"type\":\"string\"},\"\
      severity\":{\"description\":\"Severity with which to treat failures of this\
      \ type of condition. When this is not specified, it defaults to Error.\",\"\
      type\":\"string\"},\"status\":{\"description\":\"Status of the condition, one\
      \ of True, False, Unknown.\",\"type\":\"string\"},\"type\":{\"description\"\
      :\"Type of condition.\",\"type\":\"string\"}},\"required\":[\"status\",\"type\"\
      ],\"type\":\"object\"},\"type\":\"array\"},\"containerStatuses\":{\"description\"\
      :\"ContainerStatuses is a slice of images present in .Spec.Container[*].Image\
      \ to their respective digests and their container name. The digests are resolved\
      \ during the creation of Revision. ContainerStatuses holds the container name\
      \ and image digests for both serving and non serving containers. ref: http://bit.ly/image-digests\"\
      ,\"items\":{\"description\":\"ContainerStatus holds the information of container\
      \ name and image digest value\",\"properties\":{\"imageDigest\":{\"type\":\"\
      string\"},\"name\":{\"type\":\"string\"}},\"type\":\"object\"},\"type\":\"array\"\
      },\"desiredReplicas\":{\"description\":\"DesiredReplicas reflects the desired\
      \ amount of pods running this revision.\",\"format\":\"int32\",\"type\":\"integer\"\
      },\"imageDigest\":{\"description\":\"DeprecatedImageDigest holds the resolved\
      \ digest for the image specified within .Spec.Container.Image. The digest is\
      \ resolved during the creation of Revision. This field holds the digest value\
      \ regardless of whether a tag or digest was originally specified in the Container\
      \ object. It may be empty if the image comes from a registry listed to skip\
      \ resolution. If multiple containers specified then DeprecatedImageDigest holds\
      \ the digest for serving container. DEPRECATED: Use ContainerStatuses instead.\
      \ TODO(savitaashture) Remove deprecatedImageDigest. ref https://kubernetes.io/docs/reference/using-api/deprecation-policy\
      \ for deprecation.\",\"type\":\"string\"},\"logUrl\":{\"description\":\"LogURL\
      \ specifies the generated logging url for this particular revision based on\
      \ the revision url template specified in the controller's config.\",\"type\"\
      :\"string\"},\"observedGeneration\":{\"description\":\"ObservedGeneration is\
      \ the 'Generation' of the Service that was last processed by the controller.\"\
      ,\"format\":\"int64\",\"type\":\"integer\"},\"serviceName\":{\"description\"\
      :\"ServiceName holds the name of a core Kubernetes Service resource that load\
      \ balances over the pods backing this Revision. Deprecated: revision service\
      \ name is effectively equal to the revision name, as per #10540. 0.23 \u2014\
      \ stop populating 0.25 \u2014 remove.\",\"type\":\"string\"}},\"type\":\"object\"\
      }},\"type\":\"object\"}},\"served\":true,\"storage\":true,\"subresources\":{\"\
      status\":{}}}]}}\n"
  creationTimestamp: '2021-08-30T18:59:46Z'
  generation: 1
  labels:
    knative.dev/crd-install: 'true'
    serving.knative.dev/release: v0.24.0
  managedFields:
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:acceptedNames:
          f:categories: {}
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:shortNames: {}
          f:singular: {}
        f:conditions:
          k:{"type":"Established"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
          k:{"type":"NamesAccepted"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
    manager: k3s
    operation: Update
    time: '2021-08-30T18:59:46Z'
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:kubectl.kubernetes.io/last-applied-configuration: {}
        f:labels:
          .: {}
          f:knative.dev/crd-install: {}
          f:serving.knative.dev/release: {}
      f:spec:
        f:conversion:
          .: {}
          f:strategy: {}
        f:group: {}
        f:names:
          f:categories: {}
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:shortNames: {}
          f:singular: {}
        f:scope: {}
        f:versions: {}
    manager: manifestival
    operation: Update
    time: '2021-08-30T18:59:49Z'
  name: revisions.serving.knative.dev
  resourceVersion: '5618'
  uid: c7608c83-1ae8-490f-b6fb-34141ab16ae3
spec:
  conversion:
    strategy: None
  group: serving.knative.dev
  names:
    categories:
    - all
    - knative
    - serving
    kind: Revision
    listKind: RevisionList
    plural: revisions
    shortNames:
    - rev
    singular: revision
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .metadata.labels['serving\.knative\.dev/configuration']
      name: Config Name
      type: string
    - jsonPath: .status.serviceName
      name: K8s Service Name
      type: string
    - jsonPath: .metadata.labels['serving\.knative\.dev/configurationGeneration']
      name: Generation
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Reason
      type: string
    - jsonPath: .status.actualReplicas
      name: Actual Replicas
      type: integer
    - jsonPath: .status.desiredReplicas
      name: Desired Replicas
      type: integer
    name: v1
    schema:
      openAPIV3Schema:
        description: "Revision is an immutable snapshot of code and configuration.\
          \  A revision references a container image. Revisions are created by updates\
          \ to a Configuration. \n See also: https://github.com/knative/serving/blob/main/docs/spec/overview.md#revision"
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: RevisionSpec holds the desired state of the Revision (from
              the client).
            properties:
              containerConcurrency:
                description: ContainerConcurrency specifies the maximum allowed in-flight
                  (concurrent) requests per container of the Revision.  Defaults to
                  `0` which means concurrency to the application is not limited, and
                  the system decides the target concurrency for the autoscaler.
                format: int64
                type: integer
              containers:
                description: List of containers belonging to the pod. Containers cannot
                  currently be added or removed. There must be at least one container
                  in a Pod. Cannot be updated.
                items:
                  description: A single application container that you want to run
                    within a pod.
                  properties:
                    args:
                      description: 'Arguments to the entrypoint. The docker image''s
                        CMD is used if this is not provided. Variable references $(VAR_NAME)
                        are expanded using the container''s environment. If a variable
                        cannot be resolved, the reference in the input string will
                        be unchanged. The $(VAR_NAME) syntax can be escaped with a
                        double $$, ie: $$(VAR_NAME). Escaped references will never
                        be expanded, regardless of whether the variable exists or
                        not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
                      items:
                        type: string
                      type: array
                    command:
                      description: 'Entrypoint array. Not executed within a shell.
                        The docker image''s ENTRYPOINT is used if this is not provided.
                        Variable references $(VAR_NAME) are expanded using the container''s
                        environment. If a variable cannot be resolved, the reference
                        in the input string will be unchanged. The $(VAR_NAME) syntax
                        can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
                        references will never be expanded, regardless of whether the
                        variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
                      items:
                        type: string
                      type: array
                    env:
                      description: List of environment variables to set in the container.
                        Cannot be updated.
                      items:
                        description: EnvVar represents an environment variable present
                          in a Container.
                        properties:
                          name:
                            description: Name of the environment variable. Must be
                              a C_IDENTIFIER.
                            type: string
                          value:
                            description: 'Variable references $(VAR_NAME) are expanded
                              using the previous defined environment variables in
                              the container and any service environment variables.
                              If a variable cannot be resolved, the reference in the
                              input string will be unchanged. The $(VAR_NAME) syntax
                              can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
                              references will never be expanded, regardless of whether
                              the variable exists or not. Defaults to "".'
                            type: string
                          valueFrom:
                            description: Source for the environment variable's value.
                              Cannot be used if value is not empty.
                            properties:
                              configMapKeyRef:
                                description: Selects a key of a ConfigMap.
                                properties:
                                  key:
                                    description: The key to select.
                                    type: string
                                  name:
                                    description: 'Name of the referent. More info:
                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                      TODO: Add other useful fields. apiVersion, kind,
                                      uid?'
                                    type: string
                                  optional:
                                    description: Specify whether the ConfigMap or
                                      its key must be defined
                                    type: boolean
                                required:
                                - key
                                type: object
                              secretKeyRef:
                                description: Selects a key of a secret in the pod's
                                  namespace
                                properties:
                                  key:
                                    description: The key of the secret to select from.  Must
                                      be a valid secret key.
                                    type: string
                                  name:
                                    description: 'Name of the referent. More info:
                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                      TODO: Add other useful fields. apiVersion, kind,
                                      uid?'
                                    type: string
                                  optional:
                                    description: Specify whether the Secret or its
                                      key must be defined
                                    type: boolean
                                required:
                                - key
                                type: object
                            type: object
                            x-kubernetes-preserve-unknown-fields: true
                        required:
                        - name
                        type: object
                      type: array
                    envFrom:
                      description: List of sources to populate environment variables
                        in the container. The keys defined within a source must be
                        a C_IDENTIFIER. All invalid keys will be reported as an event
                        when the container is starting. When a key exists in multiple
                        sources, the value associated with the last source will take
                        precedence. Values defined by an Env with a duplicate key
                        will take precedence. Cannot be updated.
                      items:
                        description: EnvFromSource represents the source of a set
                          of ConfigMaps
                        properties:
                          configMapRef:
                            description: The ConfigMap to select from
                            properties:
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the ConfigMap must be
                                  defined
                                type: boolean
                            type: object
                          prefix:
                            description: An optional identifier to prepend to each
                              key in the ConfigMap. Must be a C_IDENTIFIER.
                            type: string
                          secretRef:
                            description: The Secret to select from
                            properties:
                              name:
                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                  TODO: Add other useful fields. apiVersion, kind,
                                  uid?'
                                type: string
                              optional:
                                description: Specify whether the Secret must be defined
                                type: boolean
                            type: object
                        type: object
                      type: array
                    image:
                      description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
                        This field is optional to allow higher level config management
                        to default or override container images in workload controllers
                        like Deployments and StatefulSets.'
                      type: string
                    imagePullPolicy:
                      description: 'Image pull policy. One of Always, Never, IfNotPresent.
                        Defaults to Always if :latest tag is specified, or IfNotPresent
                        otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
                      type: string
                    livenessProbe:
                      description: 'Periodic probe of container liveness. Container
                        will be restarted if the probe fails. Cannot be updated. More
                        info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                      properties:
                        exec:
                          description: One and only one of the following should be
                            specified. Exec specifies the action to take.
                          properties:
                            command:
                              description: Command is the command line to execute
                                inside the container, the working directory for the
                                command  is root ('/') in the container's filesystem.
                                The command is simply exec'd, it is not run inside
                                a shell, so traditional shell instructions ('|', etc)
                                won't work. To use a shell, you need to explicitly
                                call out to that shell. Exit status of 0 is treated
                                as live/healthy and non-zero is unhealthy.
                              items:
                                type: string
                              type: array
                          type: object
                        failureThreshold:
                          description: Minimum consecutive failures for the probe
                            to be considered failed after having succeeded. Defaults
                            to 3. Minimum value is 1.
                          format: int32
                          type: integer
                        httpGet:
                          description: HTTPGet specifies the http request to perform.
                          properties:
                            host:
                              description: Host name to connect to, defaults to the
                                pod IP. You probably want to set "Host" in httpHeaders
                                instead.
                              type: string
                            httpHeaders:
                              description: Custom headers to set in the request. HTTP
                                allows repeated headers.
                              items:
                                description: HTTPHeader describes a custom header
                                  to be used in HTTP probes
                                properties:
                                  name:
                                    description: The header field name
                                    type: string
                                  value:
                                    description: The header field value
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            path:
                              description: Path to access on the HTTP server.
                              type: string
                            scheme:
                              description: Scheme to use for connecting to the host.
                                Defaults to HTTP.
                              type: string
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        initialDelaySeconds:
                          description: 'Number of seconds after the container has
                            started before liveness probes are initiated. More info:
                            https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                          format: int32
                          type: integer
                        periodSeconds:
                          description: How often (in seconds) to perform the probe.
                          format: int32
                          type: integer
                        successThreshold:
                          description: Minimum consecutive successes for the probe
                            to be considered successful after having failed. Defaults
                            to 1. Must be 1 for liveness and startup. Minimum value
                            is 1.
                          format: int32
                          type: integer
                        tcpSocket:
                          description: 'TCPSocket specifies an action involving a
                            TCP port. TCP hooks not yet supported TODO: implement
                            a realistic TCP lifecycle hook'
                          properties:
                            host:
                              description: 'Optional: Host name to connect to, defaults
                                to the pod IP.'
                              type: string
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        timeoutSeconds:
                          description: 'Number of seconds after which the probe times
                            out. Defaults to 1 second. Minimum value is 1. More info:
                            https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                          format: int32
                          type: integer
                      type: object
                    name:
                      description: Name of the container specified as a DNS_LABEL.
                        Each container in a pod must have a unique name (DNS_LABEL).
                        Cannot be updated.
                      type: string
                    ports:
                      description: List of ports to expose from the container. Exposing
                        a port here gives the system additional information about
                        the network connections a container uses, but is primarily
                        informational. Not specifying a port here DOES NOT prevent
                        that port from being exposed. Any port which is listening
                        on the default "0.0.0.0" address inside a container will be
                        accessible from the network. Cannot be updated.
                      items:
                        description: ContainerPort represents a network port in a
                          single container.
                        properties:
                          containerPort:
                            description: Number of port to expose on the pod's IP
                              address. This must be a valid port number, 0 < x < 65536.
                            format: int32
                            type: integer
                          name:
                            description: If specified, this must be an IANA_SVC_NAME
                              and unique within the pod. Each named port in a pod
                              must have a unique name. Name for the port that can
                              be referred to by services.
                            type: string
                          protocol:
                            default: TCP
                            description: Protocol for port. Must be UDP, TCP, or SCTP.
                              Defaults to "TCP".
                            type: string
                        required:
                        - containerPort
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
                      type: array
                      x-kubernetes-list-map-keys:
                      - containerPort
                      - protocol
                      x-kubernetes-list-type: map
                    readinessProbe:
                      description: 'Periodic probe of container service readiness.
                        Container will be removed from service endpoints if the probe
                        fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                      properties:
                        exec:
                          description: One and only one of the following should be
                            specified. Exec specifies the action to take.
                          properties:
                            command:
                              description: Command is the command line to execute
                                inside the container, the working directory for the
                                command  is root ('/') in the container's filesystem.
                                The command is simply exec'd, it is not run inside
                                a shell, so traditional shell instructions ('|', etc)
                                won't work. To use a shell, you need to explicitly
                                call out to that shell. Exit status of 0 is treated
                                as live/healthy and non-zero is unhealthy.
                              items:
                                type: string
                              type: array
                          type: object
                        failureThreshold:
                          description: Minimum consecutive failures for the probe
                            to be considered failed after having succeeded. Defaults
                            to 3. Minimum value is 1.
                          format: int32
                          type: integer
                        httpGet:
                          description: HTTPGet specifies the http request to perform.
                          properties:
                            host:
                              description: Host name to connect to, defaults to the
                                pod IP. You probably want to set "Host" in httpHeaders
                                instead.
                              type: string
                            httpHeaders:
                              description: Custom headers to set in the request. HTTP
                                allows repeated headers.
                              items:
                                description: HTTPHeader describes a custom header
                                  to be used in HTTP probes
                                properties:
                                  name:
                                    description: The header field name
                                    type: string
                                  value:
                                    description: The header field value
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            path:
                              description: Path to access on the HTTP server.
                              type: string
                            scheme:
                              description: Scheme to use for connecting to the host.
                                Defaults to HTTP.
                              type: string
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        initialDelaySeconds:
                          description: 'Number of seconds after the container has
                            started before liveness probes are initiated. More info:
                            https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                          format: int32
                          type: integer
                        periodSeconds:
                          description: How often (in seconds) to perform the probe.
                          format: int32
                          type: integer
                        successThreshold:
                          description: Minimum consecutive successes for the probe
                            to be considered successful after having failed. Defaults
                            to 1. Must be 1 for liveness and startup. Minimum value
                            is 1.
                          format: int32
                          type: integer
                        tcpSocket:
                          description: 'TCPSocket specifies an action involving a
                            TCP port. TCP hooks not yet supported TODO: implement
                            a realistic TCP lifecycle hook'
                          properties:
                            host:
                              description: 'Optional: Host name to connect to, defaults
                                to the pod IP.'
                              type: string
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        timeoutSeconds:
                          description: 'Number of seconds after which the probe times
                            out. Defaults to 1 second. Minimum value is 1. More info:
                            https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
                          format: int32
                          type: integer
                      type: object
                    resources:
                      description: 'Compute Resources required by this container.
                        Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                      properties:
                        limits:
                          additionalProperties:
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          description: 'Limits describes the maximum amount of compute
                            resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                          type: object
                        requests:
                          additionalProperties:
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          description: 'Requests describes the minimum amount of compute
                            resources required. If Requests is omitted for a container,
                            it defaults to Limits if that is explicitly specified,
                            otherwise to an implementation-defined value. More info:
                            https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
                          type: object
                      type: object
                    securityContext:
                      description: 'Security options the pod should run with. More
                        info: https://kubernetes.io/docs/concepts/policy/security-context/
                        More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
                      properties:
                        capabilities:
                          description: The capabilities to add/drop when running containers.
                            Defaults to the default set of capabilities granted by
                            the container runtime.
                          properties:
                            drop:
                              description: Removed capabilities
                              items:
                                description: Capability represent POSIX capabilities
                                  type
                                type: string
                              type: array
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                        readOnlyRootFilesystem:
                          description: Whether this container has a read-only root
                            filesystem. Default is false.
                          type: boolean
                        runAsUser:
                          description: The UID to run the entrypoint of the container
                            process. Defaults to user specified in image metadata
                            if unspecified. May also be set in PodSecurityContext.  If
                            set in both SecurityContext and PodSecurityContext, the
                            value specified in SecurityContext takes precedence.
                          format: int64
                          type: integer
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    terminationMessagePath:
                      description: 'Optional: Path at which the file to which the
                        container''s termination message will be written is mounted
                        into the container''s filesystem. Message written is intended
                        to be brief final status, such as an assertion failure message.
                        Will be truncated by the node if greater than 4096 bytes.
                        The total message length across all containers will be limited
                        to 12kb. Defaults to /dev/termination-log. Cannot be updated.'
                      type: string
                    terminationMessagePolicy:
                      description: Indicate how the termination message should be
                        populated. File will use the contents of terminationMessagePath
                        to populate the container status message on both success and
                        failure. FallbackToLogsOnError will use the last chunk of
                        container log output if the termination message file is empty
                        and the container exited with an error. The log output is
                        limited to 2048 bytes or 80 lines, whichever is smaller. Defaults
                        to File. Cannot be updated.
                      type: string
                    volumeMounts:
                      description: Pod volumes to mount into the container's filesystem.
                        Cannot be updated.
                      items:
                        description: VolumeMount describes a mounting of a Volume
                          within a container.
                        properties:
                          mountPath:
                            description: Path within the container at which the volume
                              should be mounted.  Must not contain ':'.
                            type: string
                          name:
                            description: This must match the Name of a Volume.
                            type: string
                          readOnly:
                            description: Mounted read-only if true, read-write otherwise
                              (false or unspecified). Defaults to false.
                            type: boolean
                          subPath:
                            description: Path within the volume from which the container's
                              volume should be mounted. Defaults to "" (volume's root).
                            type: string
                        required:
                        - mountPath
                        - name
                        type: object
                      type: array
                    workingDir:
                      description: Container's working directory. If not specified,
                        the container runtime's default will be used, which might
                        be configured in the container image. Cannot be updated.
                      type: string
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                type: array
              enableServiceLinks:
                description: 'EnableServiceLinks indicates whether information about
                  services should be injected into pod''s environment variables, matching
                  the syntax of Docker links. Optional: Defaults to true.'
                type: boolean
              imagePullSecrets:
                description: 'ImagePullSecrets is an optional list of references to
                  secrets in the same namespace to use for pulling any of the images
                  used by this PodSpec. If specified, these secrets will be passed
                  to individual puller implementations for them to use. For example,
                  in the case of docker, only DockerConfig type secrets are honored.
                  More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod'
                items:
                  description: LocalObjectReference contains enough information to
                    let you locate the referenced object inside the same namespace.
                  properties:
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                  type: object
                type: array
              serviceAccountName:
                description: 'ServiceAccountName is the name of the ServiceAccount
                  to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/'
                type: string
              timeoutSeconds:
                description: TimeoutSeconds is the maximum duration in seconds that
                  the request routing layer will wait for a request delivered to a
                  container to begin replying (send network traffic). If unspecified,
                  a system default will be provided.
                format: int64
                type: integer
              volumes:
                description: 'List of volumes that can be mounted by containers belonging
                  to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
                items:
                  description: Volume represents a named volume in a pod that may
                    be accessed by any container in the pod.
                  properties:
                    configMap:
                      description: ConfigMap represents a configMap that should populate
                        this volume
                      properties:
                        defaultMode:
                          description: 'Optional: mode bits used to set permissions
                            on created files by default. Must be an octal value between
                            0000 and 0777 or a decimal value between 0 and 511. YAML
                            accepts both octal and decimal values, JSON requires decimal
                            values for mode bits. Defaults to 0644. Directories within
                            the path are not affected by this setting. This might
                            be in conflict with other options that affect the file
                            mode, like fsGroup, and the result can be other mode bits
                            set.'
                          format: int32
                          type: integer
                        items:
                          description: If unspecified, each key-value pair in the
                            Data field of the referenced ConfigMap will be projected
                            into the volume as a file whose name is the key and content
                            is the value. If specified, the listed keys will be projected
                            into the specified paths, and unlisted keys will not be
                            present. If a key is specified which is not present in
                            the ConfigMap, the volume setup will error unless it is
                            marked optional. Paths must be relative and may not contain
                            the '..' path or start with '..'.
                          items:
                            description: Maps a string key to a path within a volume.
                            properties:
                              key:
                                description: The key to project.
                                type: string
                              mode:
                                description: 'Optional: mode bits used to set permissions
                                  on this file. Must be an octal value between 0000
                                  and 0777 or a decimal value between 0 and 511. YAML
                                  accepts both octal and decimal values, JSON requires
                                  decimal values for mode bits. If not specified,
                                  the volume defaultMode will be used. This might
                                  be in conflict with other options that affect the
                                  file mode, like fsGroup, and the result can be other
                                  mode bits set.'
                                format: int32
                                type: integer
                              path:
                                description: The relative path of the file to map
                                  the key to. May not be an absolute path. May not
                                  contain the path element '..'. May not start with
                                  the string '..'.
                                type: string
                            required:
                            - key
                            - path
                            type: object
                          type: array
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                            TODO: Add other useful fields. apiVersion, kind, uid?'
                          type: string
                        optional:
                          description: Specify whether the ConfigMap or its keys must
                            be defined
                          type: boolean
                      type: object
                    name:
                      description: 'Volume''s name. Must be a DNS_LABEL and unique
                        within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                      type: string
                    projected:
                      description: Items for all in one resources secrets, configmaps,
                        and downward API
                      properties:
                        defaultMode:
                          description: Mode bits used to set permissions on created
                            files by default. Must be an octal value between 0000
                            and 0777 or a decimal value between 0 and 511. YAML accepts
                            both octal and decimal values, JSON requires decimal values
                            for mode bits. Directories within the path are not affected
                            by this setting. This might be in conflict with other
                            options that affect the file mode, like fsGroup, and the
                            result can be other mode bits set.
                          format: int32
                          type: integer
                        sources:
                          description: list of volume projections
                          items:
                            description: Projection that may be projected along with
                              other supported volume types
                            properties:
                              configMap:
                                description: information about the configMap data
                                  to project
                                properties:
                                  items:
                                    description: If unspecified, each key-value pair
                                      in the Data field of the referenced ConfigMap
                                      will be projected into the volume as a file
                                      whose name is the key and content is the value.
                                      If specified, the listed keys will be projected
                                      into the specified paths, and unlisted keys
                                      will not be present. If a key is specified which
                                      is not present in the ConfigMap, the volume
                                      setup will error unless it is marked optional.
                                      Paths must be relative and may not contain the
                                      '..' path or start with '..'.
                                    items:
                                      description: Maps a string key to a path within
                                        a volume.
                                      properties:
                                        key:
                                          description: The key to project.
                                          type: string
                                        mode:
                                          description: 'Optional: mode bits used to
                                            set permissions on this file. Must be
                                            an octal value between 0000 and 0777 or
                                            a decimal value between 0 and 511. YAML
                                            accepts both octal and decimal values,
                                            JSON requires decimal values for mode
                                            bits. If not specified, the volume defaultMode
                                            will be used. This might be in conflict
                                            with other options that affect the file
                                            mode, like fsGroup, and the result can
                                            be other mode bits set.'
                                          format: int32
                                          type: integer
                                        path:
                                          description: The relative path of the file
                                            to map the key to. May not be an absolute
                                            path. May not contain the path element
                                            '..'. May not start with the string '..'.
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                  name:
                                    description: 'Name of the referent. More info:
                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                      TODO: Add other useful fields. apiVersion, kind,
                                      uid?'
                                    type: string
                                  optional:
                                    description: Specify whether the ConfigMap or
                                      its keys must be defined
                                    type: boolean
                                type: object
                              secret:
                                description: information about the secret data to
                                  project
                                properties:
                                  items:
                                    description: If unspecified, each key-value pair
                                      in the Data field of the referenced Secret will
                                      be projected into the volume as a file whose
                                      name is the key and content is the value. If
                                      specified, the listed keys will be projected
                                      into the specified paths, and unlisted keys
                                      will not be present. If a key is specified which
                                      is not present in the Secret, the volume setup
                                      will error unless it is marked optional. Paths
                                      must be relative and may not contain the '..'
                                      path or start with '..'.
                                    items:
                                      description: Maps a string key to a path within
                                        a volume.
                                      properties:
                                        key:
                                          description: The key to project.
                                          type: string
                                        mode:
                                          description: 'Optional: mode bits used to
                                            set permissions on this file. Must be
                                            an octal value between 0000 and 0777 or
                                            a decimal value between 0 and 511. YAML
                                            accepts both octal and decimal values,
                                            JSON requires decimal values for mode
                                            bits. If not specified, the volume defaultMode
                                            will be used. This might be in conflict
                                            with other options that affect the file
                                            mode, like fsGroup, and the result can
                                            be other mode bits set.'
                                          format: int32
                                          type: integer
                                        path:
                                          description: The relative path of the file
                                            to map the key to. May not be an absolute
                                            path. May not contain the path element
                                            '..'. May not start with the string '..'.
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                  name:
                                    description: 'Name of the referent. More info:
                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                      TODO: Add other useful fields. apiVersion, kind,
                                      uid?'
                                    type: string
                                  optional:
                                    description: Specify whether the Secret or its
                                      key must be defined
                                    type: boolean
                                type: object
                              serviceAccountToken:
                                description: information about the serviceAccountToken
                                  data to project
                                properties:
                                  audience:
                                    description: Audience is the intended audience
                                      of the token. A recipient of a token must identify
                                      itself with an identifier specified in the audience
                                      of the token, and otherwise should reject the
                                      token. The audience defaults to the identifier
                                      of the apiserver.
                                    type: string
                                  expirationSeconds:
                                    description: ExpirationSeconds is the requested
                                      duration of validity of the service account
                                      token. As the token approaches expiration, the
                                      kubelet volume plugin will proactively rotate
                                      the service account token. The kubelet will
                                      start trying to rotate the token if the token
                                      is older than 80 percent of its time to live
                                      or if the token is older than 24 hours.Defaults
                                      to 1 hour and must be at least 10 minutes.
                                    format: int64
                                    type: integer
                                  path:
                                    description: Path is the path relative to the
                                      mount point of the file to project the token
                                      into.
                                    type: string
                                required:
                                - path
                                type: object
                            type: object
                          type: array
                      type: object
                    secret:
                      description: 'Secret represents a secret that should populate
                        this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
                      properties:
                        defaultMode:
                          description: 'Optional: mode bits used to set permissions
                            on created files by default. Must be an octal value between
                            0000 and 0777 or a decimal value between 0 and 511. YAML
                            accepts both octal and decimal values, JSON requires decimal
                            values for mode bits. Defaults to 0644. Directories within
                            the path are not affected by this setting. This might
                            be in conflict with other options that affect the file
                            mode, like fsGroup, and the result can be other mode bits
                            set.'
                          format: int32
                          type: integer
                        items:
                          description: If unspecified, each key-value pair in the
                            Data field of the referenced Secret will be projected
                            into the volume as a file whose name is the key and content
                            is the value. If specified, the listed keys will be projected
                            into the specified paths, and unlisted keys will not be
                            present. If a key is specified which is not present in
                            the Secret, the volume setup will error unless it is marked
                            optional. Paths must be relative and may not contain the
                            '..' path or start with '..'.
                          items:
                            description: Maps a string key to a path within a volume.
                            properties:
                              key:
                                description: The key to project.
                                type: string
                              mode:
                                description: 'Optional: mode bits used to set permissions
                                  on this file. Must be an octal value between 0000
                                  and 0777 or a decimal value between 0 and 511. YAML
                                  accepts both octal and decimal values, JSON requires
                                  decimal values for mode bits. If not specified,
                                  the volume defaultMode will be used. This might
                                  be in conflict with other options that affect the
                                  file mode, like fsGroup, and the result can be other
                                  mode bits set.'
                                format: int32
                                type: integer
                              path:
                                description: The relative path of the file to map
                                  the key to. May not be an absolute path. May not
                                  contain the path element '..'. May not start with
                                  the string '..'.
                                type: string
                            required:
                            - key
                            - path
                            type: object
                          type: array
                        optional:
                          description: Specify whether the Secret or its keys must
                            be defined
                          type: boolean
                        secretName:
                          description: 'Name of the secret in the pod''s namespace
                            to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
                          type: string
                      type: object
                  required:
                  - name
                  type: object
                type: array
            required:
            - containers
            type: object
            x-kubernetes-preserve-unknown-fields: true
          status:
            description: RevisionStatus communicates the observed state of the Revision
              (from the controller).
            properties:
              actualReplicas:
                description: ActualReplicas reflects the amount of ready pods running
                  this revision.
                format: int32
                type: integer
              annotations:
                additionalProperties:
                  type: string
                description: Annotations is additional Status fields for the Resource
                  to save some additional State as well as convey more information
                  to the user. This is roughly akin to Annotations on any k8s resource,
                  just the reconciler conveying richer information outwards.
                type: object
              conditions:
                description: Conditions the latest available observations of a resource's
                  current state.
                items:
                  description: 'Condition defines a readiness condition for a Knative
                    resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time the condition
                        transitioned from one status to another. We use VolatileTime
                        in place of metav1.Time to exclude this from creating equality.Semantic
                        differences (all other things held constant).
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    severity:
                      description: Severity with which to treat failures of this type
                        of condition. When this is not specified, it defaults to Error.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of condition.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              containerStatuses:
                description: 'ContainerStatuses is a slice of images present in .Spec.Container[*].Image
                  to their respective digests and their container name. The digests
                  are resolved during the creation of Revision. ContainerStatuses
                  holds the container name and image digests for both serving and
                  non serving containers. ref: http://bit.ly/image-digests'
                items:
                  description: ContainerStatus holds the information of container
                    name and image digest value
                  properties:
                    imageDigest:
                      type: string
                    name:
                      type: string
                  type: object
                type: array
              desiredReplicas:
                description: DesiredReplicas reflects the desired amount of pods running
                  this revision.
                format: int32
                type: integer
              imageDigest:
                description: 'DeprecatedImageDigest holds the resolved digest for
                  the image specified within .Spec.Container.Image. The digest is
                  resolved during the creation of Revision. This field holds the digest
                  value regardless of whether a tag or digest was originally specified
                  in the Container object. It may be empty if the image comes from
                  a registry listed to skip resolution. If multiple containers specified
                  then DeprecatedImageDigest holds the digest for serving container.
                  DEPRECATED: Use ContainerStatuses instead. TODO(savitaashture) Remove
                  deprecatedImageDigest. ref https://kubernetes.io/docs/reference/using-api/deprecation-policy
                  for deprecation.'
                type: string
              logUrl:
                description: LogURL specifies the generated logging url for this particular
                  revision based on the revision url template specified in the controller's
                  config.
                type: string
              observedGeneration:
                description: ObservedGeneration is the 'Generation' of the Service
                  that was last processed by the controller.
                format: int64
                type: integer
              serviceName:
                description: "ServiceName holds the name of a core Kubernetes Service\
                  \ resource that load balances over the pods backing this Revision.\
                  \ Deprecated: revision service name is effectively equal to the\
                  \ revision name, as per #10540. 0.23 \u2014 stop populating 0.25\
                  \ \u2014 remove."
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    categories:
    - all
    - knative
    - serving
    kind: Revision
    listKind: RevisionList
    plural: revisions
    shortNames:
    - rev
    singular: revision
  conditions:
  - lastTransitionTime: '2021-08-30T18:59:46Z'
    message: no conflicts found
    reason: NoConflicts
    status: 'True'
    type: NamesAccepted
  - lastTransitionTime: '2021-08-30T18:59:46Z'
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: 'True'
    type: Established
  storedVersions:
  - v1