From 8ca75b4c6ea66f65224b49c1ad58d6d5f0bc8879 Mon Sep 17 00:00:00 2001 From: Erin Power Date: Tue, 10 Oct 2023 10:51:06 +0200 Subject: [PATCH] Add documentation --- docs/src/deployment/admin.md | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/docs/src/deployment/admin.md b/docs/src/deployment/admin.md index 4180f82f78..6a954870bd 100644 --- a/docs/src/deployment/admin.md +++ b/docs/src/deployment/admin.md @@ -34,15 +34,36 @@ The admin interface provides the following endpoints: This provides a liveness probe endpoint, most commonly used in [Kubernetes based systems](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-command). -Will return an HTTP status of 200 when all health checks pass. +Liveness is defined as "hasn't panicked", as long as the process has not +panicked quilkin is considered live. ### /ready This provides a readiness probe endpoint, most commonly used in [Kubernetes based systems](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes). -Depending on whether Quilkin is run in Proxy mode i.e. `quilkin proxy`, vs an xDS provider mode, such as `quilkin -manage agones`, will dictate how readiness is calculated: +Readiness is service and provider specific, so based on what you're running +there will be different criteria for a service to be considered ready. Here's +a list of the criteria for each service an provider. + +| Service | Readiness | +|---------|---------------------------------------------------------------------| +| Proxy | Management server is connected (or always true if config is static) | +| Manage | Provider is ready | +| Relay | Provider is ready | +| Agent | Provider is ready AND connected to relay | + +| Provider | Readiness | +|----------|--------------------------------------------| +| Agones | The service is connected to kube-api | +| File | The service has found and watches the file | + +When setting thresholds for your `proxy` probes, you generally want to set a low +check period (e.g. `periodSeconds=1`) and a low success threshold +(e.g. `successThreshold=1`), but a high `failureThreshold` +(e.g. `failureThreshold=60`) and `terminationGracePeriodSeconds` to allow for +backoff attempts and existing player sessions to continue without disruption. + #### Proxy Mode @@ -67,4 +88,4 @@ See the [xDS Metrics](../services/xds/metrics.md) documentation for what xDS met Returns a JSON representation of the cluster and filterchain configuration that the instance is running with at the time of invocation. -[log-docs]: https://docs.rs/env_logger/latest/env_logger/#enabling-logging \ No newline at end of file +[log-docs]: https://docs.rs/env_logger/latest/env_logger/#enabling-logging