diff --git a/docs/how-to-guides/feast-operator/03-serving-and-observability.md b/docs/how-to-guides/feast-operator/03-serving-and-observability.md index 0b75eaebb43..46bbd35a58a 100644 --- a/docs/how-to-guides/feast-operator/03-serving-and-observability.md +++ b/docs/how-to-guides/feast-operator/03-serving-and-observability.md @@ -58,7 +58,7 @@ offline, registry, UI) and for the **init containers** (git clone, `feast apply` it overrides all of them at once without touching any CR. The **cronJob** container uses a separate env var: `RELATED_IMAGE_CRON_JOB` -(default: `quay.io/openshift/origin-cli:4.17`). +(default: `registry.k8s.io/kubectl:v1.30.5`). **Cluster-wide image override (operator env var)** — set this on the operator `Deployment` to redirect all pods cluster-wide to a different registry (e.g. a private mirror or a diff --git a/docs/how-to-guides/feast-operator/06-batch-and-jobs.md b/docs/how-to-guides/feast-operator/06-batch-and-jobs.md index 71e7b6b95dc..4c755fa7b0c 100644 --- a/docs/how-to-guides/feast-operator/06-batch-and-jobs.md +++ b/docs/how-to-guides/feast-operator/06-batch-and-jobs.md @@ -117,7 +117,7 @@ fresh without managing an external job scheduler. The CronJob container image is resolved through the following priority chain: 1. **`cronJob.containerConfigs.image` in the CR** — per-CronJob override -2. **`RELATED_IMAGE_CRON_JOB` env var on the operator pod** — cluster-wide default set by OLM/platform (default: `quay.io/openshift/origin-cli:4.17`) +2. **`RELATED_IMAGE_CRON_JOB` env var on the operator pod** — cluster-wide default set by OLM/platform (default: `registry.k8s.io/kubectl:v1.30.5`) ```sh # Override cluster-wide for all CronJobs diff --git a/infra/feast-operator/Makefile b/infra/feast-operator/Makefile index b0ee1fd1c04..bfcfa833c3f 100644 --- a/infra/feast-operator/Makefile +++ b/infra/feast-operator/Makefile @@ -54,7 +54,7 @@ OPERATOR_SDK_VERSION ?= v1.41.0 # the dev image generated using command `make build-feature-server-dev-docker` IMG ?= $(IMAGE_TAG_BASE):$(VERSION) FS_IMG ?= quay.io/feastdev/feature-server:$(VERSION) -CJ_IMG ?= quay.io/openshift/origin-cli:4.17 +CJ_IMG ?= registry.k8s.io/kubectl:v1.30.5 # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. ENVTEST_K8S_VERSION = 1.31.0 diff --git a/infra/feast-operator/bundle/manifests/feast-operator.clusterserviceversion.yaml b/infra/feast-operator/bundle/manifests/feast-operator.clusterserviceversion.yaml index d4795f3fb06..469056578f8 100644 --- a/infra/feast-operator/bundle/manifests/feast-operator.clusterserviceversion.yaml +++ b/infra/feast-operator/bundle/manifests/feast-operator.clusterserviceversion.yaml @@ -443,7 +443,7 @@ spec: - name: RELATED_IMAGE_FEATURE_SERVER value: quay.io/feastdev/feature-server:0.66.0 - name: RELATED_IMAGE_CRON_JOB - value: quay.io/openshift/origin-cli:4.17 + value: registry.k8s.io/kubectl:v1.30.5 - name: GOMEMLIMIT value: 230MiB - name: OIDC_ISSUER_URL @@ -539,6 +539,6 @@ spec: relatedImages: - image: quay.io/feastdev/feature-server:0.66.0 name: feature-server - - image: quay.io/openshift/origin-cli:4.17 + - image: registry.k8s.io/kubectl:v1.30.5 name: cron-job version: 0.66.0 diff --git a/infra/feast-operator/config/default/related_image_fs_patch.yaml b/infra/feast-operator/config/default/related_image_fs_patch.yaml index 518e834c200..d0a85cd7b15 100644 --- a/infra/feast-operator/config/default/related_image_fs_patch.yaml +++ b/infra/feast-operator/config/default/related_image_fs_patch.yaml @@ -11,4 +11,4 @@ spec: - name: RELATED_IMAGE_FEATURE_SERVER value: quay.io/feastdev/feature-server:0.66.0 - name: RELATED_IMAGE_CRON_JOB - value: quay.io/openshift/origin-cli:4.17 + value: registry.k8s.io/kubectl:v1.30.5 diff --git a/infra/feast-operator/config/manager/manager.yaml b/infra/feast-operator/config/manager/manager.yaml index 4213787e075..129ee293bf1 100644 --- a/infra/feast-operator/config/manager/manager.yaml +++ b/infra/feast-operator/config/manager/manager.yaml @@ -78,7 +78,7 @@ spec: - name: RELATED_IMAGE_FEATURE_SERVER value: feast:latest - name: RELATED_IMAGE_CRON_JOB - value: origin-cli:latest + value: registry.k8s.io/kubectl:v1.30.5 # Injected from params.env via kustomize replacements (ODH/RHOAI overlays). # Open Data Hub operator sets this from GatewayConfig when the cluster uses external OIDC. - name: OIDC_ISSUER_URL diff --git a/infra/feast-operator/dist/install.yaml b/infra/feast-operator/dist/install.yaml index 7480b9423b5..f760ab54383 100644 --- a/infra/feast-operator/dist/install.yaml +++ b/infra/feast-operator/dist/install.yaml @@ -23700,7 +23700,7 @@ spec: - name: RELATED_IMAGE_FEATURE_SERVER value: quay.io/feastdev/feature-server:0.66.0 - name: RELATED_IMAGE_CRON_JOB - value: quay.io/openshift/origin-cli:4.17 + value: registry.k8s.io/kubectl:v1.30.5 - name: GOMEMLIMIT value: 230MiB - name: OIDC_ISSUER_URL diff --git a/infra/feast-operator/internal/controller/services/cronjob.go b/infra/feast-operator/internal/controller/services/cronjob.go index 78fe05261c4..edcd48453aa 100644 --- a/infra/feast-operator/internal/controller/services/cronjob.go +++ b/infra/feast-operator/internal/controller/services/cronjob.go @@ -155,7 +155,7 @@ func (feast *FeastServices) getCronJobPodSpec() corev1.PodSpec { }, } // On vanilla Kubernetes (e.g. Kind) we must set an explicit non-root UID - // because the default CronJob image (origin-cli) runs as root. + // because the default CronJob image (kubectl) runs as root. // On OpenShift the restricted-v2 SCC auto-assigns a UID from the // namespace's allowed range, so we must NOT set RunAsUser. if !IsOpenShift() { diff --git a/infra/feast-operator/internal/controller/services/services_types.go b/infra/feast-operator/internal/controller/services/services_types.go index b431292cdfc..927b2ccce37 100644 --- a/infra/feast-operator/internal/controller/services/services_types.go +++ b/infra/feast-operator/internal/controller/services/services_types.go @@ -177,7 +177,7 @@ const ( var ( DefaultImage = "quay.io/feastdev/feature-server:" + feastversion.FeastVersion - DefaultCronJobImage = "quay.io/openshift/origin-cli:4.17" + DefaultCronJobImage = "registry.k8s.io/kubectl:v1.30.5" DefaultPVCAccessModes = []corev1.PersistentVolumeAccessMode{corev1.ReadWriteOnce} NameLabelKey = feastdevv1.GroupVersion.Group + "/name" ServiceTypeLabelKey = feastdevv1.GroupVersion.Group + "/service-type"