Skip to content

Commit 2d8a920

Browse files
authored
DEVOPS-2722-changed-chart docs minor fixes (#51)
1 parent 254c418 commit 2d8a920

File tree

9 files changed

+39
-62
lines changed

9 files changed

+39
-62
lines changed

README.md

+13-16
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# Lightrun Helm Chart
32
The `lightrun` Helm chart provides a reliable and efficient way to deploy and manage Lightrun on Kubernetes. It includes all the essential components for a smooth setup and can scale seamlessly to support large deployments.
43
## Architecture Overview
@@ -36,56 +35,56 @@ To ensure a smooth and secure production deployment of Lightrun, follow these ke
3635

3736
- Review the Compatibility matrix for the supported tools.
3837
[More info on Compatibility](docs/installation/compatibility_matrix.md)
39-
#### **2. Secrets**
38+
#### **3. Secrets**
4039

4140
- Decide whether to use Helm-managed secrets or an external secrets manager.
4241
[More info on Secrets Management](docs/installation/secrets.md)
43-
#### **3. Lightrun Certificate**
42+
#### **4. Lightrun Certificate**
4443

4544
- Plan how Lightrun certificate will be issued and managed for secure communications.
4645
[More info on Certificate](docs/installation/certificate.md)
47-
#### **4. Database**
46+
#### **5. Database**
4847

4948
> [!TIP]
50-
> Use external database
49+
> Use external managed database
5150
5251
- Choose between a local or external database.
5352
[More info on Database Setup](docs/components/database.md)
5453

55-
#### **5. Router**
54+
#### **6. Router**
5655

5756
- Decide how external traffic will reach the Lightrun router (Ingress, Service, OpenShift Route).
5857
[More info on Router](docs/components/router/index.md)
5958

60-
#### **6. Container Images Registry**
59+
#### **7. Container Images Registry**
6160

6261
- Choose where to store and manage container images (e.g., private registry, Docker Hub, Azure Container Registry, AWS ECR).
6362
[More info on Container Image Registry](docs/installation/container_image_registry.md)
6463

65-
#### **7. Redis**
64+
#### **8. Redis**
6665
> [!TIP]
67-
> Use external redis
66+
> Use external managed redis
6867
- Determine if Redis will be local or external.
6968
[More info on Redis Setup](docs/components/redis.md)
7069

71-
#### **8. (Optional)RabbitMQ**
70+
#### **9. (Optional)RabbitMQ**
7271

7372
- Determine if RabbitMQ is needed for sending telemetry to Lightrun.
7473
[More info on RabbitMQ](docs/components/rabbitmq.md)
7574

76-
#### **9. (Optional)Network Policy**
75+
#### **10. (Optional)Network Policy**
7776

7877
- Establish network policies to restrict access between services and prevent unauthorized communication.
7978
[More info on Network Policy](docs/advanced/network_policy.md)
8079

81-
#### **10. (Optional)Internal TLS Communication**
80+
#### **11. (Optional)Internal TLS Communication**
8281

8382
- Decide whether internal TLS is necessary for secure component communication.
8483
[More info on Internal TLS](docs/advanced/internal_tls.md)
8584

86-
#### **11. Choose Your Deployment Option**
85+
#### **12. Choose Your Deployment Option**
8786

88-
Decide where to run your Kubernetes cluster based on your infrastructure needs. Consider whether youll deploy all services locally (including RabbitMQ, Redis, and MySQL) or use managed cloud services.
87+
Decide where to run your Kubernetes cluster based on your infrastructure needs. Consider whether you'll deploy all services locally (including RabbitMQ, Redis, and MySQL) or use managed cloud services.
8988
##### **Supported Kubernetes Platforms:**
9089

9190
Select your preferred cloud provider for deployment:
@@ -96,8 +95,6 @@ Select your preferred cloud provider for deployment:
9695
- **[OpenShift](docs/installation/cloud/openshift.md)**
9796
## Known Issues and Limitations
9897

99-
Review the [Known Limitations](docs/limitations.md) before deployment.
100-
10198
## Release Notes
10299

103100
Check the [versions mapping documentation](docs/installation/versions_mapping.md) for version compatibility.

docs/components/database.md

+10-7
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ Before using an external MySQL database, you MUST configure the following server
1616

1717
| System Variable | Required Value | Description |
1818
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------- | ------------------------------------------------------------------------------- |
19-
| [`sql_generate_invisible_primary_key`](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_sql_generate_invisible_primary_key) | `0` | Must be **OFF** to avoid invisible primary keys. |
20-
| [`lower_case_table_names`](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_lower_case_table_names) | `1` | Must be **ON** to ensure table name consistency. |
21-
| [`max_connections`](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_max_connections) | `100 * (# of backends) + 10 * (# of Keycloak)` | Must be set according to the number of backend services and Keycloak instances. |
22-
| [`character_set_server`](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_character_set_server) | `utf8mb4` | Must be set to `utf8mb4` for full Unicode support. |
19+
| [`sql_generate_invisible_primary_key`](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_generate_invisible_primary_key) | `0` | Must be **OFF** to avoid invisible primary keys. |
20+
| [`lower_case_table_names`](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_lower_case_table_names) | `1` | Must be **ON** to ensure table name consistency. |
21+
| [`max_connections`](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections) | `70 * (# of backends) + 10 * (# of Keycloak)` | Must be set according to the number of backend services and Keycloak instances. |
22+
| [`character_set_server`](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_character_set_server) | `utf8mb4` | Must be set to `utf8mb4` for full Unicode support. |
2323

2424
**Pre-created Database Requirement:**
2525
The target MySQL database **must be created in advance** and should match the value of `general.db_database`. The application will not create the database automatically.
@@ -35,8 +35,8 @@ CREATE DATABASE lightrunserver;
3535

3636
### **[REQUIRED] External Database Requirements**
3737

38-
- **MySQL Version**: `>= 8.0.37`
39-
- **Database Size**: CPU, Memory, and Disk must meet [**capacity table requirements**](../installation/capacity_planning.md).
38+
- **MySQL Version**: `>= 8.0.34`
39+
- **Database Size**: Minimum requirements are 2vCPU with 8GB memory & 100GB disk. Specific size according to planned capacity should be coordinated with Lightrun support engineer.
4040
- **Database Engine**: **Must be MySQL** (MySQL-compatible databases like **Aurora are NOT supported**).
4141
---
4242

@@ -66,6 +66,9 @@ general:
6666
In this mode, MySQL is deployed **inside the cluster** using either:
6767
A **StatefulSet** with persistent storage (**Recommended**)
6868
A **Deployment** with ephemeral storage (for testing purposes)
69+
70+
> HA is not supported for MySql in local mode
71+
6972
### **Basic Configuration**
7073
```yaml
7174
general:
@@ -175,7 +178,7 @@ general:
175178
db_database: lightrunserver
176179
statefulset:
177180
enabled: true
178-
storageClassName: "gp2"
181+
storageClassName: "gp3"
179182
storageSize: "100Gi"
180183
181184
```

docs/components/rabbitmq.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ This section configures **RabbitMQ** as the message queue. You can either:
33
or
44
* Connect to an **external RabbitMQ instance** (`general.mq.local: false`).
55

6+
> [!NOTE]
7+
> When using an external RabbitMQ instance, we support RabbitMQ versions 3.12.x.
68
79
### **Basic Configuration**
810
| Property | Description |

docs/components/redis.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ There are two modes:
1212
> [!NOTE]
1313
> When using external Redis, ensure that the provided endpoints are reachable. Also, if using replicated architecture, the list of node addresses must be correctly provided.
1414
15+
> [!IMPORTANT]
16+
> - Supported Redis versions: 7.1 and 7.2
17+
> - Minimum size requirements: 2 vCPU, 6GB memory
18+
> - Supported HA configurations: Only replication mode is supported (cluster mode is not supported)
1519
1620
### Configuration Options
1721

@@ -62,7 +66,7 @@ When using a local Redis deployment (i.e., `deployments.redis.external.enabled:
6266
- **Single Replica Only**: The local deployment always uses one replica.
6367
- All deployment settings (image, resources, persistence, and health probes) apply.
6468

65-
configuration is defined under **`deployments.redis`** in the **`values.yaml`**
69+
configuration is defined under **`deployments.redis`** in the **`values.yaml`**
6670
```yaml
6771
deployments:
6872
redis:

docs/components/router/openshift_haproxy.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ This section configures **Lightrun Router** with the **Openshift HAProxy Router*
33
1. Ability to create a DNS A record that points to the Openshift HAProxy Router external record.
44
# Caution
55
If you want the Lightrun application to be accessible via the default OpenShift domain (disabled by default).
6-
For example, the application URL might look like this: https://lightrun.apps.test.o5mj.p1.openshiftapps.com/.
6+
For example, the application URL might look like this: `https://lightrun.apps.test.o5mj.p1.openshiftapps.com/`.
77
Follow these steps:
88

99
1. Enable Default OpenShift Domain:
+1-31
Original file line numberDiff line numberDiff line change
@@ -1,31 +1 @@
1-
This document provides capacity planning guidelines for deploying and scaling infrastructure based on the number of agents in a system. It includes details on required resources, instance types, and configurations for different cloud providers (AWS, Azure, and GCP). The goal is to ensure optimal performance and resource utilization while maintaining high availability.
2-
3-
4-
> [!NOTE]
5-
> If you intend to deploy all services, including MySQL and Redis, within the cluster (not recommended for production), keep in mind that each service will run with **a single replica** (no high availability). To fit all services, you must allocate at least **9 vCPUs** and **25 GiB of memory**.
6-
7-
8-
The capacity planning estimates include:
9-
10-
- **Application Pods**: Compute and memory resources required for each component.
11-
12-
- **Kubernetes Worker Nodes**: Compute instances needed to support the workload.
13-
14-
- **Managed Services**: Database and Redis services specifications.
15-
## Capacity Planning Table
16-
> [!NOTE]
17-
> the capacity planning do not include k8s reserved resources, such as kube-reserved, system-reserved, and eviction threshold.
18-
The following table outlines resource allocations based on different agent counts:
19-
20-
### Scaling by Agent Count
21-
22-
| Agents | Router Pods | Frontend Pods | Backend Pods | Keycloak Pods | Datastreamer Pods | RabbitMQ Pods | Kubernetes Worker Nodes | Managed MySQL | Managed Redis |
23-
| -------- | ------------------- | ------------------- | ---------------- | --------------- | ------------------- | ----------------- | ---------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
24-
| **1K** | 1 (0.3 vCPU, 256Mb) | 1 (0.1 vCPU, 128Mb) | 1 (3 vCPU, 7GB) | 1 (1 vCPU, 2GB) | 1 (0.1 vCPU, 128MB) | 1 (0.5 vCPU, 1GB) | 2 (4 vCPU, 8GB memory, 10 GB disk) | db.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) | cache.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) |
25-
| **5K** | 2 (0.3 vCPU, 256Mb) | 2 (0.1 vCPU, 128Mb) | 2 (3 vCPU, 7GB) | 2 (1 vCPU, 2GB) | 2 (0.1 vCPU, 128MB) | 3 (0.5 vCPU, 1GB) | 4 (4 vCPU, 8GB, 10 GB disk) | db.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) | cache.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) |
26-
| **7.5K** | 2 (0.3 vCPU, 256Mb) | 2 (0.1 vCPU, 128Mb) | 3 (3 vCPU, 7GB) | 2 (1 vCPU, 2GB) | 2 (0.1 vCPU, 128MB) | 3 (0.5 vCPU, 1GB) | 5 (4 vCPU, 8GB, 10 GB disk) | db.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) | cache.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) |
27-
| **10K** | 2 (0.3 vCPU, 256Mb) | 2 (0.1 vCPU, 128Mb) | 4 (3 vCPU, 7GB) | 2 (1 vCPU, 2GB) | 2 (0.1 vCPU, 128MB) | 3 (0.5 vCPU, 1GB) | 6 (4 vCPU, 8GB, 10 GB disk) | db.m7g.xlarge (AWS), Standard_D4as_v5 (Azure), n2-standard-4 (GCP) | cache.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) |
28-
| **15K** | 2 (0.3 vCPU, 256Mb) | 2 (0.1 vCPU, 128Mb) | 5 (3 vCPU, 7GB) | 2 (1 vCPU, 2GB) | 2 (0.1 vCPU, 128MB) | 3 (0.5 vCPU, 1GB) | 7 (4 vCPU, 8GB, 10 GB disk) | db.m7g.xlarge (AWS), Standard_D4as_v5 (Azure), n2-standard-4 (GCP) | cache.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) |
29-
| **20K** | 2 (0.3 vCPU, 256Mb) | 2 (0.1 vCPU, 128Mb) | 7 (3 vCPU, 7GB) | 2 (1 vCPU, 2GB) | 2 (0.1 vCPU, 128MB) | 3 (0.5 vCPU, 1GB) | 9 (4 vCPU, 8GB, 10 GB disk) | db.m7g.xlarge (AWS), Standard_D4as_v5 (Azure), n2-standard-4 (GCP) | cache.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) |
30-
| **25K** | 2 (0.3 vCPU, 256Mb) | 2 (0.1 vCPU, 128Mb) | 9 (3 vCPU, 7GB) | 2 (1 vCPU, 2GB) | 2 (0.1 vCPU, 128MB) | 3 (0.5 vCPU, 1GB) | 11 (4 vCPU, 8GB, 10 GB disk) | db.m7g.2xlarge (AWS), Standard_D8as_v5 (Azure), n2-standard-8 (GCP) | cache.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) |
31-
| **30K** | 2 (0.3 vCPU, 256Mb) | 2 (0.1 vCPU, 128Mb) | 10 (3 vCPU, 7GB) | 2 (1 vCPU, 2GB) | 2 (0.1 vCPU, 128MB) | 3 (0.5 vCPU, 1GB) | 12 (4 vCPU, 8GB, 10 GB disk) | db.m7g.2xlarge (AWS), Standard_D8as_v5 (Azure), n2-standard-8 (GCP) | cache.m7g.large (AWS), Standard_D2s_v3 (Azure), n2-standard-2 (GCP) |
1+
Capacity planning should be done in coordination with Lightrun Support Engineers.

docs/installation/compatibility_matrix.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ This document provides a compatibility overview for Kubernetes and OpenShift ver
1717

1818
## OpenShift Compatibility
1919

20-
| OpenShift Version | Compatibility | Comments |
21-
| ----------------- | ------------- | ------------------------------------------------------------------------ |
22-
| 4.17.7 | Compatible | Tested with chart version 3.9.0 and LR version 1.47.1-release.d4424d8dee |
23-
| 4.14.42 | Compatible | Tested with chart version 3.9.0 and LR version 1.47.1-release.d4424d8dee |
20+
| OpenShift Version | Compatibility | Comments |
21+
| ----------------- | ------------- | -------- |
22+
| 4.14 | Compatible | |
23+
| 4.15 | Compatible | |
24+
| 4.16 | Compatible | |
25+
| 4.17 | Compatible | |
2426

docs/installation/quickstart.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ secrets:
5555
5656
- **Docker images** are pulled from the Lightrun private repository on DockerHub (`lightruncom`).
5757

58-
- **Router** is exposed without SSL, relying on an Nginx ingress controller for SSL termination.
58+
- **Router** is exposed without SSL, relying on an ingress controller (such as Nginx) for SSL termination.
5959

6060

6161
For a self-signed certificate, see **"Generating a Self-Signed TLS Certificate"** section in the [Certificate Overview](docs/installation/certificate)

docs/limitations.md

-1
This file was deleted.

0 commit comments

Comments
 (0)