Skip to content
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
44 changes: 36 additions & 8 deletions docs/en/solutions/How_to_Install_and_use_Featureform.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,11 +195,11 @@ This document provides detailed instructions on how to deploy Featureform to a K

## Publishing

Download the Featureform installation file: `featureform.amd64.v0.12.1-1.tgz`
Download the Featureform installation file: `featureform.amd64.v0.12.1-2.tgz`

Use the violet command to publish to the platform repository:
```bash
violet push --platform-address=platform-access-address --platform-username=platform-admin --platform-password=platform-admin-password featureform.amd64.v0.12.1-1.tgz
violet push --platform-address=platform-access-address --platform-username=platform-admin --platform-password=platform-admin-password featureform.amd64.v0.12.1-2.tgz
```

## Deployment
Expand Down Expand Up @@ -338,6 +338,20 @@ Notes:
storageClass: storage-class-name
```

### 3. Configuring Dashboard Authentication

#### 3.1 Enabling Ingress Authentication

Add the following configuration to enable Basic authentication for the Dashboard. The default username and password are both `featureform`.

```yaml
ingress:
auth:
enabled: true
username: featureform # Optional, default username is featureform
password: featureform # Optional, default password is featureform
```

Comment on lines +341 to +354
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Avoid documenting default prod credentials; use placeholders and add a warning

Publishing hardcoded defaults encourages insecure deployments. Replace with placeholders and add a warning note.

-#### 3.1 Enabling Ingress Authentication
+#### 3.1 Enabling Ingress Authentication
+
+> Warning: Do not use default credentials in production. Set strong, unique values (or configure an existing secret) before exposing the dashboard.

   ```yaml
   ingress:
     auth:
       enabled: true
-      username: featureform # Optional, default username is featureform
-      password: featureform # Optional, default password is featureform
+      username: CHANGE_ME_USERNAME
+      password: CHANGE_ME_PASSWORD
If the chart supports referencing a secret (e.g., `secretName`), prefer that over inline credentials.

<details>
<summary>🤖 Prompt for AI Agents</summary>

In docs/en/solutions/How_to_Install_and_use_Featureform.md around lines 341 to
354, the docs currently show hardcoded default production credentials
(featureform/featureform); replace those values with clear placeholders like
CHANGE_ME_USERNAME and CHANGE_ME_PASSWORD, add a short warning note instructing
users to change credentials before production, and, if the Helm chart supports
it, prefer and document referencing a Kubernetes secret (e.g., secretName)
instead of inline credentials to avoid embedding secrets in values files.


</details>

<!-- fingerprinting:phantom:triton:chinchilla -->

<!-- This is an auto-generated comment by CodeRabbit -->

## Access Addresses

### 1. External Access Address
Expand Down Expand Up @@ -717,57 +731,71 @@ Customer Result:
## Frequently Asked Questions

### 1. Error when executing apply:
```
"UNKNOWN:Error received from peer {grpc_message:"grpc: error unmarshalling request: string field contains invalid UTF-8", grpc_status:13"
```

- **Cause**: Featureform SDK version doesn't match the server version
- **Solution**: Update Featureform SDK version to 1.21.1

Comment on lines +739 to +740
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

SDK version here conflicts with Quickstart pin; resolve the source of truth

This says “Update Featureform SDK version to 1.21.1” while quickstart pins 1.12.1. Confirm the correct version that fixes the UTF‑8 mismatch and align both places.

Proposed fix if staying on 1.12.1:

-  - **Solution**: Update Featureform SDK version to 1.21.1
+  - **Solution**: Update Featureform SDK version to 1.12.1

Alternatively, if 1.21.1 is required, bump docs/public/featureform/quickstart/requirements.txt accordingly (see companion comment).

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **Solution**: Update Featureform SDK version to 1.21.1
- **Solution**: Update Featureform SDK version to 1.12.1
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

739-739: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)

🤖 Prompt for AI Agents
In docs/en/solutions/How_to_Install_and_use_Featureform.md around lines 739-740,
the SDK version "Update Featureform SDK version to 1.21.1" conflicts with the
quickstart pin at 1.12.1; decide which version actually fixes the UTF-8 mismatch
and make both places match: if you keep 1.12.1, change this line to 1.12.1 and
note the config/patch that fixes UTF-8; if 1.21.1 is required, update
docs/public/featureform/quickstart/requirements.txt to pin 1.21.1 and update any
mention in the quickstart; ensure both files reflect the same chosen version and
run a quick local verification that the UTF-8 issue is resolved.


### 2. Error when executing apply:
```
"UNKNOWN:Error received from peer {grpc_message:"resource SOURCE_VARIANT xxxx (xxx) has changed. Please use a new variant.", grpc_status:13}"
```

- **Cause**: The variant hasn't changed, but its associated content has changed.
- **Solution**: Use a new variant to re-apply

### 2. Error when executing apply:
### 3. Error when executing apply:
```
"UNKNOWN:Error received from peer {grpc_message:"resource not found. LABEL_VARIANT xxxx (xxx) err: Key Not Found: LABEL_VARIANT__xxxxx__xxxx", grpc_status:5}"
```

- **Cause**: The referenced variant doesn't exist.
- **Solution**: Use the correct variant to re-apply

### 3. After apply completes, `Status` is `FAILED`, `Error` is:
### 4. After apply completes, `Status` is `FAILED`, `Error` is:
```
transformation failed to complete: job failed while running .....
```

- **Cause**: Kubernetes Job execution failed
- **Solution**: Check Job events and logs in the Kubernetes cluster, and handle the failure based on relevant information

### 4. After apply completes, `Status` is `FAILED`, `Error` contains the following information:
### 5. After apply completes, `Status` is `FAILED`, `Error` contains the following information:
```
....create table error: unknown command `HEXISTS` .....
```

- **Cause**: Redis is incorrectly using Sentinel access address
- **Solution**: Replace Redis instance or update Redis access address

### 5. After apply completes, `Status` is `FAILED`, `Error` is:
### 6. After apply completes, `Status` is `FAILED`, `Error` is:
```
Featureform cannot connect to the provider during health check: (REDIS_ONLINE - client_initialization) dial tcp ......
```

- **Cause**: Redis address is unreachable
- **Solution**: Check Redis status or update Redis access address

### 6. After apply completes, `Status` is `FAILED`, `Error` is:
### 7. After apply completes, `Status` is `FAILED`, `Error` is:
```
Featureform cannot connect to the provider during health check: (POSTGRES_OFFLINE - ping) dial tcp:
```

- **Cause**: PostgreSQL address is unreachable
- **Solution**: Check PostgreSQL status or update PostgreSQL access address

### 7. After apply completes, `Status` is `FAILED`, `Error` is:
### 8. After apply completes, `Status` is `FAILED`, `Error` is:
```
Featureform cannot connect to the provider during health check: (POSTGRES_OFFLINE - ping) pq: pg_hba.conf rejects connection ....
```

- **Cause**: PostgreSQL access is rejected
- **Solution**: Check if the configured PostgreSQL username, password, and SSL mode are correct, and verify PostgreSQL database user permission settings

### 9. After apply completes, `Status` gets stuck in `PENDING`, `coordinator` container restarts

- **Cause**: etcd watch interface cannot handle token auto-rotation, program exits with error after token expires
- **Solution**: Update variant and re-execute apply
2 changes: 1 addition & 1 deletion docs/public/featureform/quickstart/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
psycopg2-binary>=2.9.0
featureform>=1.12.1
featureform==1.12.1
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Version pin conflicts with FAQ; align SDK version across docs

Quickstart pins featureform==1.12.1, but the FAQ instructs upgrading the SDK to 1.21.1. Pick one supported version and make both files consistent to avoid user breakage.

Two possible fixes (choose one and apply repo-wide):

- featureform==1.12.1
+ featureform==1.21.1

or keep 1.12.1 and change the FAQ solution line accordingly (see comment in How_to_Install_and_use_Featureform.md).
Run to locate remaining mismatches:


🏁 Script executed:

#!/bin/bash
rg -nP '(featureform\s*==\s*\d+\.\d+\.\d+|Featureform SDK version.*\d+\.\d+\.\d+)' -g '!**/dist/**' -g '!**/build/**'

Length of output: 312


Align SDK version across docs
Update docs/public/featureform/quickstart/requirements.txt (line 2) to match the FAQ’s recommendation in docs/en/solutions/How_to_Install_and_use_Featureform.md:

- featureform==1.12.1
+ featureform==1.21.1
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
featureform==1.12.1
++ docs/public/featureform/quickstart/requirements.txt
@@ -1,3 +1,3 @@
featureform==1.12.1
featureform==1.21.1
🤖 Prompt for AI Agents
In docs/public/featureform/quickstart/requirements.txt around line 2, the pinned
featureform version (featureform==1.12.1) is inconsistent with the FAQ
recommendation in docs/en/solutions/How_to_Install_and_use_Featureform.md;
update the version specifier on line 2 to exactly match the version recommended
in that FAQ (replace 1.12.1 with the FAQ’s recommended version) so the docs are
aligned.