feature_store_team_b.yaml #

project: team_b_recommendations registry: path: s3://shared-bucket/registry_team_b.db online_store: type: redis connection_string: “redis://shared-redis:6379/1” offline_store: type: bigquery project: my-gcp-project dataset: team_b_features

```python
# Tag feature definitions with version metadata
user_transaction_features_v2 = FeatureView(
    name="user_transaction_features_v2",
    entities=[user],
    schema=[...],
    source=transaction_stats_source,
    tags={
        "version": "2.0",
        "model": "fraud_xgboost_v3",
        "changelog": "Added velocity features",
        "owner": "ml-team@company.com",
    },
)
``````yaml
# RBAC configuration (Feast 0.60+)
auth:
  type: oidc
  oidc_server_url: "https://auth.company.com"
  client_id: "feast-app"
  client_secret: "${OIDC_CLIENT_SECRET}"
  token_introspection_url: "https://auth.company.com/introspect"

authorization:
  enabled: true
  policies:
    - resource: "feature_view:user_transaction_features"
      actions: ["read", "materialize"]
      roles: ["ml-engineer", "data-scientist"]
    - resource: "feature_service:fraud_detection_v1"
      actions: ["read"]
      roles: ["model-server"]
``````python
# stream_ingestion.py
from feast import FeatureStore
from confluent_kafka import Consumer
import json

store = FeatureStore(repo_path=".")

consumer = Consumer({
    "bootstrap.servers": "kafka:9092",
    "group.id": "feast-stream-ingestion",
    "auto.offset.reset": "latest",
})
consumer.subscribe(["transaction-events"])

while True:
    msg = consumer.poll(timeout=1.0)
    if msg is None:
        continue
    
    event = json.loads(msg.value().decode("utf-8"))
    
    # Push feature update directly to online store
    store.push(
        feature_view_name="user_transaction_features",
        df=pd.DataFrame([{
            "user_id": event["user_id"],
            "event_timestamp": event["timestamp"],
            "avg_transaction_amount_7d": event["amount"],
        }]),
    )
``````bash
pip install feast[redis,bigquery]
feast init
# Define your entities, feature views, and feature services
feast apply
feast materialize-incremental $(date -u +"%Y-%m-%dT%H:%M:%S")

💬 Discussion