You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Makefile
+14-2Lines changed: 14 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -138,7 +138,9 @@ test: generate fmt vet envtest image-build verify-crds ## Run tests.
138
138
139
139
.PHONY: test-unit
140
140
test-unit: ## Run unit tests.
141
-
CGO_ENABLED=1 KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir $(LOCALBIN) -p path)" go test ./pkg/... -race -coverprofile cover.out
141
+
CGO_ENABLED=1 KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir $(LOCALBIN) -p path)" go test ./pkg/... -race -coverprofile cover.out;\
142
+
go tool cover -func=cover.out;\
143
+
rm cover.out
142
144
143
145
.PHONY: test-integration
144
146
test-integration: envtest ## Run integration tests.
@@ -160,8 +162,12 @@ lint-fix: golangci-lint ## Run golangci-lint linter and perform fixes
160
162
ci-lint: golangci-lint
161
163
$(GOLANGCI_LINT) run --timeout 15m0s
162
164
165
+
.PHONY: api-lint
166
+
api-lint: golangci-api-lint
167
+
$(GOLANGCI_API_LINT) run -c .golangci-kal.yml --timeout 15m0s ./...
168
+
163
169
.PHONY: verify
164
-
verify: vet fmt-verify generate ci-lint verify-all
170
+
verify: vet fmt-verify generate ci-lint api-lint verify-all
165
171
git --no-pager diff --exit-code config api client-go
Copy file name to clipboardExpand all lines: README.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,8 @@ The following specific terms to this project:
29
29
performance, availability and capabilities to optimize routing. Includes
30
30
things like [Prefix Cache] status or [LoRA Adapters] availability.
31
31
-**Endpoint Picker(EPP)**: An implementation of an `Inference Scheduler` with additional Routing, Flow, and Request Control layers to allow for sophisticated routing strategies. Additional info on the architecture of the EPP [here](https://github.com/kubernetes-sigs/gateway-api-inference-extension/tree/main/docs/proposals/0683-epp-architecture-proposal).
32
-
32
+
-**Body Based Router(BBR)**: An optional additional [ext-proc](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_proc_filter) server that parses the http body of the inference prompt message and extracts information (currently the model name for OpenAI API style messages) into a format which can then be used by the gateway for routing purposes. Additional info [here](https://github.com/kubernetes-sigs/gateway-api-inference-extension/tree/main/pkg/bbr/README.md) and in the documentation [user guides](https://gateway-api-inference-extension.sigs.k8s.io/guides/).
33
+
33
34
34
35
The following are key industry terms that are important to understand for
Copy file name to clipboardExpand all lines: api/v1/inferencepool_types.go
+12-13Lines changed: 12 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -96,6 +96,7 @@ type Port struct {
96
96
97
97
// EndpointPickerRef specifies a reference to an Endpoint Picker extension and its
98
98
// associated configuration.
99
+
// +kubebuilder:validation:XValidation:rule="self.kind != 'Service' || has(self.port)",message="port is required when kind is 'Service' or unspecified (defaults to 'Service')"
99
100
typeEndpointPickerRefstruct {
100
101
// Group is the group of the referent API object. When unspecified, the default value
101
102
// is "", representing the Core API group.
@@ -118,29 +119,29 @@ type EndpointPickerRef struct {
118
119
//
119
120
// +optional
120
121
// +kubebuilder:default=Service
121
-
//nolint:kubeapilinter // ignore kubeapilinter here as we want to use pointer for optional struct.
122
-
Kind*Kind`json:"kind,omitempty"`
122
+
KindKind`json:"kind,omitempty"`
123
123
124
124
// Name is the name of the referent API object.
125
125
//
126
126
// +required
127
127
NameObjectName`json:"name,omitempty"`
128
128
129
-
// PortNumber is the port number of the Endpoint Picker extension service. When unspecified,
130
-
// implementations SHOULD infer a default value of 9002 when the kind field is "Service" or
131
-
// unspecified (defaults to "Service").
129
+
// Port is the port of the Endpoint Picker extension service.
130
+
//
131
+
// Port is required when the referent is a Kubernetes Service. In this
132
+
// case, the port number is the service port number, not the target port.
133
+
// For other resources, destination port might be derived from the referent
134
+
// resource or this field.
132
135
//
133
136
// +optional
134
-
//nolint:kubeapilinter // ignore kubeapilinter here as we want to use pointer for optional struct.
0 commit comments