Visitar URL original
feat: Add dualStack server option to the Feast operator by dbbvitor · Pull Request #6887 · feast-dev/feast · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Next Next commit
feat: Add dualStack server option to the Feast operator
Add a DualStack field to ServerConfigs that binds server processes to
the IPv6 wildcard address instead of 0.0.0.0, so they also accept IPv4
clients on dual-stack or IPv6-only clusters. Online and offline servers
use the bracketed [::] form required by gunicorn and Arrow Flight; ui,
lineage, and registry keep their existing behavior or use the bare ::
form uvicorn expects. The registry server always binds dual-stack and
ignores this setting.

Signed-off-by: dbbvitor <vitor.diniz@gympass.com>
  • Loading branch information
dbbvitor committed Sep 28, 2026
commit 52618678c380d877aec5deb0323e1f71f1412784
6 changes: 3 additions & 3 deletions .secrets.baseline

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions infra/feast-operator/api/v1/featurestore_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -897,6 +897,11 @@ type ServerConfigs struct {
LogLevel *string `json:"logLevel,omitempty"`
// Metrics exposes Prometheus-compatible metrics for the Feast server when enabled.
Metrics *bool `json:"metrics,omitempty"`
// DualStack binds the server to the IPv6 wildcard address instead of 0.0.0.0,
// which serves both IPv6 and IPv4 clients on Linux. Enable it on IPv6-only or dual-stack clusters.
// The registry server always binds dual-stack and ignores this setting.
// +optional
DualStack *bool `json:"dualStack,omitempty"`
// VolumeMounts defines the list of volumes that should be mounted into the feast container.
// This allows attaching persistent storage, config files, secrets, or other resources
// required by the Feast components. Ensure that each volume mount has a corresponding
Expand Down
5 changes: 5 additions & 0 deletions infra/feast-operator/api/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ metadata:
}
]
capabilities: Basic Install
createdAt: "2026-08-21T03:30:58Z"
createdAt: "2026-09-25T01:00:43Z"
operators.operatorframework.io/builder: operator-sdk-v1.41.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
name: feast-operator.v0.66.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1012,6 +1012,10 @@ spec:
description: Server configuration (image, resources, env,
TLS, etc.).
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -2409,6 +2413,10 @@ spec:
server:
description: Creates a remote offline server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -2960,6 +2968,10 @@ spec:
server:
description: Creates a feature server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -3621,6 +3633,10 @@ spec:
server:
description: Creates a registry server container
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -4990,6 +5006,10 @@ spec:
ui:
description: Creates a UI server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable present
Expand Down Expand Up @@ -7883,6 +7903,10 @@ spec:
description: Server configuration (image, resources,
env, TLS, etc.).
properties:
dualStack:
description: DualStack binds the server to the
IPv6 wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment
Expand Down Expand Up @@ -9297,6 +9321,10 @@ spec:
server:
description: Creates a remote offline server container
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -9856,6 +9884,10 @@ spec:
server:
description: Creates a feature server container
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -10531,6 +10563,10 @@ spec:
server:
description: Creates a registry server container
properties:
dualStack:
description: DualStack binds the server to the
IPv6 wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment
Expand Down Expand Up @@ -11918,6 +11954,10 @@ spec:
ui:
description: Creates a UI server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1012,6 +1012,10 @@ spec:
description: Server configuration (image, resources, env,
TLS, etc.).
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -2409,6 +2413,10 @@ spec:
server:
description: Creates a remote offline server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -2960,6 +2968,10 @@ spec:
server:
description: Creates a feature server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -3621,6 +3633,10 @@ spec:
server:
description: Creates a registry server container
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -4990,6 +5006,10 @@ spec:
ui:
description: Creates a UI server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable present
Expand Down Expand Up @@ -7883,6 +7903,10 @@ spec:
description: Server configuration (image, resources,
env, TLS, etc.).
properties:
dualStack:
description: DualStack binds the server to the
IPv6 wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment
Expand Down Expand Up @@ -9297,6 +9321,10 @@ spec:
server:
description: Creates a remote offline server container
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -9856,6 +9884,10 @@ spec:
server:
description: Creates a feature server container
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -10531,6 +10563,10 @@ spec:
server:
description: Creates a registry server container
properties:
dualStack:
description: DualStack binds the server to the
IPv6 wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment
Expand Down Expand Up @@ -11918,6 +11954,10 @@ spec:
ui:
description: Creates a UI server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down
40 changes: 40 additions & 0 deletions infra/feast-operator/dist/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1020,6 +1020,10 @@ spec:
description: Server configuration (image, resources, env,
TLS, etc.).
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -2417,6 +2421,10 @@ spec:
server:
description: Creates a remote offline server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -2968,6 +2976,10 @@ spec:
server:
description: Creates a feature server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -3629,6 +3641,10 @@ spec:
server:
description: Creates a registry server container
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -4998,6 +5014,10 @@ spec:
ui:
description: Creates a UI server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable present
Expand Down Expand Up @@ -7891,6 +7911,10 @@ spec:
description: Server configuration (image, resources,
env, TLS, etc.).
properties:
dualStack:
description: DualStack binds the server to the
IPv6 wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment
Expand Down Expand Up @@ -9305,6 +9329,10 @@ spec:
server:
description: Creates a remote offline server container
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -9864,6 +9892,10 @@ spec:
server:
description: Creates a feature server container
properties:
dualStack:
description: DualStack binds the server to the IPv6
wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down Expand Up @@ -10539,6 +10571,10 @@ spec:
server:
description: Creates a registry server container
properties:
dualStack:
description: DualStack binds the server to the
IPv6 wildcard address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment
Expand Down Expand Up @@ -11926,6 +11962,10 @@ spec:
ui:
description: Creates a UI server container
properties:
dualStack:
description: DualStack binds the server to the IPv6 wildcard
address instead of 0.0.0.
type: boolean
env:
items:
description: EnvVar represents an environment variable
Expand Down
Loading