4.1 KiB
4.1 KiB
Payouts Helm Chart
This chart deploys the payouts service to a Kubernetes cluster using Helm.
Introduction
This chart bootstraps a payouts service deployment on a Kubernetes cluster using the Helm package manager.
Prerequisites
- Kubernetes 1.19+
- Helm 3.0+
Installing the Chart
To install the chart with the release name my-release:
helm install my-release .
The command deploys the payouts service on the Kubernetes cluster in the default configuration. The Values section lists the parameters that can be configured during installation.
Uninstalling the Chart
To uninstall/delete the my-release deployment:
helm delete my-release
Values
| Key | Type | Default | Description |
|---|---|---|---|
| replicaCount | int | 1 |
Number of replicas |
| image.repository | string | "payouts" |
Image repository |
| image.tag | string | "latest" |
Image tag |
| image.pullPolicy | string | "IfNotPresent" |
Image pull policy |
| service.type | string | "ClusterIP" |
Service type |
| service.port | int | 8080 |
Service port |
| ingress.enabled | bool | false |
Enable ingress |
| ingress.className | string | "" |
Ingress class name |
| ingress.hosts[0].host | string | "chart-example.local" |
Ingress host |
| ingress.hosts[0].paths[0].path | string | "/" |
Ingress path |
| ingress.hosts[0].paths[0].pathType | string | "ImplementationSpecific" |
Ingress path type |
| server.port | string | ":8080" |
Server port |
| server.writeTimeout | string | "35s" |
Server write timeout |
| server.readTimeout | string | "35s" |
Server read timeout |
| server.enablePProfEndpoints | bool | false |
Enable pprof endpoints |
| database.type | string | "" |
Database type |
| database.connection | string | "" |
Database connection string |
| database.logLevel | string | "Info" |
Database log level |
| database.traceRequests | bool | false |
Trace database requests |
| cache.ttl | string | "24h" |
Cache TTL |
| log.level | string | "DEBUG" |
Log level |
| log.filePath | string | "./logs/payouts.log" |
Log file path |
| log.textOutput | bool | false |
Text output format |
| log.stdoutEnabled | bool | true |
Enable stdout logging |
| log.fileEnabled | bool | false |
Enable file logging |
| log.fluentEnabled | bool | false |
Enable fluent logging |
| metrics.endpoint | string | "/metrics" |
Metrics endpoint |
| metrics.histogramBuckets | string | "0.001,0.002,0.005,0.01,0.025,0.05,0.1,0.25,0.5,1,2.5,5,10" |
Histogram buckets |
| metrics.http.histogramEnabled | bool | true |
Enable HTTP histogram |
| metrics.http.buckets | string | "0.001,0.002,0.005,0.01,0.025,0.05,0.1,0.25,0.5,1,2.5,5,10" |
HTTP buckets |
| yookassa.baseUrl | string | "https://api.yookassa.ru/v3" |
YooKassa base URL |
| yookassa.timeout | string | "2s" |
YooKassa timeout |
| yookassa.retry.enabled | bool | false |
Enable retry |
| yookassa.retry.count | int | 3 |
Retry count |
| yookassa.retry.waitTime | string | "200ms" |
Retry wait time |
| yookassa.retry.maxWaitTime | string | "5s" |
Max retry wait time |
| yookassa.test | bool | false |
Test mode |
| yookassa.checkAllowedCallbackAddress | bool | true |
Check callback address |
| yookassa.allowedCallbackSubnets | string | "185.71.76.0/27,185.71.77.0/27,77.75.153.0/25,77.75.156.11/32,77.75.156.35/32,77.75.154.128/25,2a02:5180::/32" |
Allowed callback subnets |
| yookassa.callbackProcessTimeout | string | "1s" |
Callback process timeout |
Secrets
The following secrets are used for sensitive configuration and must be provided via Kubernetes secrets:
yookassa-base-key: YooKassa base API keyyookassa-base-secret: YooKassa base API secretyookassa-payment-key: YooKassa payment API keyyookassa-payment-secret: YooKassa payment API secret
Example to create the secret:
kubectl create secret generic payouts-secrets \
--from-literal=yookassa-base-key='YOUR_BASE_KEY' \
--from-literal=yookassa-base-secret='YOUR_BASE_SECRET' \
--from-literal=yookassa-payment-key='YOUR_PAYMENT_KEY' \
--from-literal=yookassa-payment-secret='YOUR_PAYMENT_SECRET'