-
Notifications
You must be signed in to change notification settings - Fork 99
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
Add dynamic proxy configuration #150
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
### Proxy | ||
|
||
|
||
#### Metrics | ||
|
||
The proxy exposes the following core metrics: | ||
|
||
- `quilkin_proxy_packets_dropped_total{reason}` (Counter) | ||
|
||
The total number of packets (not associated with any session) that were dropped by proxy. | ||
Not that packets reflected by this metric were dropped at an earlier stage before they were associated with any session. For session based metrics, see the list of [session metrics][session-metrics] instead. | ||
* `reason = NoConfiguredEndpoints` | ||
- `NoConfiguredEndpoints`: No upstream endpoints were available to send the packet to. This can occur e.g if the endpoints cluster was scaled down to zero and the proxy is configured via a control plane. | ||
|
||
[session-metrics]: ./session.md |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# | ||
# Copyright 2020 Google LLC All Rights Reserved. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we also add an entry to https://github.com/googleforgames/quilkin/blob/master/docs/proxy-configuration.md while we are at it in this PR? (Also just noted this page is not referenced from the home page, but that's a separate issue) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah good catch, will fix! There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Updated! |
||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
# | ||
# Example configuration for a Quilkin Proxy that is configured via a control plane. | ||
# | ||
|
||
version: v1alpha1 | ||
proxy: | ||
mode: SERVER # Run the proxy in server mode. | ||
id: my-proxy # An identifier for the proxy instance. | ||
port: 7001 # the port to receive traffic to locally | ||
dynamic: # Provide configuration of endpoints using an XDS management server | ||
management_servers: # array of management servers to configure the proxy with. | ||
# Multiple servers can be provided for redundancy. | ||
- address: 127.0.0.1:26000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be a
oneOf
with children ofdynamic
andstatic
? https://swagger.io/docs/specification/data-models/oneof-anyof-allof-not/#oneofOr would that be too complicated for the documentation? (Not for this PR, but maybe we should split this up into separate docs)
Actually, this would be the link of oneOf, yes? http://json-schema.org/draft-04/json-schema-validation.html#rfc.section.5.5 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah ideally it'll be oneof but oneof is a bit weird at the top level, instead of being able to say oneof
static
ordynamic
at the top level, we can only say oneof or which might be more complexThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good - just wanted to check 👍