|
1 | 1 | # terraform-k8s-feast
|
2 | 2 |
|
3 |
| -Feast terraform module for combinator.ml |
| 3 | +**tl; dr;** A [combinator](https://combinator.ml) data component that installs [Feast](https://feast.dev), a feature store. |
4 | 4 |
|
5 |
| -## Usage |
| 5 | +- [Introduction](#introduction) |
| 6 | +- [Quick Drive](#quick-drive) |
| 7 | + * [Launch Jupyter](#launch-jupyter) |
| 8 | + * [Example Notebook](#example-notebook) |
| 9 | +- [Usage](#usage) |
| 10 | + * [Prerequisites](#prerequisites) |
| 11 | + * [Component Usage](#component-usage) |
6 | 12 |
|
7 |
| -```terraform |
8 |
| -module "feast" { |
9 |
| - source = "combinator-ml/feast/k8s" |
10 |
| -} |
11 |
| -``` |
| 13 | +## Introduction |
12 | 14 |
|
13 |
| -See the full configuration options below. |
| 15 | +[Feast](https://feast.dev) is an open-source feature store. A feature store allows you to manage, govern, and trace features derived from raw data. This is useful because it helps to unify and standardise, which reduces waste, improves quality, and makes models more reproducible. |
14 | 16 |
|
15 |
| -### Stack Creation |
| 17 | +Feast does not perform any computation. You can think of it as a meta-database; a database that manages other databases. It effectively creates a cache of feature data, keyed by time. The Feast libraries and CLIs provide a consistent way of pushing or streaming new data into the cache. Downstream systems use a similar interface to access point-in-time data. [Learn more about feast in the documentation.](https://docs.feast.dev) |
16 | 18 |
|
17 |
| -```bash |
18 |
| -KUBE_CONFIG_PATH=~/.kube/config terraform apply |
19 |
| -``` |
| 19 | +## Test Drive |
20 | 20 |
|
21 |
| -### Stack Deletion |
| 21 | +The fastest way to get started is to use the test drive functionality provided by [TestFaster](https://testfaster.ci). [Combinator](https://combinator.ml) website users can click the "Launch Test Drive" button below. |
22 | 22 |
|
23 |
| -```bash |
24 |
| -KUBE_CONFIG_PATH=~/.kube/config terraform destroy |
25 |
| -``` |
| 23 | +<!--<iframe width="600" height="400" id="testdrive" style="display: block;" src="https://testfaster.ci/launch?embedded=true&repo=https://github.com/combinator-ml/terraform-k8s-feast&file=examples/testfaster/.testfaster.yml"></iframe>--> |
| 24 | + |
| 25 | +[:computer: Launch Test Drive :computer:](https://testfaster.ci/launch?embedded=true&repo=https://github.com/combinator-ml/terraform-k8s-feast&file=examples/testfaster/.testfaster.yml) |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | +### Launch Jupyter |
26 | 30 |
|
27 |
| -## Known Issues |
| 31 | +Once the component has launched, click on the Jupyter link. Feast does not have a UI by default. You will use Jupyter to interact with Feast via its API. |
28 | 32 |
|
29 |
| -- Why do you have to explicitly export the Kubernetes config? |
| 33 | +### Example Notebook |
30 | 34 |
|
31 |
| -I found that hardcoding the kubeconfig led to [this terraform bug](https://github.com/terraform-aws-modules/terraform-aws-eks/issues/1234). |
| 35 | +Once inside Jupyter, browse to the minimal notebook, which is the [official example](https://github.com/feast-dev/feast/tree/v0.9-branch/examples/minimal). Follow the instructions in the notebook. |
| 36 | + |
| 37 | +## Usage |
| 38 | + |
| 39 | +### Prerequisites |
| 40 | + |
| 41 | +Start by preparing your Kubernetes cluster using one of the [infrastructure components](https://combinator.ml/infrastructure/introduction/) or use your own cluster. |
| 42 | + |
| 43 | +### Component Usage |
| 44 | + |
| 45 | +```terraform |
| 46 | +module "feast" { |
| 47 | + source = "combinator-ml/feast/k8s" |
| 48 | + # Optional settings go here |
| 49 | +} |
| 50 | +``` |
| 51 | + |
| 52 | +See the full configuration options below. |
0 commit comments