Skip to content

Commit

Permalink
feat: Operator add feast ui deployment
Browse files Browse the repository at this point in the history
Signed-off-by: Abdul Hameed <ahameed@redhat.com>
  • Loading branch information
redhatHameed committed Jan 17, 2025
1 parent 7a1f4dd commit bff0065
Show file tree
Hide file tree
Showing 25 changed files with 3,482 additions and 2,051 deletions.
15 changes: 15 additions & 0 deletions infra/feast-operator/api/v1alpha1/featurestore_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ const (
OfflineStoreReadyType = "OfflineStore"
OnlineStoreReadyType = "OnlineStore"
RegistryReadyType = "Registry"
UIReadyType = "UI"
ReadyType = "FeatureStore"
AuthorizationReadyType = "Authorization"

Expand All @@ -42,6 +43,7 @@ const (
OfflineStoreFailedReason = "OfflineStoreDeploymentFailed"
OnlineStoreFailedReason = "OnlineStoreDeploymentFailed"
RegistryFailedReason = "RegistryDeploymentFailed"
UIFailedReason = "UIDeploymentFailed"
ClientFailedReason = "ClientDeploymentFailed"
KubernetesAuthzFailedReason = "KubernetesAuthorizationDeploymentFailed"

Expand All @@ -50,6 +52,7 @@ const (
OfflineStoreReadyMessage = "Offline Store installation complete"
OnlineStoreReadyMessage = "Online Store installation complete"
RegistryReadyMessage = "Registry installation complete"
UIReadyMessage = "UI installation complete"
ClientReadyMessage = "Client installation complete"
KubernetesAuthzReadyMessage = "Kubernetes authorization installation complete"

Expand All @@ -71,6 +74,7 @@ type FeatureStoreServices struct {
OfflineStore *OfflineStore `json:"offlineStore,omitempty"`
OnlineStore *OnlineStore `json:"onlineStore,omitempty"`
Registry *Registry `json:"registry,omitempty"`
UI *UIService `json:"ui,omitempty"`
DeploymentStrategy *appsv1.DeploymentStrategy `json:"deploymentStrategy,omitempty"`
// Disable the 'feast repo initialization' initContainer
DisableInitContainers bool `json:"disableInitContainers,omitempty"`
Expand Down Expand Up @@ -278,6 +282,16 @@ type RemoteRegistryConfig struct {
TLS *TlsRemoteRegistryConfigs `json:"tls,omitempty"`
}

// UIService configures the deployed Feast UI service
type UIService struct {
ServiceConfigs `json:",inline"`
TLS *TlsConfigs `json:"tls,omitempty"`
// LogLevel sets the logging level for the UI service
// Allowed values: "debug", "info", "warning", "error", "critical".
// +kubebuilder:validation:Enum=debug;info;warning;error;critical
LogLevel string `json:"logLevel,omitempty"`
}

// FeatureStoreRef defines which existing FeatureStore's registry should be used
type FeatureStoreRef struct {
// Name of the FeatureStore
Expand Down Expand Up @@ -386,6 +400,7 @@ type ServiceHostnames struct {
OfflineStore string `json:"offlineStore,omitempty"`
OnlineStore string `json:"onlineStore,omitempty"`
Registry string `json:"registry,omitempty"`
UI string `json:"ui,omitempty"`
}

// +kubebuilder:object:root=true
Expand Down
26 changes: 26 additions & 0 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.

4 changes: 3 additions & 1 deletion infra/feast-operator/cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ import (
"sigs.k8s.io/controller-runtime/pkg/webhook"

feastdevv1alpha1 "github.com/feast-dev/feast/infra/feast-operator/api/v1alpha1"
routev1 "github.com/openshift/api/route/v1"

"github.com/feast-dev/feast/infra/feast-operator/internal/controller"
"github.com/feast-dev/feast/infra/feast-operator/internal/controller/services"
// +kubebuilder:scaffold:imports
Expand All @@ -50,7 +52,7 @@ var (

func init() {
utilruntime.Must(clientgoscheme.AddToScheme(scheme))

utilruntime.Must(routev1.AddToScheme(scheme))
utilruntime.Must(feastdevv1alpha1.AddToScheme(scheme))
// +kubebuilder:scaffold:scheme
}
Expand Down
2,602 changes: 1,597 additions & 1,005 deletions infra/feast-operator/config/crd/bases/feast.dev_featurestores.yaml

Large diffs are not rendered by default.

11 changes: 11 additions & 0 deletions infra/feast-operator/config/rbac/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,14 @@ rules:
- list
- update
- watch
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- create
- delete
- get
- list
- update
- watch
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ spec:
feastProject: my_project
services:
onlineStore:
image: 'feastdev/feature-server:0.40.0'
image: 'feastdev/feature-server:0.42.0'
offlineStore:
image: 'feastdev/feature-server:0.40.0'
image: 'feastdev/feature-server:0.42.0'
ui:
image: 'feastdev/feature-server:0.42.0'
registry:
local:
image: 'feastdev/feature-server:0.40.0'
image: 'feastdev/feature-server:0.42.0'
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ spec:
logLevel: debug
offlineStore:
logLevel: debug
ui:
logLevel: debug
registry:
local:
logLevel: info
Expand Down
Loading

0 comments on commit bff0065

Please sign in to comment.