Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix broken links on documentation #2278

Merged
merged 4 commits into from
Feb 3, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
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
17 changes: 5 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
This guide is targeted at developers looking to contribute to Feast components in
the main Feast repository:
- [Feast Python SDK / CLI](#feast-python-sdk-%2F-cli)
- [Feast Java Serving](#feast-java-serving)
- [Feast Go Client](#feast-go-client)
- [Feast Terraform](#feast-terraform)

## Making a pull request

Expand Down Expand Up @@ -117,6 +117,9 @@ AWS

Then run `make test-python-integration`. Note that for GCP / AWS, this will create new temporary tables / datasets.

## Feast Java Serving
See [Java contributing guide](java/CONTRIBUTING.md)

## Feast Go Client
:warning: Feast Go Client will move to its own standalone repository in the future.

Expand Down Expand Up @@ -152,14 +155,4 @@ go vet
Unit tests for the Feast Go Client can be run as follows:
```sh
go test
```

## Feast on Kubernetes
:warning: Feast Terraform will move to its own standalone repository in the future.

See the deployment guide of the respective cloud providers for how to work with these deployments:
- [Helm Deployment on Kubernetes](https://docs.feast.dev/feast-on-kubernetes/getting-started/install-feast/kubernetes-with-helm)
- [Terraform Deployment on Amazon EKS](https://docs.feast.dev/feast-on-kubernetes/getting-started/install-feast/kubernetes-amazon-eks-with-terraform)
- [Terraform Deployment on Azure AKS](https://docs.feast.dev/feast-on-kubernetes/getting-started/install-feast/kubernetes-azure-aks-with-terraform)
- [Terraform Deployment on Google Cloud GKE](https://docs.feast.dev/feast-on-kubernetes/getting-started/install-feast/google-cloud-gke-with-terraform)
- [Kustomize Deployment on IBM Cloud IKS or OpenShift](https://docs.feast.dev/feast-on-kubernetes/getting-started/install-feast/ibm-cloud-iks-with-kustomize)
```
2 changes: 1 addition & 1 deletion docs/getting-started/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -348,5 +348,5 @@ pprint(feature_vector)
* Read the [Concepts](concepts/) page to understand the Feast data model.
* Read the [Architecture](architecture-and-components/) page.
* Check out our [Tutorials](../tutorials/tutorials-overview.md) section for more examples on how to use Feast.
* Follow our [Running Feast with GCP/AWS](../how-to-guides/feast-gcp-aws/) guide for a more in-depth tutorial on using Feast.
* Follow our [Running Feast with Snowflake/GCP/AWS](../how-to-guides/feast-snowflake-gcp-aws/) guide for a more in-depth tutorial on using Feast.
* Join other Feast users and contributors in [Slack](https://slack.feast.dev) and become part of the community!
2 changes: 1 addition & 1 deletion docs/getting-started/third-party-integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Don't see your offline store or online store of choice here? Check out our guide

In order for a plugin integration to be highlighted on this page, it must meet the following requirements:

1. The plugin must have tests. Ideally it would use the Feast universal tests (see this [guide](broken-reference) for an example), but custom tests are fine.
1. The plugin must have tests. Ideally it would use the Feast universal tests (see this [guide](../how-to-guides/adding-or-reusing-tests) for an example), but custom tests are fine.
2. The plugin must have some basic documentation on how it should be used.
3. The author must work with a maintainer to pass a basic code review (e.g. to ensure that the implementation roughly matches the core Feast implementations). 

Expand Down
2 changes: 1 addition & 1 deletion docs/how-to-guides/feast-snowflake-gcp-aws/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Running Feast with GCP/AWS
# Running Feast with Snowflake/GCP/AWS

{% page-ref page="install-feast.md" %}

Expand Down
1 change: 0 additions & 1 deletion docs/project/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ For Feast maintainers, these are the concrete steps for making a new release.
2. Add the change log by applying the change log commit created in step 2.
3. Check that versions are updated with `env TARGET_MERGE_BRANCH=master make lint-versions`
7. Create a [GitHub release](https://github.com/feast-dev/feast/releases) which includes a summary of im~~p~~ortant changes as well as any artifacts associated with the release. Make sure to include the same change log as added in [CHANGELOG.md](../../CHANGELOG.md). Use `Feast vX.Y.Z` as the title.
8. Update the[ Upgrade Guide](broken-reference) to include the action required instructions for users to upgrade to this new release. Instructions should include a migration for each breaking change made to this release.

When a tag that matches a Semantic Version string is pushed, CI will automatically build and push the relevant artifacts to their repositories or package managers (docker images, Python wheels, etc). JVM artifacts are promoted from Sonatype OSSRH to Maven Central, but it sometimes takes some time for them to be available. The `sdk/go/v tag` is required to version the Go SDK go module so that users can go get a specific tagged release of the Go SDK.

Expand Down
2 changes: 1 addition & 1 deletion docs/reference/feature-servers/local-feature-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Overview

The local feature server is an HTTP endpoint that serves features with JSON I/O. This enables users to get features from Feast using any programming language that can make HTTP requests. A [remote feature server](alpha-aws-lambda-feature-server.md) on AWS Lambda is also available. A remote feature server on GCP Cloud Run is currently being developed.
The local feature server is an HTTP endpoint that serves features with JSON I/O. This enables users to get features from Feast using any programming language that can make HTTP requests. A [remote feature server](../alpha-aws-lambda-feature-server.md) on AWS Lambda is also available. A remote feature server on GCP Cloud Run is currently being developed.

## CLI

Expand Down
4 changes: 2 additions & 2 deletions docs/tutorials/driver-stats-using-snowflake.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: >-
Initial demonstration of Snowflake as an offline store with Feast, using the Snowflake demo template.
---

# Drivers Stats using Snowflake
# Drivers stats on Snowflake

In the steps below, we will set up a sample Feast project that leverages Snowflake
as an offline store.
Expand All @@ -22,7 +22,7 @@ pip install 'feast[snowflake]'

#### Get a Snowflake Trial Account (Optional)

[Snowflake Trial Account](trial.snowflake.com)
[Snowflake Trial Account](http://trial.snowflake.com)

#### Create a feature repository

Expand Down
2 changes: 1 addition & 1 deletion examples/quickstart/quickstart.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -796,7 +796,7 @@
"\n",
"- Read the [Concepts](https://docs.feast.dev/getting-started/concepts/) page to understand the Feast data model and architecture.\n",
"- Check out our [Tutorials](https://docs.feast.dev/tutorials/tutorials-overview) section for more examples on how to use Feast.\n",
"- Follow our [Running Feast with GCP/AWS](https://docs.feast.dev/how-to-guides/feast-gcp-aws) guide for a more in-depth tutorial on using Feast.\n",
"- Follow our [Running Feast with Snowflake/GCP/AWS](https://docs.feast.dev/how-to-guides/feast-snowflake-gcp-aws) guide for a more in-depth tutorial on using Feast.\n",
"- Join other Feast users and contributors in [Slack](https://slack.feast.dev/) and become part of the community!"
]
}
Expand Down
89 changes: 7 additions & 82 deletions java/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
### Overview
This guide is targeted at developers looking to contribute to Feast components in
the feast-java Repository:
- [Feast Core](#feast-core)
- [Feast Serving](#feast-serving)
- [Feast Java Client](#feast-java-client)

Expand All @@ -15,11 +14,14 @@ the feast-java Repository:

#### Common Setup
Common Environment Setup for all feast-java Feast components:
1. . Ensure following development tools are installed:
- Java SE Development Kit 11, Maven 3.6, `make`

Ensure following development tools are installed:
- Java SE Development Kit 11
- Maven 3.6
- `make`

#### Code Style
feast-java's codebase conforms to the [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html).
Feast's Java codebase conforms to the [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html).

Automatically format the code to conform the style guide by:

Expand Down Expand Up @@ -59,82 +61,8 @@ Specifically, proto-generated code is not indexed by IntelliJ. To fix this, navi
- target/generated-sources/protobuf/java
- target/generated-sources/annotations


## Feast Core
### Environment Setup
Setting up your development environment for Feast Core:
1. Complete the feast-java [Common Setup](#common-setup)
2. Boot up a PostgreSQL instance (version 11 and above). Example of doing so via Docker:
```sh
# spawn a PostgreSQL instance as a Docker container running in the background
docker run \
--rm -it -d \
--name postgres \
-e POSTGRES_DB=postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=password \
-p 5432:5432 postgres:12-alpine
```

### Configuration
Feast Core is configured using it's [application.yml](https://docs.feast.dev/reference/configuration-reference#1-feast-core-and-feast-online-serving).

### Building and Running
1. Build / Compile Feast Core with Maven to produce an executable Feast Core JAR
```sh
mvn package -pl core --also-make -Dmaven.test.skip=true
```

2. Run Feast Core using the built JAR:
```sh
# where X.X.X is the version of the Feast Core JAR built
java -jar core/target/feast-core-X.X.X-exec.jar
```

### Unit / Integration Tests
Unit & Integration Tests can be used to verify functionality:
```sh
# run unit tests
mvn test -pl core --also-make
# run integration tests
mvn verify -pl core --also-make
```

## Feast Serving
### Environment Setup
Setting up your development environment for Feast Serving:
1. Complete the feast-java [Common Setup](#common-setup)
2. Boot up a Redis instance (version 5.x). Example of doing so via Docker:
```sh
docker run --name redis --rm -it -d -p 6379:6379 redis:5-alpine
```

> Feast Serving requires a running Feast Core instance to retrieve Feature metadata
> in order to serve features. See the [Feast Core section](#feast-core) for
> how to get a Feast Core instance running.

### Configuration
Feast Serving is configured using it's [application.yml](https://docs.feast.dev/reference/configuration-reference#1-feast-core-and-feast-online-serving).

### Building and Running
1. Build / Compile Feast Serving with Maven to produce an executable Feast Serving JAR
```sh
mvn package -pl serving --also-make -Dmaven.test.skip=true

2. Run Feast Serving using the built JAR:
```sh
# where X.X.X is the version of the Feast serving JAR built
java -jar serving/target/feast-serving-X.X.X-exec.jar
```

### Unit / Integration Tests
Unit & Integration Tests can be used to verify functionality:
```sh
# run unit tests
mvn test -pl serving --also-make
# run integration tests
mvn verify -pl serving --also-make
```
See instructions [here](serving/README.md) for developing.

## Feast Java Client
### Environment Setup
Expand All @@ -144,9 +72,6 @@ Setting up your development environment for Feast Java SDK:
> Feast Java Client is a Java Client for retrieving Features from a running Feast Serving instance.
> See the [Feast Serving Section](#feast-serving) section for how to get a Feast Serving instance running.

### Configuration
Feast Java Client is [configured as code](https://docs.feast.dev/v/master/reference/configuration-reference#4-feast-java-and-go-sdk)

### Building
1. Build / Compile Feast Java Client with Maven:

Expand Down
3 changes: 1 addition & 2 deletions java/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Feast Java components
[![complete](https://github.com/feast-dev/feast-java/actions/workflows/complete.yml/badge.svg)](https://github.com/feast-dev/feast-java/actions/workflows/complete.yml)

### Overview

Expand All @@ -19,4 +18,4 @@ Guides on Contributing:
- [Development Guide for feast-java (this repository)](CONTRIBUTING.md)

### Installing using Helm
Please see the Helm charts in [charts](https://github.com/feast-dev/feast-helm-charts).
Please see the Helm charts in [infra/charts/feast](../infra/charts/feast).
16 changes: 15 additions & 1 deletion java/serving/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
## Getting Started Guide for Feast Serving Developers

### Overview
This guide is targeted at developers looking to contribute to Feast Serving:
- [Building and running Feast Serving locally](#building-and-running-feast-serving-locally)
- [Feast Java Client](#feast-java-client)

### Pre-requisites:

- [Maven](https://maven.apache.org/install.html) build tool version 3.6.x
Expand Down Expand Up @@ -109,4 +114,13 @@ You can debug this like any other Java executable. Swap the java command above w
-jar java/serving/target/feast-serving-0.17.1-SNAPSHOT-jar-with-dependencies.jar \
classpath:/application.yml,file:./application-override.yaml
```
Now you can attach e.g. a Remote debugger in IntelliJ to port 5005 to debug / make breakpoints.
Now you can attach e.g. a Remote debugger in IntelliJ to port 5005 to debug / make breakpoints.

### Unit / Integration Tests
Unit & Integration Tests can be used to verify functionality:
```sh
# run unit tests
mvn test -pl serving --also-make
# run integration tests
mvn verify -pl serving --also-make
```