From 1775c809532462ec1b39d4ce70d1cf73a24a71f3 Mon Sep 17 00:00:00 2001 From: Jiri Danek Date: Wed, 25 Sep 2024 13:16:57 +0200 Subject: [PATCH 1/8] NO-JIRA: chore(nbcs): run `make generate` in `components/notebook-controller` to update the yamls --- .../crd/bases/kubeflow.org_notebooks.yaml | 762 ++++++++++++++++++ 1 file changed, 762 insertions(+) diff --git a/components/notebook-controller/config/crd/bases/kubeflow.org_notebooks.yaml b/components/notebook-controller/config/crd/bases/kubeflow.org_notebooks.yaml index 1ca9aac8fc1..38972807ca8 100644 --- a/components/notebook-controller/config/crd/bases/kubeflow.org_notebooks.yaml +++ b/components/notebook-controller/config/crd/bases/kubeflow.org_notebooks.yaml @@ -157,6 +157,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -223,6 +233,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -287,6 +307,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -353,6 +383,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -525,6 +565,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -575,6 +623,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -771,8 +827,33 @@ spec: format: int32 type: integer type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic resources: properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -790,6 +871,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -1136,6 +1219,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -1186,6 +1277,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -1382,8 +1481,33 @@ spec: format: int32 type: integer type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic resources: properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -1401,6 +1525,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -1607,6 +1733,8 @@ spec: type: boolean hostPID: type: boolean + hostUsers: + type: boolean hostname: type: string imagePullSecrets: @@ -1751,6 +1879,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -1801,6 +1937,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -1997,8 +2141,33 @@ spec: format: int32 type: integer type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic resources: properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -2016,6 +2185,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -2241,12 +2412,43 @@ spec: - conditionType type: object type: array + resourceClaims: + items: + properties: + name: + type: string + source: + properties: + resourceClaimName: + type: string + resourceClaimTemplateName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map restartPolicy: type: string runtimeClassName: type: string schedulerName: type: string + schedulingGates: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map securityContext: properties: fsGroup: @@ -2366,9 +2568,21 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic maxSkew: format: int32 type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string topologyKey: type: string whenUnsatisfiable: @@ -2598,6 +2812,8 @@ spec: type: string name: type: string + namespace: + type: string required: - kind - name @@ -2646,6 +2862,8 @@ spec: type: object storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -2832,6 +3050,42 @@ spec: sources: items: properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object configMap: properties: items: @@ -3286,6 +3540,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -3352,6 +3616,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -3416,6 +3690,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -3482,6 +3766,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -3654,6 +3948,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -3704,6 +4006,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -3900,8 +4210,33 @@ spec: format: int32 type: integer type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic resources: properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -3919,6 +4254,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -4265,6 +4602,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -4315,6 +4660,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -4511,8 +4864,33 @@ spec: format: int32 type: integer type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic resources: properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -4530,6 +4908,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -4736,6 +5116,8 @@ spec: type: boolean hostPID: type: boolean + hostUsers: + type: boolean hostname: type: string imagePullSecrets: @@ -4880,6 +5262,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -4930,6 +5320,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -5126,8 +5524,33 @@ spec: format: int32 type: integer type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic resources: properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -5145,6 +5568,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -5370,12 +5795,43 @@ spec: - conditionType type: object type: array + resourceClaims: + items: + properties: + name: + type: string + source: + properties: + resourceClaimName: + type: string + resourceClaimTemplateName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map restartPolicy: type: string runtimeClassName: type: string schedulerName: type: string + schedulingGates: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map securityContext: properties: fsGroup: @@ -5495,9 +5951,21 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic maxSkew: format: int32 type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string topologyKey: type: string whenUnsatisfiable: @@ -5727,6 +6195,8 @@ spec: type: string name: type: string + namespace: + type: string required: - kind - name @@ -5775,6 +6245,8 @@ spec: type: object storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -5961,6 +6433,42 @@ spec: sources: items: properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object configMap: properties: items: @@ -6415,6 +6923,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -6481,6 +6999,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -6545,6 +7073,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -6611,6 +7149,16 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic + mismatchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic namespaceSelector: properties: matchExpressions: @@ -6783,6 +7331,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -6833,6 +7389,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -7029,8 +7593,33 @@ spec: format: int32 type: integer type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic resources: properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -7048,6 +7637,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -7394,6 +7985,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -7444,6 +8043,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -7640,8 +8247,33 @@ spec: format: int32 type: integer type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic resources: properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -7659,6 +8291,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -7865,6 +8499,8 @@ spec: type: boolean hostPID: type: boolean + hostUsers: + type: boolean hostname: type: string imagePullSecrets: @@ -8009,6 +8645,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -8059,6 +8703,14 @@ spec: required: - port type: object + sleep: + properties: + seconds: + format: int64 + type: integer + required: + - seconds + type: object tcpSocket: properties: host: @@ -8255,8 +8907,33 @@ spec: format: int32 type: integer type: object + resizePolicy: + items: + properties: + resourceName: + type: string + restartPolicy: + type: string + required: + - resourceName + - restartPolicy + type: object + type: array + x-kubernetes-list-type: atomic resources: properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map limits: additionalProperties: anyOf: @@ -8274,6 +8951,8 @@ spec: x-kubernetes-int-or-string: true type: object type: object + restartPolicy: + type: string securityContext: properties: allowPrivilegeEscalation: @@ -8499,12 +9178,43 @@ spec: - conditionType type: object type: array + resourceClaims: + items: + properties: + name: + type: string + source: + properties: + resourceClaimName: + type: string + resourceClaimTemplateName: + type: string + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map restartPolicy: type: string runtimeClassName: type: string schedulerName: type: string + schedulingGates: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map securityContext: properties: fsGroup: @@ -8624,9 +9334,21 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + x-kubernetes-list-type: atomic maxSkew: format: int32 type: integer + minDomains: + format: int32 + type: integer + nodeAffinityPolicy: + type: string + nodeTaintsPolicy: + type: string topologyKey: type: string whenUnsatisfiable: @@ -8856,6 +9578,8 @@ spec: type: string name: type: string + namespace: + type: string required: - kind - name @@ -8904,6 +9628,8 @@ spec: type: object storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -9090,6 +9816,42 @@ spec: sources: items: properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + required: + - path + type: object configMap: properties: items: From 1b2dd4fa594937e81aeae886c476cecef19e6dc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jiri=20Dan=C4=9Bk?= Date: Wed, 2 Oct 2024 18:15:39 +0200 Subject: [PATCH 2/8] NO-JIRA: chore(nbcs): update tooling in controller's Makefiles (#391) * ``` bin/setup-envtest use 1.23 -p path unable to find a version that was supported for platform darwin/arm64 ``` * align with operator's and opendatahub-io/notebooks's kustomize version * ``` make generate GOBIN=/Users/jdanek/IdeaProjects/kubeflow/components/odh-notebook-controller/bin go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.8.0 /Users/jdanek/IdeaProjects/kubeflow/components/odh-notebook-controller/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..." panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x1008a00a4] ``` * manifest changes after regen * apply the same changes for notebook-controller as for odh-notebook-controller previously --- components/notebook-controller/Makefile | 8 +- .../api/v1/zz_generated.deepcopy.go | 1 - .../api/v1alpha1/zz_generated.deepcopy.go | 1 - .../api/v1beta1/zz_generated.deepcopy.go | 1 - .../crd/bases/kubeflow.org_notebooks.yaml | 183 +++++++++++++++++- .../notebook-controller/config/rbac/role.yaml | 13 +- components/odh-notebook-controller/Makefile | 6 +- .../config/rbac/role.yaml | 1 - .../config/webhook/manifests.yaml | 1 - 9 files changed, 188 insertions(+), 27 deletions(-) diff --git a/components/notebook-controller/Makefile b/components/notebook-controller/Makefile index 16f20349b02..019d1bd92eb 100644 --- a/components/notebook-controller/Makefile +++ b/components/notebook-controller/Makefile @@ -143,18 +143,18 @@ $(LOCALBIN): ## Ensure that the directory exists CONTROLLER_GEN = $(LOCALBIN)/controller-gen .PHONY: controller-gen controller-gen: ## Download controller-gen locally if necessary. - GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.8.0 + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.3 KUSTOMIZE = $(shell pwd)/bin/kustomize .PHONY: kustomize kustomize: ## Download kustomize locally if necessary. - $(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/v3/cmd/kustomize@v3.2.0) + $(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/v3/cmd/kustomize@v5.0.2) ENVTEST = $(shell pwd)/bin/setup-envtest -ENVTEST_VERSION?=release-0.14 +ENVTEST_VERSION?=v0.0.0-20240923090159-236e448db12c .PHONY: envtest -envtest: ## Download envtest-setup locally if necessary. +envtest: ## Download setup-envtest locally if necessary. $(call go-get-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest@$(ENVTEST_VERSION)) # go-get-tool will 'go get' any package $2 and install it to $1. diff --git a/components/notebook-controller/api/v1/zz_generated.deepcopy.go b/components/notebook-controller/api/v1/zz_generated.deepcopy.go index c786e832027..e94e9579e80 100644 --- a/components/notebook-controller/api/v1/zz_generated.deepcopy.go +++ b/components/notebook-controller/api/v1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* diff --git a/components/notebook-controller/api/v1alpha1/zz_generated.deepcopy.go b/components/notebook-controller/api/v1alpha1/zz_generated.deepcopy.go index 876bdb4dad7..d1d5cb19439 100644 --- a/components/notebook-controller/api/v1alpha1/zz_generated.deepcopy.go +++ b/components/notebook-controller/api/v1alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* diff --git a/components/notebook-controller/api/v1beta1/zz_generated.deepcopy.go b/components/notebook-controller/api/v1beta1/zz_generated.deepcopy.go index c5c3d62abe1..f90e19f9631 100644 --- a/components/notebook-controller/api/v1beta1/zz_generated.deepcopy.go +++ b/components/notebook-controller/api/v1beta1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* diff --git a/components/notebook-controller/config/crd/bases/kubeflow.org_notebooks.yaml b/components/notebook-controller/config/crd/bases/kubeflow.org_notebooks.yaml index 38972807ca8..05d14bb57f5 100644 --- a/components/notebook-controller/config/crd/bases/kubeflow.org_notebooks.yaml +++ b/components/notebook-controller/config/crd/bases/kubeflow.org_notebooks.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.16.3 name: notebooks.kubeflow.org spec: group: kubeflow.org @@ -76,6 +75,7 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic weight: format: int32 type: integer @@ -122,10 +122,12 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic type: array required: - nodeSelectorTerms type: object + x-kubernetes-map-type: atomic type: object podAffinity: properties: @@ -157,6 +159,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -190,6 +193,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -233,6 +237,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -266,6 +271,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -307,6 +313,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -340,6 +347,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -383,6 +391,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -416,6 +425,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -461,6 +471,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: @@ -470,6 +481,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -485,6 +497,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: properties: key: @@ -496,6 +509,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -511,6 +525,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic prefix: type: string secretRef: @@ -520,6 +535,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic type: object type: array image: @@ -663,6 +679,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -767,6 +784,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -952,6 +970,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -1115,6 +1134,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: @@ -1124,6 +1144,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -1139,6 +1160,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: properties: key: @@ -1150,6 +1172,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -1165,6 +1188,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic prefix: type: string secretRef: @@ -1174,6 +1198,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic type: object type: array image: @@ -1317,6 +1342,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -1421,6 +1447,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -1606,6 +1633,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -1743,6 +1771,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic type: array initContainers: items: @@ -1775,6 +1804,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: @@ -1784,6 +1814,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -1799,6 +1830,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: properties: key: @@ -1810,6 +1842,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -1825,6 +1858,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic prefix: type: string secretRef: @@ -1834,6 +1868,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic type: object type: array image: @@ -1977,6 +2012,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -2081,6 +2117,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -2266,6 +2303,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -2568,6 +2606,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -2661,6 +2700,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic user: type: string required: @@ -2677,6 +2717,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic volumeID: type: string required: @@ -2707,6 +2748,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic csi: properties: driver: @@ -2718,6 +2760,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: @@ -2744,6 +2787,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic mode: format: int32 type: integer @@ -2764,6 +2808,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic required: - path type: object @@ -2804,6 +2849,7 @@ spec: - kind - name type: object + x-kubernetes-map-type: atomic dataSourceRef: properties: apiGroup: @@ -2860,6 +2906,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic storageClassName: type: string volumeAttributesClassName: @@ -2908,6 +2955,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic required: - driver type: object @@ -2992,6 +3040,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic targetPortal: type: string required: @@ -3075,6 +3124,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic name: type: string optional: @@ -3108,6 +3158,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic downwardAPI: properties: items: @@ -3122,6 +3173,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic mode: format: int32 type: integer @@ -3142,6 +3194,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic required: - path type: object @@ -3169,6 +3222,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: @@ -3223,6 +3277,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic user: type: string required: @@ -3244,6 +3299,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: @@ -3295,6 +3351,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: @@ -3459,6 +3516,7 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic weight: format: int32 type: integer @@ -3505,10 +3563,12 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic type: array required: - nodeSelectorTerms type: object + x-kubernetes-map-type: atomic type: object podAffinity: properties: @@ -3540,6 +3600,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -3573,6 +3634,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -3616,6 +3678,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -3649,6 +3712,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -3690,6 +3754,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -3723,6 +3788,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -3766,6 +3832,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -3799,6 +3866,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -3844,6 +3912,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: @@ -3853,6 +3922,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -3868,6 +3938,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: properties: key: @@ -3879,6 +3950,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -3894,6 +3966,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic prefix: type: string secretRef: @@ -3903,6 +3976,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic type: object type: array image: @@ -4046,6 +4120,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4150,6 +4225,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4335,6 +4411,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4498,6 +4575,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: @@ -4507,6 +4585,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -4522,6 +4601,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: properties: key: @@ -4533,6 +4613,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -4548,6 +4629,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic prefix: type: string secretRef: @@ -4557,6 +4639,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic type: object type: array image: @@ -4700,6 +4783,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4804,6 +4888,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -4989,6 +5074,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -5126,6 +5212,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic type: array initContainers: items: @@ -5158,6 +5245,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: @@ -5167,6 +5255,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -5182,6 +5271,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: properties: key: @@ -5193,6 +5283,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -5208,6 +5299,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic prefix: type: string secretRef: @@ -5217,6 +5309,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic type: object type: array image: @@ -5360,6 +5453,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -5464,6 +5558,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -5649,6 +5744,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -5951,6 +6047,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -6044,6 +6141,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic user: type: string required: @@ -6060,6 +6158,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic volumeID: type: string required: @@ -6090,6 +6189,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic csi: properties: driver: @@ -6101,6 +6201,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: @@ -6127,6 +6228,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic mode: format: int32 type: integer @@ -6147,6 +6249,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic required: - path type: object @@ -6187,6 +6290,7 @@ spec: - kind - name type: object + x-kubernetes-map-type: atomic dataSourceRef: properties: apiGroup: @@ -6243,6 +6347,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic storageClassName: type: string volumeAttributesClassName: @@ -6291,6 +6396,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic required: - driver type: object @@ -6375,6 +6481,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic targetPortal: type: string required: @@ -6458,6 +6565,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic name: type: string optional: @@ -6491,6 +6599,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic downwardAPI: properties: items: @@ -6505,6 +6614,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic mode: format: int32 type: integer @@ -6525,6 +6635,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic required: - path type: object @@ -6552,6 +6663,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: @@ -6606,6 +6718,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic user: type: string required: @@ -6627,6 +6740,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: @@ -6678,6 +6792,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: @@ -6842,6 +6957,7 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic weight: format: int32 type: integer @@ -6888,10 +7004,12 @@ spec: type: object type: array type: object + x-kubernetes-map-type: atomic type: array required: - nodeSelectorTerms type: object + x-kubernetes-map-type: atomic type: object podAffinity: properties: @@ -6923,6 +7041,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -6956,6 +7075,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -6999,6 +7119,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -7032,6 +7153,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -7073,6 +7195,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -7106,6 +7229,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -7149,6 +7273,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -7182,6 +7307,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic namespaces: items: type: string @@ -7227,6 +7353,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: @@ -7236,6 +7363,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -7251,6 +7379,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: properties: key: @@ -7262,6 +7391,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -7277,6 +7407,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic prefix: type: string secretRef: @@ -7286,6 +7417,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic type: object type: array image: @@ -7429,6 +7561,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -7533,6 +7666,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -7718,6 +7852,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -7881,6 +8016,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: @@ -7890,6 +8026,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -7905,6 +8042,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: properties: key: @@ -7916,6 +8054,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -7931,6 +8070,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic prefix: type: string secretRef: @@ -7940,6 +8080,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic type: object type: array image: @@ -8083,6 +8224,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -8187,6 +8329,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -8372,6 +8515,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -8509,6 +8653,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic type: array initContainers: items: @@ -8541,6 +8686,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic fieldRef: properties: apiVersion: @@ -8550,6 +8696,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -8565,6 +8712,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic secretKeyRef: properties: key: @@ -8576,6 +8724,7 @@ spec: required: - key type: object + x-kubernetes-map-type: atomic type: object required: - name @@ -8591,6 +8740,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic prefix: type: string secretRef: @@ -8600,6 +8750,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic type: object type: array image: @@ -8743,6 +8894,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -8847,6 +8999,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -9032,6 +9185,7 @@ spec: format: int32 type: integer service: + default: "" type: string required: - port @@ -9334,6 +9488,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic matchLabelKeys: items: type: string @@ -9427,6 +9582,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic user: type: string required: @@ -9443,6 +9599,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic volumeID: type: string required: @@ -9473,6 +9630,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic csi: properties: driver: @@ -9484,6 +9642,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic readOnly: type: boolean volumeAttributes: @@ -9510,6 +9669,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic mode: format: int32 type: integer @@ -9530,6 +9690,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic required: - path type: object @@ -9570,6 +9731,7 @@ spec: - kind - name type: object + x-kubernetes-map-type: atomic dataSourceRef: properties: apiGroup: @@ -9626,6 +9788,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic storageClassName: type: string volumeAttributesClassName: @@ -9674,6 +9837,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic required: - driver type: object @@ -9758,6 +9922,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic targetPortal: type: string required: @@ -9841,6 +10006,7 @@ spec: type: string type: object type: object + x-kubernetes-map-type: atomic name: type: string optional: @@ -9874,6 +10040,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic downwardAPI: properties: items: @@ -9888,6 +10055,7 @@ spec: required: - fieldPath type: object + x-kubernetes-map-type: atomic mode: format: int32 type: integer @@ -9908,6 +10076,7 @@ spec: required: - resource type: object + x-kubernetes-map-type: atomic required: - path type: object @@ -9935,6 +10104,7 @@ spec: optional: type: boolean type: object + x-kubernetes-map-type: atomic serviceAccountToken: properties: audience: @@ -9989,6 +10159,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic user: type: string required: @@ -10010,6 +10181,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic sslEnabled: type: boolean storageMode: @@ -10061,6 +10233,7 @@ spec: name: type: string type: object + x-kubernetes-map-type: atomic volumeName: type: string volumeNamespace: @@ -10164,9 +10337,3 @@ spec: storage: false subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/components/notebook-controller/config/rbac/role.yaml b/components/notebook-controller/config/rbac/role.yaml index 45f03d50237..a85ed1e901c 100644 --- a/components/notebook-controller/config/rbac/role.yaml +++ b/components/notebook-controller/config/rbac/role.yaml @@ -2,15 +2,8 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: role rules: -- apiGroups: - - apps - resources: - - statefulsets - verbs: - - '*' - apiGroups: - "" resources: @@ -36,6 +29,12 @@ rules: - services verbs: - '*' +- apiGroups: + - apps + resources: + - statefulsets + verbs: + - '*' - apiGroups: - kubeflow.org resources: diff --git a/components/odh-notebook-controller/Makefile b/components/odh-notebook-controller/Makefile index 558daa7a7db..7fabc6e1107 100644 --- a/components/odh-notebook-controller/Makefile +++ b/components/odh-notebook-controller/Makefile @@ -229,17 +229,17 @@ $(LOCALBIN): ## Ensure that the directory exists CONTROLLER_GEN = $(LOCALBIN)/controller-gen .PHONY: controller-gen controller-gen: ## Download controller-gen locally if necessary. - GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.8.0 + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.3 KUSTOMIZE = $(LOCALBIN)/kustomize .PHONY: kustomize kustomize: ## Download kustomize locally if necessary. - GOBIN=$(LOCALBIN) go install sigs.k8s.io/kustomize/v3/cmd/kustomize@v3.2.0 + GOBIN=$(LOCALBIN) go install sigs.k8s.io/kustomize/v3/cmd/kustomize@v5.0.2 ENVTEST = $(LOCALBIN)/setup-envtest .PHONY: envtest envtest: ## Download setup-envtest locally if necessary. - GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@v0.0.0-20230216140739-c98506dc3b8e + GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@v0.0.0-20240923090159-236e448db12c KTUNNEL = $(LOCALBIN)/ktunnel .PHONY: ktunnel diff --git a/components/odh-notebook-controller/config/rbac/role.yaml b/components/odh-notebook-controller/config/rbac/role.yaml index a4d8175dcc9..1551e236714 100644 --- a/components/odh-notebook-controller/config/rbac/role.yaml +++ b/components/odh-notebook-controller/config/rbac/role.yaml @@ -2,7 +2,6 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: manager-role rules: - apiGroups: diff --git a/components/odh-notebook-controller/config/webhook/manifests.yaml b/components/odh-notebook-controller/config/webhook/manifests.yaml index 82e712dba7e..2083b9c3943 100644 --- a/components/odh-notebook-controller/config/webhook/manifests.yaml +++ b/components/odh-notebook-controller/config/webhook/manifests.yaml @@ -2,7 +2,6 @@ apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: - creationTimestamp: null name: mutating-webhook-configuration webhooks: - admissionReviewVersions: From 92f30d9afff57550ccc6dcd9eca195ae2f3cb00a Mon Sep 17 00:00:00 2001 From: Jan Stourac Date: Fri, 4 Oct 2024 10:15:37 +0200 Subject: [PATCH 3/8] Renamed the GHA fixing a typo --- ...ync-branches-through-py.yaml => sync-branches-through-pr.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{sync-branches-through-py.yaml => sync-branches-through-pr.yaml} (100%) diff --git a/.github/workflows/sync-branches-through-py.yaml b/.github/workflows/sync-branches-through-pr.yaml similarity index 100% rename from .github/workflows/sync-branches-through-py.yaml rename to .github/workflows/sync-branches-through-pr.yaml From 5ddebb27235f71ae61973a0a1d0bd8523fecec93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:37:13 +0000 Subject: [PATCH 4/8] chore(gha): bump peter-evans/create-pull-request from 6.1.0 to 7.0.5 Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.1.0 to 7.0.5. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/c5a7806660adbe173f04e3e038b0ccdcd758773c...5e914681df9dc83aa4e4905692ca88beb2f9e91f) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/sync-branches-through-pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sync-branches-through-pr.yaml b/.github/workflows/sync-branches-through-pr.yaml index d08ab05607f..f412be13f7f 100644 --- a/.github/workflows/sync-branches-through-pr.yaml +++ b/.github/workflows/sync-branches-through-pr.yaml @@ -35,7 +35,7 @@ jobs: echo "branch=$SYNC_BRANCH" >> $GITHUB_OUTPUT - name: Create pull request - uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0 + uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5 with: branch: ${{ steps.prepare.outputs.branch }} title: "Sync `${{ github.event.inputs.target }}` branch with `${{ github.event.inputs.source }}` branch" From 92d07c38281710728e77eb1719d627ffcb165a29 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 7 Oct 2024 08:39:38 +0000 Subject: [PATCH 5/8] Update odh and notebook-controller with image main-7986030 --- .../notebook-controller/config/overlays/openshift/params.env | 2 +- components/odh-notebook-controller/Makefile | 2 +- components/odh-notebook-controller/config/base/params.env | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/notebook-controller/config/overlays/openshift/params.env b/components/notebook-controller/config/overlays/openshift/params.env index d6f49dd6c9a..afc156ff326 100644 --- a/components/notebook-controller/config/overlays/openshift/params.env +++ b/components/notebook-controller/config/overlays/openshift/params.env @@ -1 +1 @@ -odh-kf-notebook-controller-image=quay.io/opendatahub/kubeflow-notebook-controller:1.9-1769b4b +odh-kf-notebook-controller-image=quay.io/opendatahub/kubeflow-notebook-controller:main-7986030 diff --git a/components/odh-notebook-controller/Makefile b/components/odh-notebook-controller/Makefile index 7fabc6e1107..2795b4e96ad 100644 --- a/components/odh-notebook-controller/Makefile +++ b/components/odh-notebook-controller/Makefile @@ -4,7 +4,7 @@ IMG ?= quay.io/opendatahub/odh-notebook-controller TAG ?= $(shell git describe --tags --always) KF_IMG ?= quay.io/opendatahub/kubeflow-notebook-controller -KF_TAG ?= 1.9-1769b4b +KF_TAG ?= main-7986030 CONTAINER_ENGINE ?= podman diff --git a/components/odh-notebook-controller/config/base/params.env b/components/odh-notebook-controller/config/base/params.env index 2c5e256891d..0cc0a43c330 100644 --- a/components/odh-notebook-controller/config/base/params.env +++ b/components/odh-notebook-controller/config/base/params.env @@ -1 +1 @@ -odh-notebook-controller-image=quay.io/opendatahub/odh-notebook-controller:1.9-1769b4b +odh-notebook-controller-image=quay.io/opendatahub/odh-notebook-controller:main-7986030 From 741dcfe01c196dab2a21455d1f0da6b3299e2af6 Mon Sep 17 00:00:00 2001 From: Jiri Danek Date: Tue, 15 Oct 2024 17:14:00 +0200 Subject: [PATCH 6/8] NO-JIRA: fix(gha): replace oc with kubectl in notebook_controller_integration_test.yaml We don't have oc preinstalled on the new GitHub Actions runners that we were autoupdated to. Best to stick to kubectl. --- .github/workflows/notebook_controller_integration_test.yaml | 2 +- .../workflows/odh_notebook_controller_integration_test.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/notebook_controller_integration_test.yaml b/.github/workflows/notebook_controller_integration_test.yaml index dd8caffe5fa..4482902ba6e 100644 --- a/.github/workflows/notebook_controller_integration_test.yaml +++ b/.github/workflows/notebook_controller_integration_test.yaml @@ -89,7 +89,7 @@ jobs: export PR_NOTEBOOK_IMG=localhost/${{env.IMG}}:${{env.TAG}} kustomize edit set image ${CURRENT_NOTEBOOK_IMG}=${PR_NOTEBOOK_IMG} - cat < params.env - cat < Date: Tue, 15 Oct 2024 17:41:52 +0200 Subject: [PATCH 7/8] NO-JIRA: fix(gha) improve robustness by checking for resource existence Without this, the gha is flaky and may fail with ``` notebook.kubeflow.org/minimal-notebook created Error from server (NotFound): statefulsets.apps "minimal-notebook" not found ``` --- .github/workflows/odh_notebook_controller_integration_test.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/odh_notebook_controller_integration_test.yaml b/.github/workflows/odh_notebook_controller_integration_test.yaml index 52ab71fa80b..3d451d0a33e 100644 --- a/.github/workflows/odh_notebook_controller_integration_test.yaml +++ b/.github/workflows/odh_notebook_controller_integration_test.yaml @@ -271,6 +271,8 @@ jobs: port: notebook-port EOF + # wait for the statefulset to be created + timeout 100 bash -c -- 'until kubectl get statefulset minimal-notebook; do sleep 1; done' # wait for the good result kubectl rollout status --watch statefulset minimal-notebook kubectl wait statefulset minimal-notebook --for=jsonpath='{.spec.replicas}'=1 --timeout=100s From 83fd2c8598614b4635d8551666929c50a2d0b1ff Mon Sep 17 00:00:00 2001 From: Jiri Danek Date: Wed, 16 Oct 2024 16:16:22 +0200 Subject: [PATCH 8/8] Revert "[v1.9-branch] RHOAIENG-10827: feat(nbcs): update ose-oauth-proxy image digest reference from 4.8 to the latest 4.14 version (#388)" We found at least one OCP cluster where this change causes restart of running notebooks when controller is updated from a previous version to a version with this fix present. To be safe, we'll roll this back and try again. We'll investigate that cluster to understand what's happening. This reverts commit 99e70bf1c44d3cc2e07983ded45d1e37a4ed5f42. --- .../odh-notebook-controller/config/manager/manager.yaml | 2 +- .../odh-notebook-controller/controllers/notebook_oauth.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/odh-notebook-controller/config/manager/manager.yaml b/components/odh-notebook-controller/config/manager/manager.yaml index 98f25094bd8..991878bfbf3 100644 --- a/components/odh-notebook-controller/config/manager/manager.yaml +++ b/components/odh-notebook-controller/config/manager/manager.yaml @@ -25,7 +25,7 @@ spec: imagePullPolicy: Always command: - /manager - args: ["--oauth-proxy-image", "registry.redhat.io/openshift4/ose-oauth-proxy@sha256:4f8d66597feeb32bb18699326029f9a71a5aca4a57679d636b876377c2e95695"] + args: ["--oauth-proxy-image", "registry.redhat.io/openshift4/ose-oauth-proxy@sha256:4bef31eb993feb6f1096b51b4876c65a6fb1f4401fee97fa4f4542b6b7c9bc46"] securityContext: allowPrivilegeEscalation: false ports: diff --git a/components/odh-notebook-controller/controllers/notebook_oauth.go b/components/odh-notebook-controller/controllers/notebook_oauth.go index 81f78f94a5a..f289dfc2a27 100644 --- a/components/odh-notebook-controller/controllers/notebook_oauth.go +++ b/components/odh-notebook-controller/controllers/notebook_oauth.go @@ -35,10 +35,10 @@ import ( const ( OAuthServicePort = 443 OAuthServicePortName = "oauth-proxy" - // OAuthProxyImage uses sha256 manifest list digest value of v4.14 image for AMD64 as default to be compatible with imagePullPolicy: IfNotPresent, overridable - // taken from https://catalog.redhat.com/software/containers/openshift4/ose-oauth-proxy/5cdb2133bed8bd5717d5ae64?image=66cefc14401df6ff4664ec43&architecture=amd64&container-tabs=overview + // OAuthProxyImage uses sha256 manifest list digest value of v4.8 image for AMD64 as default to be compatible with imagePullPolicy: IfNotPresent, overridable + // taken from https://catalog.redhat.com/software/containers/openshift4/ose-oauth-proxy/5cdb2133bed8bd5717d5ae64?image=6306f12280cc9b3291272668&architecture=amd64&container-tabs=overview // and kept in sync with the manifests here and in ClusterServiceVersion metadata of opendatahub operator - OAuthProxyImage = "registry.redhat.io/openshift4/ose-oauth-proxy@sha256:4f8d66597feeb32bb18699326029f9a71a5aca4a57679d636b876377c2e95695" + OAuthProxyImage = "registry.redhat.io/openshift4/ose-oauth-proxy@sha256:4bef31eb993feb6f1096b51b4876c65a6fb1f4401fee97fa4f4542b6b7c9bc46" ) type OAuthConfig struct {