# Regional Server Helm Chart

This Helm chart deploys the TiDB Cloud Observability regional-server and data-server components to Kubernetes clusters across multiple cloud providers.

## Overview

The regional-server chart provides:
- Regional server deployment for observability coordination
- Data server deployment for historical metrics
- Multi-cloud support (AWS, GCP, Azure, Alicloud)
- RBAC and CRD management
- ConfigMap-based configuration management

## Prerequisites

- Kubernetes 1.20+
- Helm 3.0+
- Appropriate cloud provider permissions

## Installation

### Basic Installation

```bash
helm install regional-server ./deployments/charts/regional-server \
  --set global.environment=dev \
  --set global.cloudProvider=aws \
  --set global.region=us-east-1 \
  --set regionalServer.image.repository=your-registry/regional-server \
  --set regionalServer.image.tag=latest \
  --set dataServer.image.repository=your-registry/data-server \
  --set dataServer.image.tag=latest
```

### Cloud-Specific Installation

#### AWS
```bash
helm install regional-server ./deployments/charts/regional-server \
  -f ./deployments/charts/regional-server/values.yaml \
  --set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"=arn:aws:iam::123456789012:role/regional-server-role \
  --set regionalServer.ingress.annotations."alb\.ingress\.kubernetes\.io/certificate-arn"=arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
```

#### GCP
```bash
helm install regional-server ./deployments/charts/regional-server \
  -f ./deployments/charts/regional-server/values.yaml \
  --set serviceAccount.annotations."iam\.gke\.io/gcp-service-account"=regional-server@project-id.iam.gserviceaccount.com
```

## Configuration

### Global Configuration

| Parameter | Description | Default |
|-----------|-------------|---------|
| `global.environment` | Environment (dev/staging/prod) | `dev` |
| `global.cloudProvider` | Cloud provider (aws/gcp/azure/alicloud) | `aws` |
| `global.region` | Cloud region | `us-east-1` |
| `global.logicalRegion` | Logical region name | `us-east-1` |
| `global.namespace` | Kubernetes namespace | `observability` |

### Component Configuration

See `values.yaml` for complete configuration options.

## Cloud Provider Values Files

- `values-aws.yaml` - AWS-specific configurations
- `values-gcp.yaml` - GCP-specific configurations
- `values-azure.yaml` - Azure-specific configurations
- `values-alicloud.yaml` - Alicloud-specific configurations

## Upgrading

```bash
helm upgrade regional-server ./deployments/charts/regional-server
```

## Uninstalling

```bash
helm uninstall regional-server
```

Note: CRDs and bootstrap resources are preserved by default for safety.
