Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Next Next commit
Initial commit
Signed-off-by: Daniele Martinoli <dmartino@redhat.com>
  • Loading branch information
dmartinol committed Dec 3, 2024
commit 7f5c5bb40dd2d572f522d6a42d9b44378533c4eb
18 changes: 5 additions & 13 deletions infra/feast-operator/api/v1alpha1/featurestore_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,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"`
AuthzConfig *AuthzConfig `json:"authz,omitempty"`
AuthConfig *AuthConfig `json:"auth,omitempty"`
}

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

// AuthzConfig defines the authorization settings for the deployed Feast services.
type AuthzConfig struct {
KubernetesAuthz *KubernetesAuthz `json:"kubernetes,omitempty"`
// AuthConfig defines the authorization settings for the deployed Feast services.
type AuthConfig struct {
KubernetesAuth *KubernetesAuth `json:"kubernetes,omitempty"`
}

// KubernetesAuthz provides a way to define the authorization settings using Kubernetes RBAC resources.
// https://kubernetes.io/docs/reference/access-authn-authz/rbac/
type KubernetesAuthz struct {
// The Kubernetes RBAC roles to be deployed in the same namespace of the FeatureStore.
// Roles are managed by the operator and created with an empty list of rules.
// See the Feast permission model at https://docs.feast.dev/getting-started/concepts/permission
// The feature store admin is not obligated to manage roles using the Feast operator, roles can be managed independently.
// This configuration option is only providing a way to automate this procedure.
// Important note: the operator cannot ensure that these roles will match the ones used in the configured Feast permissions.
type KubernetesAuth struct {
Roles []string `json:"roles,omitempty"`
}

Expand Down
28 changes: 14 additions & 14 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,23 +48,13 @@ spec:
spec:
description: FeatureStoreSpec defines the desired state of FeatureStore
properties:
authz:
description: AuthzConfig defines the authorization settings for the
auth:
description: AuthConfig defines the authorization settings for the
deployed Feast services.
properties:
kubernetes:
description: |-
KubernetesAuthz provides a way to define the authorization settings using Kubernetes RBAC resources.
https://kubernetes.io/docs/reference/access-authn-authz/rbac/
properties:
roles:
description: |-
The Kubernetes RBAC roles to be deployed in the same namespace of the FeatureStore.
Roles are managed by the operator and created with an empty list of rules.
See the Feast permission model at https://docs.feast.dev/getting-started/concepts/permission
The feature store admin is not obligated to manage roles using the Feast operator, roles can be managed independently.
This configuration option is only providing a way to automate this procedure.
Important note: the operator cannot ensure that these roles will match the ones used in the configured Feast permissions.
items:
type: string
type: array
Expand Down Expand Up @@ -1217,23 +1207,13 @@ spec:
description: Shows the currently applied feast configuration, including
any pertinent defaults
properties:
authz:
description: AuthzConfig defines the authorization settings for
auth:
description: AuthConfig defines the authorization settings for
the deployed Feast services.
properties:
kubernetes:
description: |-
KubernetesAuthz provides a way to define the authorization settings using Kubernetes RBAC resources.
https://kubernetes.io/docs/reference/access-authn-authz/rbac/
properties:
roles:
description: |-
The Kubernetes RBAC roles to be deployed in the same namespace of the FeatureStore.
Roles are managed by the operator and created with an empty list of rules.
See the Feast permission model at https://docs.feast.dev/getting-started/concepts/permission
The feature store admin is not obligated to manage roles using the Feast operator, roles can be managed independently.
This configuration option is only providing a way to automate this procedure.
Important note: the operator cannot ensure that these roles will match the ones used in the configured Feast permissions.
items:
type: string
type: array
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
Expand Up @@ -6,19 +6,22 @@ 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
authz:
auth:
kubernetes:
roles:
- reader
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: 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
28 changes: 4 additions & 24 deletions infra/feast-operator/dist/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,23 +56,13 @@ spec:
spec:
description: FeatureStoreSpec defines the desired state of FeatureStore
properties:
authz:
description: AuthzConfig defines the authorization settings for the
auth:
description: AuthConfig defines the authorization settings for the
deployed Feast services.
properties:
kubernetes:
description: |-
KubernetesAuthz provides a way to define the authorization settings using Kubernetes RBAC resources.
https://kubernetes.io/docs/reference/access-authn-authz/rbac/
properties:
roles:
description: |-
The Kubernetes RBAC roles to be deployed in the same namespace of the FeatureStore.
Roles are managed by the operator and created with an empty list of rules.
See the Feast permission model at https://docs.feast.dev/getting-started/concepts/permission
The feature store admin is not obligated to manage roles using the Feast operator, roles can be managed independently.
This configuration option is only providing a way to automate this procedure.
Important note: the operator cannot ensure that these roles will match the ones used in the configured Feast permissions.
items:
type: string
type: array
Expand Down Expand Up @@ -1225,23 +1215,13 @@ spec:
description: Shows the currently applied feast configuration, including
any pertinent defaults
properties:
authz:
description: AuthzConfig defines the authorization settings for
auth:
description: AuthConfig defines the authorization settings for
the deployed Feast services.
properties:
kubernetes:
description: |-
KubernetesAuthz provides a way to define the authorization settings using Kubernetes RBAC resources.
https://kubernetes.io/docs/reference/access-authn-authz/rbac/
properties:
roles:
description: |-
The Kubernetes RBAC roles to be deployed in the same namespace of the FeatureStore.
Roles are managed by the operator and created with an empty list of rules.
See the Feast permission model at https://docs.feast.dev/getting-started/concepts/permission
The feature store admin is not obligated to manage roles using the Feast operator, roles can be managed independently.
This configuration option is only providing a way to automate this procedure.
Important note: the operator cannot ensure that these roles will match the ones used in the configured Feast permissions.
items:
type: string
type: array
Expand Down
Loading