Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Operator improvements #4928

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions infra/feast-operator/api/v1alpha1/featurestore_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ limitations under the License.
package v1alpha1

import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
Expand Down Expand Up @@ -67,9 +68,12 @@ type FeatureStoreSpec struct {

// FeatureStoreServices defines the desired feast services. An ephemeral registry is deployed by default.
type FeatureStoreServices struct {
OfflineStore *OfflineStore `json:"offlineStore,omitempty"`
OnlineStore *OnlineStore `json:"onlineStore,omitempty"`
Registry *Registry `json:"registry,omitempty"`
OfflineStore *OfflineStore `json:"offlineStore,omitempty"`
OnlineStore *OnlineStore `json:"onlineStore,omitempty"`
Registry *Registry `json:"registry,omitempty"`
DeploymentStrategy *appsv1.DeploymentStrategy `json:"deploymentStrategy,omitempty"`
// Disable the 'feast repo initialization' initContainer
DisableInitContainers bool `json:"disableInitContainers,omitempty"`
}

// OfflineStore configures the deployed offline store service
Expand Down Expand Up @@ -370,12 +374,11 @@ type FeatureStoreStatus struct {
// Shows the currently applied feast configuration, including any pertinent defaults
Applied FeatureStoreSpec `json:"applied,omitempty"`
// ConfigMap in this namespace containing a client `feature_store.yaml` for this feast deployment
ClientConfigMap string `json:"clientConfigMap,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
// Version of feast that's currently deployed
FeastVersion string `json:"feastVersion,omitempty"`
Phase string `json:"phase,omitempty"`
ServiceHostnames ServiceHostnames `json:"serviceHostnames,omitempty"`
ClientConfigMap string `json:"clientConfigMap,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
FeastVersion string `json:"feastVersion,omitempty"`
Phase string `json:"phase,omitempty"`
ServiceHostnames ServiceHostnames `json:"serviceHostnames,omitempty"`
}

// ServiceHostnames defines the service hostnames in the format of <domain>:<port>, e.g. example.svc.cluster.local:80
Expand Down
26 changes: 16 additions & 10 deletions infra/feast-operator/api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion infra/feast-operator/bundle.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
LABEL operators.operatorframework.io.bundle.package.v1=feast-operator
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.37.0
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.38.0
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v4

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ spec:
- name: https
port: 8443
protocol: TCP
targetPort: https
targetPort: 8443
selector:
control-plane: controller-manager
status:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ metadata:
}
]
capabilities: Basic Install
createdAt: "2024-11-01T13:05:11Z"
operators.operatorframework.io/builder: operator-sdk-v1.37.0
createdAt: "2025-01-16T22:15:56Z"
operators.operatorframework.io/builder: operator-sdk-v1.38.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
name: feast-operator.v0.41.0
name: feast-operator.v0.42.0
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -54,6 +54,8 @@ spec:
- ""
resources:
- configmaps
- persistentvolumeclaims
- serviceaccounts
- services
verbs:
- create
Expand All @@ -62,6 +64,13 @@ spec:
- list
- update
- watch
- apiGroups:
- ""
resources:
- secrets
verbs:
- get
- list
- apiGroups:
- feast.dev
resources:
Expand All @@ -88,6 +97,18 @@ spec:
- get
- patch
- update
- apiGroups:
- rbac.authorization.k8s.io
resources:
- rolebindings
- roles
verbs:
- create
- delete
- get
- list
- update
- watch
- apiGroups:
- authentication.k8s.io
resources:
Expand Down Expand Up @@ -122,35 +143,17 @@ spec:
spec:
containers:
- args:
- --secure-listen-address=0.0.0.0:8443
- --upstream=http://127.0.0.1:8080/
- --logtostderr=true
- --v=0
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0
name: kube-rbac-proxy
ports:
- containerPort: 8443
name: https
protocol: TCP
resources:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 5m
memory: 64Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
- args:
- --health-probe-bind-address=:8081
- --metrics-bind-address=127.0.0.1:8080
- --metrics-bind-address=:8443
- --leader-elect
- --health-probe-bind-address=:8081
command:
- /manager
image: feastdev/feast-operator:0.41.0
env:
- name: RELATED_IMAGE_FEATURE_SERVER
value: docker.io/feastdev/feature-server:0.42.0
- name: RELATED_IMAGE_GRPC_CURL
value: docker.io/fullstorydev/grpcurl:v1.9.1-alpine
image: feastdev/feast-operator:0.42.0
livenessProbe:
httpGet:
path: /healthz
Expand Down Expand Up @@ -239,4 +242,9 @@ spec:
provider:
name: Feast Community
url: https://lf-aidata.atlassian.net/wiki/spaces/FEAST/
version: 0.41.0
relatedImages:
- image: docker.io/feastdev/feature-server:0.42.0
name: feature-server
- image: docker.io/fullstorydev/grpcurl:v1.9.1-alpine
name: grpc-curl
version: 0.42.0
Loading
Loading