James Falkner
2020-03-12 92e5f31395261f0c0cd6dc7b1591b24b082b9095
commit | author | age
990342 1 kind: ConfigMap
JF 2 apiVersion: v1
3 metadata:
4   name: ko-data
5   namespace: openshift-operators
6 data:
92e5f3 7   knative-serving-v0.12.1.yaml: |
990342 8     ---
JF 9     apiVersion: v1
10     kind: Namespace
11     metadata:
12       name: knative-serving
13       labels:
14         istio-injection: enabled
15         serving.knative.dev/release: devel
16     ---
17     kind: ClusterRole
18     apiVersion: rbac.authorization.k8s.io/v1
19     metadata:
20       name: knative-serving-addressable-resolver
21       labels:
22         serving.knative.dev/release: devel
23         duck.knative.dev/addressable: "true"
24     rules:
25     - apiGroups:
26       - serving.knative.dev
27       resources:
28       - routes
29       - routes/status
30       - services
31       - services/status
32       verbs:
33       - get
34       - list
35       - watch
36     ---
37     kind: ClusterRole
38     apiVersion: rbac.authorization.k8s.io/v1
39     metadata:
40       name: knative-serving-istio
41       labels:
42         serving.knative.dev/release: devel
43         serving.knative.dev/controller: "true"
44         networking.knative.dev/ingress-provider: istio
45     rules:
46       - apiGroups: ["networking.istio.io"]
47         resources: ["virtualservices", "gateways"]
48         verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
49     ---
50     apiVersion: rbac.authorization.k8s.io/v1
51     kind: ClusterRole
52     metadata:
53       name: custom-metrics-server-resources
54       labels:
55         serving.knative.dev/release: devel
56         autoscaling.knative.dev/metric-provider: custom-metrics
57     rules:
58       - apiGroups: ["custom.metrics.k8s.io"]
59         resources: ["*"]
60         verbs: ["*"]
61     ---
62     kind: ClusterRole
63     apiVersion: rbac.authorization.k8s.io/v1
64     metadata:
65       name: knative-serving-namespaced-admin
66       labels:
67         rbac.authorization.k8s.io/aggregate-to-admin: "true"
68         serving.knative.dev/release: devel
69     rules:
70       - apiGroups: ["serving.knative.dev", "networking.internal.knative.dev", "autoscaling.internal.knative.dev", "caching.internal.knative.dev"]
71         resources: ["*"]
72         verbs: ["*"]
73     ---
74     kind: ClusterRole
75     apiVersion: rbac.authorization.k8s.io/v1
76     metadata:
77       name: knative-serving-namespaced-edit
78       labels:
79         rbac.authorization.k8s.io/aggregate-to-edit: "true"
80         serving.knative.dev/release: devel
81     rules:
82       - apiGroups: ["serving.knative.dev", "networking.internal.knative.dev", "autoscaling.internal.knative.dev", "caching.internal.knative.dev"]
83         resources: ["*"]
84         verbs: ["create", "update", "patch", "delete"]
85     ---
86     kind: ClusterRole
87     apiVersion: rbac.authorization.k8s.io/v1
88     metadata:
89       name: knative-serving-namespaced-view
90       labels:
91         rbac.authorization.k8s.io/aggregate-to-view: "true"
92         serving.knative.dev/release: devel
93     rules:
94       - apiGroups: ["serving.knative.dev", "networking.internal.knative.dev", "autoscaling.internal.knative.dev", "caching.internal.knative.dev"]
95         resources: ["*"]
96         verbs: ["get", "list", "watch"]
97     ---
98     kind: ClusterRole
99     apiVersion: rbac.authorization.k8s.io/v1
100     metadata:
101       name: knative-serving-admin
102       labels:
103         serving.knative.dev/release: devel
104     aggregationRule:
105       clusterRoleSelectors:
106       - matchLabels:
107           serving.knative.dev/controller: "true"
108     rules: [] # Rules are automatically filled in by the controller manager.
109     ---
110     kind: ClusterRole
111     apiVersion: rbac.authorization.k8s.io/v1
112     metadata:
113       name: knative-serving-core
114       labels:
115         serving.knative.dev/release: devel
116         serving.knative.dev/controller: "true"
117     rules:
118       - apiGroups: [""]
119         resources: ["pods", "namespaces", "secrets", "configmaps", "endpoints", "services", "events", "serviceaccounts"]
120         verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
121       - apiGroups: [""]
122         resources: ["endpoints/restricted"] # Permission for RestrictedEndpointsAdmission
123         verbs: ["create"]
124       - apiGroups: ["apps"]
125         resources: ["deployments", "deployments/finalizers"] # finalizers are needed for the owner reference of the webhook
126         verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
127       - apiGroups: ["admissionregistration.k8s.io"]
128         resources: ["mutatingwebhookconfigurations", "validatingwebhookconfigurations"]
129         verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
130       - apiGroups: ["apiextensions.k8s.io"]
131         resources: ["customresourcedefinitions"]
132         verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
133       - apiGroups: ["autoscaling"]
134         resources: ["horizontalpodautoscalers"]
135         verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
136       - apiGroups: ["serving.knative.dev", "autoscaling.internal.knative.dev", "networking.internal.knative.dev"]
137         resources: ["*", "*/status", "*/finalizers"]
138         verbs: ["get", "list", "create", "update", "delete", "deletecollection", "patch", "watch"]
139       - apiGroups: ["caching.internal.knative.dev"]
140         resources: ["images"]
141         verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
142     ---
143     kind: ClusterRole
144     apiVersion: rbac.authorization.k8s.io/v1
145     metadata:
146       name: knative-serving-podspecable-binding
147       labels:
148         serving.knative.dev/release: devel
149         duck.knative.dev/podspecable: "true"
150     rules:
151     - apiGroups:
152       - serving.knative.dev
153       resources:
154       - configurations
155       - services
156       verbs:
157       - list
158       - watch
159       - patch
160     ---
161     apiVersion: v1
162     kind: ServiceAccount
163     metadata:
164       name: controller
165       namespace: knative-serving
166       labels:
167         serving.knative.dev/release: devel
168     ---
169     apiVersion: rbac.authorization.k8s.io/v1
170     kind: ClusterRoleBinding
171     metadata:
172       name: custom-metrics:system:auth-delegator
173       labels:
174         serving.knative.dev/release: devel
175         autoscaling.knative.dev/metric-provider: custom-metrics
176     roleRef:
177       apiGroup: rbac.authorization.k8s.io
178       kind: ClusterRole
179       name: system:auth-delegator
180     subjects:
181     - kind: ServiceAccount
182       name: controller
183       namespace: knative-serving
184     ---
185     apiVersion: rbac.authorization.k8s.io/v1
186     kind: ClusterRoleBinding
187     metadata:
188       name: hpa-controller-custom-metrics
189       labels:
190         serving.knative.dev/release: devel
191         autoscaling.knative.dev/metric-provider: custom-metrics
192     roleRef:
193       apiGroup: rbac.authorization.k8s.io
194       kind: ClusterRole
195       name: custom-metrics-server-resources
196     subjects:
197     - kind: ServiceAccount
198       name: horizontal-pod-autoscaler
199       namespace: kube-system
200     ---
201     apiVersion: rbac.authorization.k8s.io/v1
202     kind: ClusterRoleBinding
203     metadata:
204       name: knative-serving-controller-admin
205       labels:
206         serving.knative.dev/release: devel
207     subjects:
208       - kind: ServiceAccount
209         name: controller
210         namespace: knative-serving
211     roleRef:
212       kind: ClusterRole
213       name: knative-serving-admin
214       apiGroup: rbac.authorization.k8s.io
215     ---
216     apiVersion: rbac.authorization.k8s.io/v1
217     kind: RoleBinding
218     metadata:
219       name: custom-metrics-auth-reader
220       namespace: kube-system
221       labels:
222         serving.knative.dev/release: devel
223         autoscaling.knative.dev/metric-provider: custom-metrics
224     roleRef:
225       apiGroup: rbac.authorization.k8s.io
226       kind: Role
227       name: extension-apiserver-authentication-reader
228     subjects:
229     - kind: ServiceAccount
230       name: controller
231       namespace: knative-serving
232     ---
233     apiVersion: networking.istio.io/v1alpha3
234     kind: Gateway
235     metadata:
236       name: knative-ingress-gateway
237       namespace: knative-serving
238       labels:
239         serving.knative.dev/release: devel
240         networking.knative.dev/ingress-provider: istio
241     spec:
242       selector:
243         istio: ingressgateway
244       servers:
245       - port:
246           number: 80
247           name: http
248           protocol: HTTP
249         hosts:
250         - "*"
251     ---
252     apiVersion: networking.istio.io/v1alpha3
253     kind: Gateway
254     metadata:
255       name: cluster-local-gateway
256       namespace: knative-serving
257       labels:
258         serving.knative.dev/release: devel
259         networking.knative.dev/ingress-provider: istio
260     spec:
261       selector:
262         istio: cluster-local-gateway
263       servers:
264       - port:
265           number: 80
266           name: http
267           protocol: HTTP
268         hosts:
269         - "*"
270     ---
271     apiVersion: apiextensions.k8s.io/v1beta1
272     kind: CustomResourceDefinition
273     metadata:
274       name: certificates.networking.internal.knative.dev
275       labels:
276         serving.knative.dev/release: devel
277         knative.dev/crd-install: "true"
278     spec:
279       group: networking.internal.knative.dev
280       version: v1alpha1
281       names:
282         kind: Certificate
283         plural: certificates
284         singular: certificate
285         categories:
286         - knative-internal
287         - networking
288         shortNames:
289         - kcert
290       scope: Namespaced
291       subresources:
292         status: {}
293       additionalPrinterColumns:
294       - name: Ready
295         type: string
296         JSONPath: ".status.conditions[?(@.type==\"Ready\")].status"
297       - name: Reason
298         type: string
299         JSONPath: ".status.conditions[?(@.type==\"Ready\")].reason"
300     ---
301     apiVersion: apiextensions.k8s.io/v1beta1
302     kind: CustomResourceDefinition
303     metadata:
304       name: configurations.serving.knative.dev
305       labels:
306         serving.knative.dev/release: devel
307         knative.dev/crd-install: "true"
308         duck.knative.dev/podspecable: "true"
309     spec:
310       group: serving.knative.dev
311       versions:
312       - name: v1alpha1
313         served: true
314         storage: true
315       - name: v1beta1
316         served: true
317         storage: false
318       - name: v1
319         served: true
320         storage: false
321       names:
322         kind: Configuration
323         plural: configurations
324         singular: configuration
325         categories:
326         - all
327         - knative
328         - serving
329         shortNames:
330         - config
331         - cfg
332       scope: Namespaced
333       subresources:
334         status: {}
335       additionalPrinterColumns:
336       - name: LatestCreated
337         type: string
338         JSONPath: .status.latestCreatedRevisionName
339       - name: LatestReady
340         type: string
341         JSONPath: .status.latestReadyRevisionName
342       - name: Ready
343         type: string
344         JSONPath: ".status.conditions[?(@.type=='Ready')].status"
345       - name: Reason
346         type: string
347         JSONPath: ".status.conditions[?(@.type=='Ready')].reason"
348     ---
349     apiVersion: apiextensions.k8s.io/v1beta1
350     kind: CustomResourceDefinition
351     metadata:
352       name: images.caching.internal.knative.dev
353       labels:
354         knative.dev/crd-install: "true"
355     spec:
356       group: caching.internal.knative.dev
357       version: v1alpha1
358       names:
359         kind: Image
360         plural: images
361         singular: image
362         categories:
363         - knative-internal
364         - caching
365         shortNames:
366         - img
367       scope: Namespaced
368       subresources:
369         status: {}
370     ---
371     apiVersion: apiextensions.k8s.io/v1beta1
372     kind: CustomResourceDefinition
373     metadata:
374       name: ingresses.networking.internal.knative.dev
375       labels:
376         serving.knative.dev/release: devel
377         knative.dev/crd-install: "true"
378     spec:
379       group: networking.internal.knative.dev
380       versions:
381       - name: v1alpha1
382         served: true
383         storage: true
384       names:
385         kind: Ingress
386         plural: ingresses
387         singular: ingress
388         categories:
389         - knative-internal
390         - networking
391         shortNames:
92e5f3 392         - kingress
990342 393       scope: Namespaced
JF 394       subresources:
395         status: {}
396       additionalPrinterColumns:
397       - name: Ready
398         type: string
399         JSONPath: ".status.conditions[?(@.type=='Ready')].status"
400       - name: Reason
401         type: string
402         JSONPath: ".status.conditions[?(@.type=='Ready')].reason"
403     ---
404     apiVersion: apiextensions.k8s.io/v1beta1
405     kind: CustomResourceDefinition
406     metadata:
407       name: metrics.autoscaling.internal.knative.dev
408       labels:
409         serving.knative.dev/release: devel
410         knative.dev/crd-install: "true"
411     spec:
412       group: autoscaling.internal.knative.dev
413       version: v1alpha1
414       names:
415         kind: Metric
416         plural: metrics
417         singular: metric
418         categories:
419         - knative-internal
420         - autoscaling
421       scope: Namespaced
422       subresources:
423         status: {}
424       additionalPrinterColumns:
425       - name: Ready
426         type: string
427         JSONPath: ".status.conditions[?(@.type=='Ready')].status"
428       - name: Reason
429         type: string
430         JSONPath: ".status.conditions[?(@.type=='Ready')].reason"
431     ---
432     apiVersion: apiextensions.k8s.io/v1beta1
433     kind: CustomResourceDefinition
434     metadata:
435       name: podautoscalers.autoscaling.internal.knative.dev
436       labels:
437         serving.knative.dev/release: devel
438         knative.dev/crd-install: "true"
439     spec:
440       group: autoscaling.internal.knative.dev
441       versions:
442       - name: v1alpha1
443         served: true
444         storage: true
445       names:
446         kind: PodAutoscaler
447         plural: podautoscalers
448         singular: podautoscaler
449         categories:
450         - knative-internal
451         - autoscaling
452         shortNames:
453         - kpa
454         - pa
455       scope: Namespaced
456       subresources:
457         status: {}
458       additionalPrinterColumns:
459       - name: DesiredScale
460         type: integer
461         JSONPath: ".status.desiredScale"
462       - name: ActualScale
463         type: integer
464         JSONPath: ".status.actualScale"
465       - name: Ready
466         type: string
467         JSONPath: ".status.conditions[?(@.type=='Ready')].status"
468       - name: Reason
469         type: string
470         JSONPath: ".status.conditions[?(@.type=='Ready')].reason"
471     ---
472     apiVersion: apiextensions.k8s.io/v1beta1
473     kind: CustomResourceDefinition
474     metadata:
475       name: revisions.serving.knative.dev
476       labels:
477         serving.knative.dev/release: devel
478         knative.dev/crd-install: "true"
479     spec:
480       group: serving.knative.dev
481       versions:
482       - name: v1alpha1
483         served: true
484         storage: true
485       - name: v1beta1
486         served: true
487         storage: false
488       - name: v1
489         served: true
490         storage: false
491       names:
492         kind: Revision
493         plural: revisions
494         singular: revision
495         categories:
496         - all
497         - knative
498         - serving
499         shortNames:
500         - rev
501       scope: Namespaced
502       subresources:
503         status: {}
504       additionalPrinterColumns:
505       - name: Config Name
506         type: string
507         JSONPath: ".metadata.labels['serving\\.knative\\.dev/configuration']"
508       - name: K8s Service Name
509         type: string
510         JSONPath: ".status.serviceName"
511       - name: Generation
512         type: string # int in string form :(
513         JSONPath: ".metadata.labels['serving\\.knative\\.dev/configurationGeneration']"
514       - name: Ready
515         type: string
516         JSONPath: ".status.conditions[?(@.type=='Ready')].status"
517       - name: Reason
518         type: string
519         JSONPath: ".status.conditions[?(@.type=='Ready')].reason"
520     ---
521     apiVersion: apiextensions.k8s.io/v1beta1
522     kind: CustomResourceDefinition
523     metadata:
524       name: routes.serving.knative.dev
525       labels:
526         serving.knative.dev/release: devel
527         knative.dev/crd-install: "true"
528         duck.knative.dev/addressable: "true"
529     spec:
530       group: serving.knative.dev
531       versions:
532       - name: v1alpha1
533         served: true
534         storage: true
535       - name: v1beta1
536         served: true
537         storage: false
538       - name: v1
539         served: true
540         storage: false
541       names:
542         kind: Route
543         plural: routes
544         singular: route
545         categories:
546         - all
547         - knative
548         - serving
549         shortNames:
550         - rt
551       scope: Namespaced
552       subresources:
553         status: {}
554       additionalPrinterColumns:
555       - name: URL
556         type: string
557         JSONPath: .status.url
558       - name: Ready
559         type: string
560         JSONPath: ".status.conditions[?(@.type=='Ready')].status"
561       - name: Reason
562         type: string
563         JSONPath: ".status.conditions[?(@.type=='Ready')].reason"
564     ---
565     apiVersion: apiextensions.k8s.io/v1beta1
566     kind: CustomResourceDefinition
567     metadata:
568       name: services.serving.knative.dev
569       labels:
570         serving.knative.dev/release: devel
571         knative.dev/crd-install: "true"
572         duck.knative.dev/addressable: "true"
573         duck.knative.dev/podspecable: "true"
574     spec:
575       group: serving.knative.dev
576       versions:
577       - name: v1alpha1
578         served: true
579         storage: true
580       - name: v1beta1
581         served: true
582         storage: false
583       - name: v1
584         served: true
585         storage: false
586       names:
587         kind: Service
588         plural: services
589         singular: service
590         categories:
591         - all
592         - knative
593         - serving
594         shortNames:
595         - kservice
596         - ksvc
597       scope: Namespaced
598       subresources:
599         status: {}
600       additionalPrinterColumns:
601       - name: URL
602         type: string
603         JSONPath: .status.url
604       - name: LatestCreated
605         type: string
606         JSONPath: .status.latestCreatedRevisionName
607       - name: LatestReady
608         type: string
609         JSONPath: .status.latestReadyRevisionName
610       - name: Ready
611         type: string
612         JSONPath: ".status.conditions[?(@.type=='Ready')].status"
613       - name: Reason
614         type: string
615         JSONPath: ".status.conditions[?(@.type=='Ready')].reason"
616     ---
617     apiVersion: apiextensions.k8s.io/v1beta1
618     kind: CustomResourceDefinition
619     metadata:
620       name: serverlessservices.networking.internal.knative.dev
621       labels:
622         serving.knative.dev/release: devel
623         knative.dev/crd-install: "true"
624     spec:
625       group: networking.internal.knative.dev
626       versions:
627       - name: v1alpha1
628         served: true
629         storage: true
630       names:
631         kind: ServerlessService
632         plural: serverlessservices
633         singular: serverlessservice
634         categories:
635         - knative-internal
636         - networking
637         shortNames:
638         - sks
639       scope: Namespaced
640       subresources:
641         status: {}
642       additionalPrinterColumns:
643       - name: Mode
644         type: string
645         JSONPath: ".spec.mode"
646       - name: ServiceName
647         type: string
648         JSONPath: ".status.serviceName"
649       - name: PrivateServiceName
650         type: string
651         JSONPath: ".status.privateServiceName"
652       - name: Ready
653         type: string
654         JSONPath: ".status.conditions[?(@.type=='Ready')].status"
655       - name: Reason
656         type: string
657         JSONPath: ".status.conditions[?(@.type=='Ready')].reason"
658     ---
92e5f3 659     apiVersion: admissionregistration.k8s.io/v1beta1
JF 660     kind: ValidatingWebhookConfiguration
990342 661     metadata:
92e5f3 662       name: config.webhook.serving.knative.dev
990342 663       labels:
JF 664         serving.knative.dev/release: devel
92e5f3 665     webhooks:
JF 666     - admissionReviewVersions:
667       - v1beta1
668       clientConfig:
669         service:
670           name: webhook
671           namespace: knative-serving
672       failurePolicy: Fail
673       sideEffects: None
674       name: config.webhook.serving.knative.dev
675       namespaceSelector:
676         matchExpressions:
677         - key: serving.knative.dev/release
678           operator: Exists
990342 679     ---
JF 680     apiVersion: admissionregistration.k8s.io/v1beta1
681     kind: MutatingWebhookConfiguration
682     metadata:
683       name: webhook.serving.knative.dev
684       labels:
685         serving.knative.dev/release: devel
686     webhooks:
687     - admissionReviewVersions:
688       - v1beta1
689       clientConfig:
690         service:
691           name: webhook
692           namespace: knative-serving
693       failurePolicy: Fail
92e5f3 694       sideEffects: None
990342 695       name: webhook.serving.knative.dev
JF 696     ---
697     apiVersion: admissionregistration.k8s.io/v1beta1
698     kind: ValidatingWebhookConfiguration
699     metadata:
700       name: validation.webhook.serving.knative.dev
701       labels:
702         serving.knative.dev/release: devel
703     webhooks:
704     - admissionReviewVersions:
705       - v1beta1
706       clientConfig:
707         service:
708           name: webhook
709           namespace: knative-serving
710       failurePolicy: Fail
92e5f3 711       sideEffects: None
990342 712       name: validation.webhook.serving.knative.dev
JF 713     ---
714     apiVersion: v1
715     kind: Secret
716     metadata:
717       name: webhook-certs
718       namespace: knative-serving
719       labels:
720         serving.knative.dev/release: devel
721     ---
722     apiVersion: caching.internal.knative.dev/v1alpha1
723     kind: Image
724     metadata:
725       name: queue-proxy
726       namespace: knative-serving
727       labels:
728         serving.knative.dev/release: devel
729     spec:
92e5f3 730       image: quay.io/openshift-knative/knative-serving-queue:v0.12.1
990342 731     ---
JF 732     apiVersion: autoscaling/v2beta1
733     kind: HorizontalPodAutoscaler
734     metadata:
735       name: activator
736       namespace: knative-serving
737       labels:
738         serving.knative.dev/release: devel
739     spec:
740         minReplicas: 1
741         maxReplicas: 20
742         scaleTargetRef:
743           apiVersion: apps/v1
744           kind: Deployment
745           name: activator
746         metrics:
747         - type: Resource
748           resource:
749             name: cpu
750             targetAverageUtilization: 100
751     ---
752     apiVersion: apps/v1
753     kind: Deployment
754     metadata:
92e5f3 755       name: activator
JF 756       namespace: knative-serving
757       labels:
758         serving.knative.dev/release: devel
759     spec:
760       selector:
761         matchLabels:
762           app: activator
763           role: activator
764       template:
765         metadata:
766           annotations:
767             cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
768           labels:
769             app: activator
770             role: activator
771             serving.knative.dev/release: devel
772         spec:
773           serviceAccountName: controller
774           containers:
775           - name: activator
776             image: quay.io/openshift-knative/knative-serving-activator:v0.12.1
777             resources:
778               requests:
779                 cpu: 300m
780                 memory: 60Mi
781               limits:
782                 cpu: 1000m
783                 memory: 600Mi
784             env:
785             - name: GOGC
786               value: "500"
787             - name: POD_NAME
788               valueFrom:
789                 fieldRef:
790                   fieldPath: metadata.name
791             - name: POD_IP
792               valueFrom:
793                 fieldRef:
794                   fieldPath: status.podIP
795             - name: SYSTEM_NAMESPACE
796               valueFrom:
797                 fieldRef:
798                   fieldPath: metadata.namespace
799             - name: CONFIG_LOGGING_NAME
800               value: config-logging
801             - name: CONFIG_OBSERVABILITY_NAME
802               value: config-observability
803             - name: METRICS_DOMAIN
804               value: knative.dev/internal/serving
805             securityContext:
806               allowPrivilegeEscalation: false
807             ports:
808             - name: metrics
809               containerPort: 9090
810             - name: profiling
811               containerPort: 8008
812             - name: http1
813               containerPort: 8012
814             - name: h2c
815               containerPort: 8013
816             readinessProbe: &probe
817               httpGet:
818                 port: 8012
819                 httpHeaders:
820                 - name: k-kubelet-probe
821                   value: "activator"
822             livenessProbe: *probe
823           terminationGracePeriodSeconds: 300
824     ---
825     apiVersion: v1
826     kind: Service
827     metadata:
828       name: activator-service
829       namespace: knative-serving
830       labels:
831         app: activator
832         serving.knative.dev/release: devel
833     spec:
834       selector:
835         app: activator
836       ports:
837       - name: http-metrics
838         port: 9090
839         targetPort: 9090
840       - name: http-profiling
841         port: 8008
842         targetPort: 8008
843       - name: http
844         port: 80
845         targetPort: 8012
846       - name: http2
847         port: 81
848         targetPort: 8013
849       type: ClusterIP
850     ---
851     apiVersion: apps/v1
852     kind: Deployment
853     metadata:
990342 854       name: autoscaler-hpa
JF 855       namespace: knative-serving
856       labels:
857         serving.knative.dev/release: devel
858         autoscaling.knative.dev/autoscaler-provider: hpa
859     spec:
860       selector:
861         matchLabels:
862           app: autoscaler-hpa
863       template:
864         metadata:
865           annotations:
92e5f3 866             cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
990342 867           labels:
JF 868             app: autoscaler-hpa
869             serving.knative.dev/release: devel
870         spec:
871           serviceAccountName: controller
872           containers:
873           - name: autoscaler-hpa
92e5f3 874             image: quay.io/openshift-knative/knative-serving-autoscaler-hpa:v0.12.1
990342 875             resources:
JF 876               requests:
92e5f3 877                 cpu: 30m
JF 878                 memory: 40Mi
990342 879               limits:
92e5f3 880                 cpu: 300m
JF 881                 memory: 400Mi
990342 882             env:
JF 883             - name: SYSTEM_NAMESPACE
884               valueFrom:
885                 fieldRef:
886                   fieldPath: metadata.namespace
887             - name: CONFIG_LOGGING_NAME
888               value: config-logging
889             - name: CONFIG_OBSERVABILITY_NAME
890               value: config-observability
891             - name: METRICS_DOMAIN
892               value: knative.dev/serving
893             securityContext:
894               allowPrivilegeEscalation: false
92e5f3 895             ports:
JF 896             - name: metrics
897               containerPort: 9090
898             - name: profiling
899               containerPort: 8008
990342 900     ---
JF 901     apiVersion: v1
902     kind: Service
903     metadata:
904       labels:
92e5f3 905         app: autoscaler-hpa
990342 906         serving.knative.dev/release: devel
92e5f3 907         autoscaling.knative.dev/autoscaler-provider: hpa
JF 908       name: autoscaler-hpa
990342 909       namespace: knative-serving
JF 910     spec:
911       ports:
912       - name: http-metrics
913         port: 9090
914         targetPort: 9090
92e5f3 915       - name: http-profiling
JF 916         port: 8008
917         targetPort: 8008
990342 918       selector:
92e5f3 919         app: autoscaler-hpa
990342 920     ---
JF 921     apiVersion: apps/v1
922     kind: Deployment
923     metadata:
924       name: autoscaler
925       namespace: knative-serving
926       labels:
927         serving.knative.dev/release: devel
928     spec:
929       replicas: 1
930       selector:
931         matchLabels:
932           app: autoscaler
933       template:
934         metadata:
935           annotations:
936             cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
937           labels:
938             app: autoscaler
939             serving.knative.dev/release: devel
940         spec:
941           serviceAccountName: controller
942           containers:
943           - name: autoscaler
92e5f3 944             image: quay.io/openshift-knative/knative-serving-autoscaler:v0.12.1
990342 945             resources:
JF 946               requests:
947                 cpu: 30m
948                 memory: 40Mi
949               limits:
950                 cpu: 300m
951                 memory: 400Mi
952             env:
953             - name: SYSTEM_NAMESPACE
954               valueFrom:
955                 fieldRef:
956                   fieldPath: metadata.namespace
957             - name: CONFIG_LOGGING_NAME
958               value: config-logging
959             - name: CONFIG_OBSERVABILITY_NAME
960               value: config-observability
961             - name: METRICS_DOMAIN
962               value: knative.dev/serving
963             securityContext:
964               allowPrivilegeEscalation: false
92e5f3 965             ports:
JF 966             - name: metrics
967               containerPort: 9090
968             - name: profiling
969               containerPort: 8008
970             - name: websocket
971               containerPort: 8080
972             - name: custom-metrics
973               containerPort: 8443
974             readinessProbe: &probe
975               httpGet:
976                 port: 8080
977                 httpHeaders:
978                 - name: k-kubelet-probe
979                   value: "autoscaler"
980             livenessProbe: *probe
981             args:
982             - "--secure-port=8443"
983             - "--cert-dir=/tmp"
984     ---
985     apiVersion: v1
986     kind: Service
987     metadata:
988       labels:
989         app: autoscaler
990         serving.knative.dev/release: devel
991       name: autoscaler
992       namespace: knative-serving
993     spec:
994       ports:
995       - name: http-metrics
996         port: 9090
997         targetPort: 9090
998       - name: http-profiling
999         port: 8008
1000         targetPort: 8008
1001       - name: http
1002         port: 8080
1003         targetPort: 8080
1004       - name: https-custom-metrics
1005         port: 443
1006         targetPort: 8443
1007       selector:
1008         app: autoscaler
990342 1009     ---
JF 1010     apiVersion: v1
1011     kind: ConfigMap
1012     metadata:
1013       name: config-autoscaler
1014       namespace: knative-serving
1015       labels:
1016         serving.knative.dev/release: devel
1017     data:
1018       _example: |
1019         container-concurrency-target-percentage: "70"
1020         container-concurrency-target-default: "100"
1021         requests-per-second-target-default: "200"
1022         target-burst-capacity: "200"
1023         stable-window: "60s"
1024         panic-window-percentage: "10.0"
1025         panic-threshold-percentage: "200.0"
1026         max-scale-up-rate: "1000.0"
1027         max-scale-down-rate: "2.0"
1028         enable-scale-to-zero: "true"
1029         tick-interval: "2s"
1030         scale-to-zero-grace-period: "30s"
92e5f3 1031         enable-graceful-scaledown: "false"
990342 1032     ---
JF 1033     apiVersion: v1
1034     kind: ConfigMap
1035     metadata:
1036       name: config-defaults
1037       namespace: knative-serving
1038       labels:
1039         serving.knative.dev/release: devel
1040     data:
1041       _example: |
1042         revision-timeout-seconds: "300"  # 5 minutes
1043         max-revision-timeout-seconds: "600"  # 10 minutes
1044         revision-cpu-request: "400m"  # 0.4 of a CPU (aka 400 milli-CPU)
1045         revision-memory-request: "100M"  # 100 megabytes of memory
1046         revision-cpu-limit: "1000m"  # 1 CPU (aka 1000 milli-CPU)
1047         revision-memory-limit: "200M"  # 200 megabytes of memory
1048         container-name-template: "user-container"
1049         container-concurrency: "0"
1050     ---
1051     apiVersion: v1
1052     kind: ConfigMap
1053     metadata:
1054       name: config-deployment
1055       namespace: knative-serving
1056       labels:
1057         serving.knative.dev/release: devel
1058     data:
92e5f3 1059       queueSidecarImage: quay.io/openshift-knative/knative-serving-queue:v0.12.1
990342 1060       _example: |
JF 1061         registriesSkippingTagResolving: "ko.local,dev.local"
1062     ---
1063     apiVersion: v1
1064     kind: ConfigMap
1065     metadata:
1066       name: config-domain
1067       namespace: knative-serving
1068       labels:
1069         serving.knative.dev/release: devel
1070     data:
1071       _example: |
1072         example.com: |
1073         example.org: |
1074           selector:
1075             app: nonprofit
1076         svc.cluster.local: |
1077           selector:
1078             app: secret
1079     ---
1080     apiVersion: v1
1081     kind: ConfigMap
1082     metadata:
1083       name: config-gc
1084       namespace: knative-serving
1085       labels:
1086         serving.knative.dev/release: devel
1087     data:
1088       _example: |
92e5f3 1089         stale-revision-create-delay: "48h"
990342 1090         stale-revision-timeout: "15h"
92e5f3 1091         stale-revision-minimum-generations: "20"
990342 1092         stale-revision-lastpinned-debounce: "5h"
JF 1093     ---
1094     apiVersion: v1
1095     kind: ConfigMap
1096     metadata:
1097       name: config-istio
1098       namespace: knative-serving
1099       labels:
1100         serving.knative.dev/release: devel
1101         networking.knative.dev/ingress-provider: istio
1102     data:
1103       _example: |
1104         gateway.knative-serving.knative-ingress-gateway: "istio-ingressgateway.istio-system.svc.cluster.local"
1105         local-gateway.knative-serving.cluster-local-gateway: "cluster-local-gateway.istio-system.svc.cluster.local"
1106         local-gateway.mesh: "mesh"
1107     ---
1108     apiVersion: v1
1109     kind: ConfigMap
1110     metadata:
1111       name: config-logging
1112       namespace: knative-serving
1113       labels:
1114         serving.knative.dev/release: devel
1115     data:
1116       _example: |
1117         zap-logger-config: |
1118           {
1119             "level": "info",
1120             "development": false,
1121             "outputPaths": ["stdout"],
1122             "errorOutputPaths": ["stderr"],
1123             "encoding": "json",
1124             "encoderConfig": {
1125               "timeKey": "ts",
1126               "levelKey": "level",
1127               "nameKey": "logger",
1128               "callerKey": "caller",
1129               "messageKey": "msg",
1130               "stacktraceKey": "stacktrace",
1131               "lineEnding": "",
1132               "levelEncoder": "",
1133               "timeEncoder": "iso8601",
1134               "durationEncoder": "",
1135               "callerEncoder": ""
1136             }
1137           }
1138         loglevel.controller: "info"
1139         loglevel.autoscaler: "info"
1140         loglevel.queueproxy: "info"
1141         loglevel.webhook: "info"
1142         loglevel.activator: "info"
1143     ---
1144     apiVersion: v1
1145     kind: ConfigMap
1146     metadata:
1147       name: config-network
1148       namespace: knative-serving
1149       labels:
1150         serving.knative.dev/release: devel
1151     data:
1152       _example: |
1153         istio.sidecar.includeOutboundIPRanges: "*"
1154         ingress.class: "istio.ingress.networking.knative.dev"
1155         certificate.class: "cert-manager.certificate.networking.internal.knative.dev"
1156         domainTemplate: "{{.Name}}.{{.Namespace}}.{{.Domain}}"
1157         tagTemplate: "{{.Tag}}-{{.Name}}"
1158         autoTLS: "Disabled"
1159         httpProtocol: "Enabled"
1160     ---
1161     apiVersion: v1
1162     kind: ConfigMap
1163     metadata:
1164       name: config-observability
1165       namespace: knative-serving
1166       labels:
1167         serving.knative.dev/release: devel
1168     data:
1169       _example: |
1170         logging.enable-var-log-collection: "false"
1171         logging.revision-url-template: |
1172           http://localhost:8001/api/v1/namespaces/knative-monitoring/services/kibana-logging/proxy/app/kibana#/discover?_a=(query:(match:(kubernetes.labels.serving-knative-dev%2FrevisionUID:(query:'${REVISION_UID}',type:phrase))))
1173         logging.request-log-template: '{"httpRequest": {"requestMethod": "{{.Request.Method}}", "requestUrl": "{{js .Request.RequestURI}}", "requestSize": "{{.Request.ContentLength}}", "status": {{.Response.Code}}, "responseSize": "{{.Response.Size}}", "userAgent": "{{js .Request.UserAgent}}", "remoteIp": "{{js .Request.RemoteAddr}}", "serverIp": "{{.Revision.PodIP}}", "referer": "{{js .Request.Referer}}", "latency": "{{.Response.Latency}}s", "protocol": "{{.Request.Proto}}"}, "traceId": "{{index .Request.Header "X-B3-Traceid"}}"}'
1174         logging.enable-probe-request-log: "false"
1175         metrics.backend-destination: prometheus
1176         metrics.request-metrics-backend-destination: prometheus
1177         metrics.stackdriver-project-id: "<your stackdriver project id>"
1178         metrics.allow-stackdriver-custom-metrics: "false"
1179         profiling.enable: "false"
1180     ---
1181     apiVersion: v1
1182     kind: ConfigMap
1183     metadata:
1184       name: config-tracing
1185       namespace: knative-serving
1186       labels:
1187         serving.knative.dev/release: devel
1188     data:
1189       _example: |
1190         backend: "none"
1191         zipkin-endpoint: "http://zipkin.istio-system.svc.cluster.local:9411/api/v2/spans"
1192         stackdriver-project-id: "my-project"
1193         debug: "false"
1194         sample-rate: "0.1"
1195     ---
1196     apiVersion: apps/v1
1197     kind: Deployment
1198     metadata:
1199       name: controller
1200       namespace: knative-serving
1201       labels:
1202         serving.knative.dev/release: devel
1203     spec:
1204       selector:
1205         matchLabels:
1206           app: controller
1207       template:
1208         metadata:
1209           annotations:
92e5f3 1210             cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
990342 1211           labels:
JF 1212             app: controller
1213             serving.knative.dev/release: devel
1214         spec:
1215           serviceAccountName: controller
1216           containers:
1217           - name: controller
92e5f3 1218             image: quay.io/openshift-knative/knative-serving-controller:v0.12.1
990342 1219             resources:
JF 1220               requests:
1221                 cpu: 100m
1222                 memory: 100Mi
1223               limits:
1224                 cpu: 1000m
1225                 memory: 1000Mi
1226             env:
1227             - name: SYSTEM_NAMESPACE
1228               valueFrom:
1229                 fieldRef:
1230                   fieldPath: metadata.namespace
1231             - name: CONFIG_LOGGING_NAME
1232               value: config-logging
1233             - name: CONFIG_OBSERVABILITY_NAME
1234               value: config-observability
1235             - name: METRICS_DOMAIN
1236               value: knative.dev/internal/serving
1237             securityContext:
1238               allowPrivilegeEscalation: false
92e5f3 1239             ports:
JF 1240             - name: metrics
1241               containerPort: 9090
1242             - name: profiling
1243               containerPort: 8008
1244     ---
1245     apiVersion: v1
1246     kind: Service
1247     metadata:
1248       labels:
1249         app: controller
1250         serving.knative.dev/release: devel
1251       name: controller
1252       namespace: knative-serving
1253     spec:
1254       ports:
1255       - name: http-metrics
1256         port: 9090
1257         targetPort: 9090
1258       - name: http-profiling
1259         port: 8008
1260         targetPort: 8008
1261       selector:
1262         app: controller
990342 1263     ---
JF 1264     apiVersion: apiregistration.k8s.io/v1beta1
1265     kind: APIService
1266     metadata:
1267       name: v1beta1.custom.metrics.k8s.io
1268       labels:
1269         serving.knative.dev/release: devel
1270         autoscaling.knative.dev/metric-provider: custom-metrics
1271     spec:
1272       service:
1273         name: autoscaler
1274         namespace: knative-serving
1275       group: custom.metrics.k8s.io
1276       version: v1beta1
1277       insecureSkipTLSVerify: true
1278       groupPriorityMinimum: 100
1279       versionPriority: 100
1280     ---
1281     apiVersion: apps/v1
1282     kind: Deployment
1283     metadata:
1284       name: networking-istio
1285       namespace: knative-serving
1286       labels:
1287         serving.knative.dev/release: devel
1288         networking.knative.dev/ingress-provider: istio
1289     spec:
1290       selector:
1291         matchLabels:
1292           app: networking-istio
1293       template:
1294         metadata:
1295           annotations:
92e5f3 1296             cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
990342 1297             sidecar.istio.io/inject: "false"
JF 1298           labels:
1299             app: networking-istio
1300             serving.knative.dev/release: devel
1301         spec:
1302           serviceAccountName: controller
1303           containers:
1304           - name: networking-istio
92e5f3 1305             image: quay.io/openshift-knative/knative-serving-istio:v0.12.1
990342 1306             resources:
JF 1307               requests:
92e5f3 1308                 cpu: 30m
JF 1309                 memory: 40Mi
990342 1310               limits:
92e5f3 1311                 cpu: 300m
JF 1312                 memory: 400Mi
990342 1313             env:
JF 1314             - name: SYSTEM_NAMESPACE
1315               valueFrom:
1316                 fieldRef:
1317                   fieldPath: metadata.namespace
1318             - name: CONFIG_LOGGING_NAME
1319               value: config-logging
1320             - name: CONFIG_OBSERVABILITY_NAME
1321               value: config-observability
1322             - name: METRICS_DOMAIN
1323               value: knative.dev/serving
1324             securityContext:
1325               allowPrivilegeEscalation: false
92e5f3 1326             ports:
JF 1327             - name: metrics
1328               containerPort: 9090
1329             - name: profiling
1330               containerPort: 8008
990342 1331     ---
JF 1332     apiVersion: apps/v1
1333     kind: Deployment
1334     metadata:
1335       name: webhook
1336       namespace: knative-serving
1337       labels:
1338         serving.knative.dev/release: devel
1339     spec:
1340       selector:
1341         matchLabels:
1342           app: webhook
1343           role: webhook
1344       template:
1345         metadata:
1346           annotations:
1347             cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
1348           labels:
1349             app: webhook
1350             role: webhook
1351             serving.knative.dev/release: devel
1352         spec:
1353           serviceAccountName: controller
1354           containers:
1355           - name: webhook
92e5f3 1356             image: quay.io/openshift-knative/knative-serving-webhook:v0.12.1
990342 1357             resources:
JF 1358               requests:
1359                 cpu: 20m
1360                 memory: 20Mi
1361               limits:
1362                 cpu: 200m
1363                 memory: 2Gi
1364             env:
1365             - name: SYSTEM_NAMESPACE
1366               valueFrom:
1367                 fieldRef:
1368                   fieldPath: metadata.namespace
1369             - name: CONFIG_LOGGING_NAME
1370               value: config-logging
1371             - name: CONFIG_OBSERVABILITY_NAME
1372               value: config-observability
1373             - name: METRICS_DOMAIN
1374               value: knative.dev/serving
1375             securityContext:
1376               allowPrivilegeEscalation: false
92e5f3 1377             ports:
JF 1378             - name: metrics
1379               containerPort: 9090
1380             - name: profiling
1381               containerPort: 8008
1382     ---
1383     apiVersion: v1
1384     kind: Service
1385     metadata:
1386       labels:
1387         role: webhook
1388         serving.knative.dev/release: devel
1389       name: webhook
1390       namespace: knative-serving
1391     spec:
1392       ports:
1393       - name: http-metrics
1394         port: 9090
1395         targetPort: 9090
1396       - name: http-profiling
1397         port: 8008
1398         targetPort: 8008
1399       - name: https-webhook
1400         port: 443
1401         targetPort: 8443
1402       selector:
1403         role: webhook