From 0775f48165551a23b8c25048acc104928e92aa90 Mon Sep 17 00:00:00 2001 From: Anna Khanova <32508607+khanova@users.noreply.github.com> Date: Tue, 16 Apr 2024 10:21:59 +0200 Subject: [PATCH] proxy: Create regional redis config args (#76) --- charts/neon-proxy/Chart.yaml | 2 +- charts/neon-proxy/README.md | 8 +++++++- charts/neon-proxy/templates/deployment.yaml | 19 +++++++++++++++++++ charts/neon-proxy/values.yaml | 12 ++++++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/charts/neon-proxy/Chart.yaml b/charts/neon-proxy/Chart.yaml index 29a0ad7..074ac96 100644 --- a/charts/neon-proxy/Chart.yaml +++ b/charts/neon-proxy/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: neon-proxy description: Neon Proxy type: application -version: 1.7.20 +version: 1.7.21 appVersion: "0.1.0" kubeVersion: "^1.18.x-x" home: https://neon.tech diff --git a/charts/neon-proxy/README.md b/charts/neon-proxy/README.md index 9443794..c0ab55f 100644 --- a/charts/neon-proxy/README.md +++ b/charts/neon-proxy/README.md @@ -1,6 +1,6 @@ # neon-proxy -![Version: 1.7.20](https://img.shields.io/badge/Version-1.7.20-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) [![Lint and Test Charts](https://github.com/neondatabase/helm-charts/actions/workflows/lint-test.yaml/badge.svg)](https://github.com/neondatabase/helm-charts/actions/workflows/lint-test.yaml) +![Version: 1.7.21](https://img.shields.io/badge/Version-1.7.21-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) [![Lint and Test Charts](https://github.com/neondatabase/helm-charts/actions/workflows/lint-test.yaml/badge.svg)](https://github.com/neondatabase/helm-charts/actions/workflows/lint-test.yaml) Neon Proxy @@ -66,10 +66,12 @@ Kubernetes: `^1.18.x-x` | settings.authBackend | string | `"link"` | auth method used (console|link|postgres) | | settings.authEndpoint | string | `""` | auth endpoint, e.g. "http://console.neon/authenticate_proxy_request/" | | settings.awsAccessKeyId | string | `""` | (string) AWS Access Key ID | +| settings.awsRegion | string | `""` | (string) Aws region to retrieve credentials | | settings.awsSecretAccessKey | string | `""` | (string) AWS Secret Access Key | | settings.controlplane_token | string | `""` | (string) JWT token to pass to control plane management API | | settings.disableDynamicRateLimiter | bool | `true` | (bool) Disable dynamic rate limiter | | settings.domain | string | `""` | domain used in TLS cert for client postgres connections | +| settings.endpointCacheConfig | string | `""` | (string) Config for cache for all valid endpoints | | settings.endpointRpsLimits[0] | string | `"300@1s"` | | | settings.endpointRpsLimits[1] | string | `"250@10m"` | | | settings.extraDomains | list | `[]` | domains used in extra TLS certs for client postgres connections | @@ -87,7 +89,11 @@ Kubernetes: `^1.18.x-x` | settings.parquetUploadRemoteStorage | string | `""` | (string) Storage location to upload the parquet files to. | | settings.parquetUploadRowGroupSize | string | `"8192"` | (string) How many rows to include in a row group | | settings.parquetUploadSize | string | `"100000000"` | (string) How large the total parquet file should be in bytes | +| settings.redisClusterName | string | `"regional-control-plane-redis"` | (string) Redis cluster name, used in aws elasticache | +| settings.redisHost | string | `""` | (string) Redis host for streaming connections (might be different from the notifications host) | | settings.redisNotifications | string | `""` | (url) Configures redis client | +| settings.redisPort | string | `""` | (string) Redis port for streaming connections | +| settings.redisUserId | string | `"neon"` | (string) Redis user_id, used in aws elasticache | | settings.region | string | `""` | (string) Region this proxy service is deployed into | | settings.rustLog | string | `"INFO"` | Proxy log level | | settings.sentryEnvironment | string | `"development"` | "development" or "production". It will be visible in sentry in order to filter issues | diff --git a/charts/neon-proxy/templates/deployment.yaml b/charts/neon-proxy/templates/deployment.yaml index 2344707..1c9c223 100644 --- a/charts/neon-proxy/templates/deployment.yaml +++ b/charts/neon-proxy/templates/deployment.yaml @@ -149,6 +149,25 @@ spec: {{- with .Values.settings.metricBackupCollectionChunkSize }} - --metric-backup-collection-chunk-size={{ . }} {{ end }} + {{- with .Values.settings.endpointCacheConfig }} + - --endpoint-cache-config={{ . }} + {{ end }} + {{- with .Values.settings.redisHost }} + - --redis-host={{ . }} + {{ end }} + {{- with .Values.settings.redisPort }} + - --redis-port={{ . }} + {{ end }} + {{- with .Values.settings.redisClusterName }} + - --redis-cluster-name={{ . }} + {{ end }} + {{- with .Values.settings.redisUserId }} + - --redis-user-id={{ . }} + {{ end }} + {{- with .Values.settings.awsRegion }} + - --aws-region={{ . }} + {{ end }} + {{- if .Values.settings }} env: diff --git a/charts/neon-proxy/values.yaml b/charts/neon-proxy/values.yaml index 4c1186a..996e358 100644 --- a/charts/neon-proxy/values.yaml +++ b/charts/neon-proxy/values.yaml @@ -97,6 +97,18 @@ settings: metricBackupCollectionInterval: "10m" # settings.metricBackupCollectionChunkSize -- (string) How large each chunk of the metric backup files should be in bytes metricBackupCollectionChunkSize: "4194304" + # settings.endpointCacheConfig -- (string) Config for cache for all valid endpoints + endpointCacheConfig: "" + # settings.redisHost -- (string) Redis host for streaming connections (might be different from the notifications host) + redisHost: "" + # settings.redisPort -- (string) Redis port for streaming connections + redisPort: "" + # settings.redisClusterName -- (string) Redis cluster name, used in aws elasticache + redisClusterName: "regional-control-plane-redis" + # settings.redisUserId -- (string) Redis user_id, used in aws elasticache + redisUserId: "neon" + # settings.awsRegion -- (string) Aws region to retrieve credentials + awsRegion: "" serviceAccount: # serviceAccount.create - Specifies whether a service account should be created