Skip to content
Next Next commit
Initial commit
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
  • Loading branch information
dmartinol committed Nov 26, 2024
commit fa6be076124f1038860470e723ac5e2937b44895
10 changes: 10 additions & 0 deletions infra/feast-operator/api/v1alpha1/featurestore_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ type FeatureStoreSpec struct {
// FeastProject is the Feast project id. This can be any alphanumeric string with underscores, but it cannot start with an underscore. Required.
FeastProject string `json:"feastProject"`
Services *FeatureStoreServices `json:"services,omitempty"`
AuthConfig *AuthConfig `json:"auth,omitempty"`
}

// FeatureStoreServices defines the desired feast service deployments. ephemeral registry is deployed by default.
Expand Down Expand Up @@ -263,6 +264,15 @@ type OptionalConfigs struct {
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

// AuthConfig defines the authorization settings for the deployed Feast services.
type AuthConfig struct {
KubernetesAuth *KubernetesAuth `json:"kubernetes,omitempty"`
Comment thread
dmartinol marked this conversation as resolved.
Outdated
}

type KubernetesAuth struct {
Roles []string `json:"roles,omitempty"`
}
Comment thread
dmartinol marked this conversation as resolved.
Outdated

// FeatureStoreStatus defines the observed state of FeatureStore
type FeatureStoreStatus struct {
// Shows the currently applied feast configuration, including any pertinent defaults
Expand Down
45 changes: 45 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.

Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,18 @@ spec:
spec:
description: FeatureStoreSpec defines the desired state of FeatureStore
properties:
auth:
description: AuthConfig defines the authorization settings for the
deployed Feast services.
properties:
kubernetes:
properties:
roles:
items:
type: string
type: array
type: object
type: object
feastProject:
description: FeastProject is the Feast project id. This can be any
alphanumeric string with underscores, but it cannot start with an
Expand Down Expand Up @@ -1039,6 +1051,18 @@ spec:
description: Shows the currently applied feast configuration, including
any pertinent defaults
properties:
auth:
description: AuthConfig defines the authorization settings for
the deployed Feast services.
properties:
kubernetes:
properties:
roles:
items:
type: string
type: array
type: object
type: object
feastProject:
description: FeastProject is the Feast project id. This can be
any alphanumeric string with underscores, but it cannot start
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,18 @@ spec:
feastProject: my_project
services:
onlineStore:
image: quay.io/dmartino/feature-server:0.2
persistence:
file:
path: /data/online_store.db
offlineStore:
image: quay.io/dmartino/feature-server:0.2
persistence:
file:
type: dask
registry:
local:
image: quay.io/dmartino/feature-server:0.2
persistence:
file:
path: /data/registry.db
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
apiVersion: feast.dev/v1alpha1
kind: FeatureStore
metadata:
name: sample-kubernetes-auth
spec:
feastProject: my_project
services:
onlineStore:
image: quay.io/dmartino/feature-server:0.3
persistence:
file:
path: /data/online_store.db
offlineStore:
image: quay.io/dmartino/feature-server:0.3
persistence:
file:
type: dask
registry:
local:
image: quay.io/dmartino/feature-server:0.3
persistence:
file:
path: /data/registry.db
auth:
kubernetes:
roles:
- reader
- writer
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,18 @@ spec:
feastProject: my_project
services:
onlineStore:
image: quay.io/dmartino/feature-server:0.2
persistence:
file:
path: /data/online_store.db
offlineStore:
image: quay.io/dmartino/feature-server:0.2
persistence:
file:
type: dask
registry:
local:
image: quay.io/dmartino/feature-server:0.2
persistence:
file:
path: s3://bucket/registry.db
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ spec:
feastProject: my_project
services:
onlineStore:
image: quay.io/dmartino/feature-server:0.2
persistence:
file:
path: online_store.db
Expand All @@ -14,6 +15,7 @@ spec:
name: online-pvc
mountPath: /data/online
offlineStore:
image: quay.io/dmartino/feature-server:0.2
persistence:
file:
type: duckdb
Expand All @@ -26,6 +28,7 @@ spec:
mountPath: /data/offline
registry:
local:
image: quay.io/dmartino/feature-server:0.2
persistence:
file:
path: registry.db
Expand Down
24 changes: 24 additions & 0 deletions infra/feast-operator/dist/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,18 @@ spec:
spec:
description: FeatureStoreSpec defines the desired state of FeatureStore
properties:
auth:
description: AuthConfig defines the authorization settings for the
deployed Feast services.
properties:
kubernetes:
properties:
roles:
items:
type: string
type: array
type: object
type: object
feastProject:
description: FeastProject is the Feast project id. This can be any
alphanumeric string with underscores, but it cannot start with an
Expand Down Expand Up @@ -1047,6 +1059,18 @@ spec:
description: Shows the currently applied feast configuration, including
any pertinent defaults
properties:
auth:
description: AuthConfig defines the authorization settings for
the deployed Feast services.
properties:
kubernetes:
properties:
roles:
items:
type: string
type: array
type: object
type: object
feastProject:
description: FeastProject is the Feast project id. This can be
any alphanumeric string with underscores, but it cannot start
Expand Down
Loading