feast-dev / feast

The Open Source Feature Store for Machine Learning
https://feast.dev
Apache License 2.0
5.62k stars 1k forks source link

feat: PVC configuration and impl #4750

Closed dmartinol closed 1 week ago

dmartinol commented 1 week ago

What this PR does / why we need it:

Adds durable persistence configuration to Feast services deployed with the operator.

PVC configuration allows to either create a new PVC or use an existing one:

apiVersion: feast.dev/v1alpha1
kind: FeatureStore
metadata:
  name: sample-pvc-persistence
spec:
  feastProject: my_project
  services:
    onlineStore:
      persistence:
        file:
          path: online_store.db
          pvc:
            ref:
              name: online-pvc
            mountPath: /data/online
    offlineStore:
      persistence:
        file:
          type: duckdb
          pvc:
            create:
              storageClassName: standard
              resources:
                requests:
                  storage: 5Gi
            mountPath: /data/offline
    registry:
      local:
        persistence:
          file:
            path: registry.db
            pvc:
              create: {}
              mountPath: /data/registry

Which issue(s) this PR fixes:

Relates to https://github.com/feast-dev/feast/issues/4561

dmartinol commented 1 week ago

@tchughesiv @tmihalac I also splitted the controller tests in multiple files to simplify them

dmartinol commented 1 week ago

@lokeshrangineni @redhatHameed can you take a look?