Skip to content

Commit 145f314

Browse files
authored
Merge pull request #159 from superstreamlabs/qa
Qa
2 parents 168aca8 + 16345ba commit 145f314

File tree

9 files changed

+71
-19
lines changed

9 files changed

+71
-19
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## How Has This Been Tested?
22

3-
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.
3+
Please describe the tests you ran to verify your changes and note any relevant details for your test configuration.
44
- [ ] Test A
55
- [ ] Test B
66

@@ -12,12 +12,15 @@ Please describe the tests that you ran to verify your changes. Please also note
1212
- [ ] I have verified that the specification is met and all functionalities are working as expected
1313

1414
## Reviewer Score - 0-100%
15-
16-
- [ ] **Meeting Task Specifications (40%)**
15+
- [ ] **Tests have been done and meaningfully described - (25%)**
16+
- Ensure all necessary tests are conducted, covering the critical paths and edge cases.
17+
- Descriptions should be clear, documenting the test intent, steps, and outcomes for reproducibility and transparency.
18+
19+
- [ ] **Meeting Task Specifications (25%)**
1720
- This includes security, observability, and cost-efficiency aspects.
1821
- Ensure that the task requirements are fully met and that the implementation aligns with the specifications provided.
1922

20-
- [ ] **Writing Readable Code (30%)**
23+
- [ ] **Writing Readable Code (20%)**
2124
- Write code that is easy to read and understand.
2225
- Use clear and meaningful variable names, and include comments where necessary.
2326

@@ -27,4 +30,3 @@ Please describe the tests that you ran to verify your changes. Please also note
2730
- [ ] **Attention to Edge Cases (10%)**
2831
- Identify and handle edge cases that may not be immediately obvious.
2932
- Demonstrate thorough testing and consideration of potential issues.
30-

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ The following table lists the configurable parameters of the SuperStream chart a
9898
| `superstreamEngine.serviceAccount.create` | Specifies whether a service account should be created. | `true` |
9999
| `superstreamEngine.serviceAccount.annotations` | Annotations to add to the service account. | `{}` |
100100
| `superstreamEngine.serviceAccount.name` | The name of the service account to use. | `""` |
101+
| `superstreamEngine.extraEnv` | A map of additional environment variables for the application. | `{}` |
101102
| `superstreamEngine.service.enabled` | Enable service for the backend. | `true` |
102103
| `superstreamEngine.service.type` | Type of service for the backend. | `ClusterIP` |
103104
| `superstreamEngine.service.port` | Port for the backend service. | `7777` |
@@ -135,6 +136,7 @@ The following table lists the configurable parameters of the SuperStream chart a
135136
| `autoScaler.autoscaling.maxReplicas` | Maximum number of replicas for autoscaling. | `5` |
136137
| `autoScaler.autoscaling.targetCPUUtilizationPercentage` | CPU utilization percentage for autoscaling. | `75` |
137138
| `autoScaler.autoscaling.targetMemoryUtilizationPercentage` | Memory utilization percentage for autoscaling. | `75` |
139+
| `autoScaler.extraEnv` | A map of additional environment variables for the application. | `{}` |
138140
| `autoScaler.nodeSelector` | Node selectors to control the placement of pods. | `{}` |
139141
| `autoScaler.tolerations` | Tolerations for pods to tolerate certain node conditions or taints. | `[]` |
140142
| `autoScaler.affinity` | Affinity rules for pod scheduling. | `{}` |
@@ -146,6 +148,7 @@ The following table lists the configurable parameters of the SuperStream chart a
146148
| `syslog.service.type` | Type of service for syslog. | `ClusterIP` |
147149
| `syslog.service.port` | Port for the syslog service. | `5514` |
148150
| `syslog.service.protocol` | Protocol for the syslog service. | `UDP` |
151+
| `syslog.extraEnv` | A map of additional environment variables for the application. | `{}` |
149152
| `syslog.resources.limits.cpu` | CPU limit for the syslog pod. | `"100m"` |
150153
| `syslog.resources.limits.memory` | Memory limit for the syslog pod. | `"256Mi"` |
151154
| `syslog.resources.requests.cpu` | CPU request for the syslog pod. | `"50m"` |
@@ -162,3 +165,4 @@ The following table lists the configurable parameters of the SuperStream chart a
162165
| `syslog.persistence.size` | Size of the persistent volume for syslog. | `"1Gi"` |
163166
| `syslog.persistence.accessModes` | Access modes (e.g., ReadWriteOnce) for the syslog persistent volume. | `["ReadWriteOnce"]` |
164167
| `syslog.persistence.storageClassName` | Storage class name for the syslog persistent volume. | `"standard"` |
168+

charts/superstream/README.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
<div align="center">
22

3-
![full logo superstream](https://github.com/superstreamlabs/superstream-engine/assets/107035359/19dc2e40-a907-49ee-9faf-d6d707633d53)
3+
<img src="https://github.com/user-attachments/assets/35899c78-24eb-4507-97ed-e87e84c49fea#gh-dark-mode-only" width="500">
4+
<img src="https://github.com/user-attachments/assets/8a7bca49-c362-4a8c-945e-a331fb26d8eb#gh-light-mode-only" width="500">
45

5-
<b>Improve And Optimize Your Kafka In Literally Minutes.<br>
6-
Reduce Costs and Boost Performance by 75% Without Changing a Single Component or Your Existing Kafka!</b>
6+
<p>
7+
Superstream is an autonomous platform designed<br>to optimize data infrastructure for cost reduction and reduced operations.<br>
8+
<a href="https://superstream.ai">Website</a> | <a href="https://docs.superstream.ai">Docs</a>
9+
</p>
710

811
</div>
912

13+
#### This chart is for Superstream customers who prefer to host a local engine
14+
1015
## Configure Environment Tokens
1116

1217
For easiness, create `custom_values.yaml` file and edit the following values:
@@ -38,7 +43,7 @@ nats:
3843
############################################################
3944
# Optional service to automatically scale the Kafka cluster up/down based on CPU and memory metrics
4045
autoScaler:
41-
enabled: true
46+
enabled: true
4247
```
4348
4449
To deploy it, run the following:
@@ -93,6 +98,7 @@ The following table lists the configurable parameters of the SuperStream chart a
9398
| `superstreamEngine.serviceAccount.create` | Specifies whether a service account should be created. | `true` |
9499
| `superstreamEngine.serviceAccount.annotations` | Annotations to add to the service account. | `{}` |
95100
| `superstreamEngine.serviceAccount.name` | The name of the service account to use. | `""` |
101+
| `superstreamEngine.extraEnv` | A map of additional environment variables for the application. | `{}` |
96102
| `superstreamEngine.service.enabled` | Enable service for the backend. | `true` |
97103
| `superstreamEngine.service.type` | Type of service for the backend. | `ClusterIP` |
98104
| `superstreamEngine.service.port` | Port for the backend service. | `7777` |
@@ -130,6 +136,7 @@ The following table lists the configurable parameters of the SuperStream chart a
130136
| `autoScaler.autoscaling.maxReplicas` | Maximum number of replicas for autoscaling. | `5` |
131137
| `autoScaler.autoscaling.targetCPUUtilizationPercentage` | CPU utilization percentage for autoscaling. | `75` |
132138
| `autoScaler.autoscaling.targetMemoryUtilizationPercentage` | Memory utilization percentage for autoscaling. | `75` |
139+
| `autoScaler.extraEnv` | A map of additional environment variables for the application. | `{}` |
133140
| `autoScaler.nodeSelector` | Node selectors to control the placement of pods. | `{}` |
134141
| `autoScaler.tolerations` | Tolerations for pods to tolerate certain node conditions or taints. | `[]` |
135142
| `autoScaler.affinity` | Affinity rules for pod scheduling. | `{}` |
@@ -141,6 +148,7 @@ The following table lists the configurable parameters of the SuperStream chart a
141148
| `syslog.service.type` | Type of service for syslog. | `ClusterIP` |
142149
| `syslog.service.port` | Port for the syslog service. | `5514` |
143150
| `syslog.service.protocol` | Protocol for the syslog service. | `UDP` |
151+
| `syslog.extraEnv` | A map of additional environment variables for the application. | `{}` |
144152
| `syslog.resources.limits.cpu` | CPU limit for the syslog pod. | `"100m"` |
145153
| `syslog.resources.limits.memory` | Memory limit for the syslog pod. | `"256Mi"` |
146154
| `syslog.resources.requests.cpu` | CPU request for the syslog pod. | `"50m"` |
@@ -157,3 +165,4 @@ The following table lists the configurable parameters of the SuperStream chart a
157165
| `syslog.persistence.size` | Size of the persistent volume for syslog. | `"1Gi"` |
158166
| `syslog.persistence.accessModes` | Access modes (e.g., ReadWriteOnce) for the syslog persistent volume. | `["ReadWriteOnce"]` |
159167
| `syslog.persistence.storageClassName` | Storage class name for the syslog persistent volume. | `"standard"` |
168+

charts/superstream/charts/telegraf/templates/configmap.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ data:
6868
'''
6969
[[outputs.loki]]
7070
domain = "https://loki.mgmt.superstream.ai"
71+
timeout = "15s"
7172
endpoint = "/loki/api/v1/push"
7273
namepass = [
7374
"syslog",
@@ -85,6 +86,7 @@ data:
8586
Authorization = "$TOKEN"
8687
[[outputs.http]]
8788
data_format = "prometheusremotewrite"
89+
timeout = "15s"
8890
method = "POST"
8991
namedrop = [
9092
"syslog",

charts/superstream/templates/deployment-auto-scaler.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,13 @@ spec:
6060
- name: SYSLOG_PROTOCOL
6161
value: {{ .Values.superstreamEngine.syslog.protocol }}
6262
- name: SYSLOG_PORT
63-
value: {{ .Values.superstreamEngine.syslog.port | quote }}
63+
value: {{ .Values.superstreamEngine.syslog.port | quote }}
64+
{{- if .Values.autoScaler.extraEnv }}
65+
{{- range .Values.autoScaler.extraEnv }}
66+
- name: {{ .name }}
67+
value: {{ .value | quote }}
68+
{{- end }}
69+
{{- end }}
6470
resources:
6571
{{- toYaml .Values.autoScaler.resources | nindent 12 }}
6672
{{- with .Values.autoScaler.nodeSelector }}
@@ -76,3 +82,4 @@ spec:
7682
{{- toYaml . | nindent 8 }}
7783
{{- end }}
7884
{{- end }}
85+

charts/superstream/templates/deployment-data-plane.yaml

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,20 +93,26 @@ spec:
9393
value: {{ .Values.superstreamEngine.syslog.protocol }}
9494
- name: SYSLOG_PORT
9595
value: {{ .Values.superstreamEngine.syslog.port | quote }}
96+
{{- if .Values.superstreamEngine.extraEnv }}
97+
{{- range .Values.superstreamEngine.extraEnv }}
98+
- name: {{ .name }}
99+
value: {{ .value | quote }}
100+
{{- end }}
101+
{{- end }}
102+
readinessProbe:
103+
httpGet:
104+
path: /monitoring/status
105+
port: 7777
106+
scheme: HTTP
107+
initialDelaySeconds: 5
108+
periodSeconds: 10
96109
resources:
97110
{{- toYaml .Values.superstreamEngine.resources | nindent 12 }}
98111
{{- $fileDataExists := and .Values.superstreamEngine.configMap.fileData .Values.superstreamEngine.configMap.fileData.fileContent }}
99112
{{- if or $fileDataExists .Values.superstreamEngine.configMap.useExisting }}
100113
volumeMounts:
101114
- name: config-volume
102115
mountPath: {{ .Values.superstreamEngine.configMap.fileData.mountPath }}
103-
readinessProbe:
104-
httpGet:
105-
path: /monitoring/status
106-
port: 7777
107-
scheme: HTTP
108-
initialDelaySeconds: 5
109-
periodSeconds: 10
110116
volumes:
111117
- name: config-volume
112118
configMap:
@@ -139,3 +145,4 @@ spec:
139145
{{- end }}
140146

141147

148+

charts/superstream/templates/deployment-syslog.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,17 @@ spec:
3232
containers:
3333
- name: syslog-ng
3434
{{ include "superstream.image" (merge (pick $.Values "global") .Values.syslog.image) | nindent 8 }}
35+
{{- if .Values.syslog.extraEnv }}
36+
{{- range .Values.syslog.extraEnv }}
37+
env:
38+
- name: {{ .name }}
39+
value: {{ .value | quote }}
40+
{{- end }}
41+
{{- end }}
3542
ports:
3643
- name: syslog
3744
containerPort: {{ .Values.syslog.service.port }}
38-
protocol: {{ .Values.syslog.service.protocol }}
45+
protocol: {{ .Values.syslog.service.protocol }}
3946
command: ["/usr/sbin/syslog-ng", "-F", "-f", "/tmp/syslog-ng.conf", "--persist-file", "/config/syslog-ng.persist", "--pidfile=/config/syslog-ng.pid", "--control=/config/syslog-ng.ctl", "--stderr", "--no-caps"]
4047
volumeMounts:
4148
- name: config-volume
@@ -59,3 +66,4 @@ spec:
5966
tolerations:
6067
{{- toYaml . | nindent 8 }}
6168
{{- end }}
69+

charts/superstream/values.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ superstreamEngine:
111111
# The name of the service account to use.
112112
# If not set and create is true, a name is generated using the fullname template
113113
name: ""
114+
extraEnv: {}
115+
# Add custom environment variables below
116+
# - name: FEATURE_DP_FLAG
117+
# value: "enabled"
114118
service:
115119
enabled: true
116120
type: ClusterIP
@@ -177,6 +181,10 @@ autoScaler:
177181
# readOnlyRootFilesystem: true
178182
# runAsNonRoot: true
179183
# runAsUser: 1000
184+
extraEnv: {}
185+
# Add custom environment variables below
186+
# - name: FEATURE_AS_FLAG
187+
# value: "enabled"
180188
service:
181189
enabled: true
182190
type: ClusterIP
@@ -211,6 +219,10 @@ syslog:
211219
tag: "4.7.1" # Use a specific version to ensure consistency across deployments
212220
registry:
213221
imagePullSecrets: []
222+
extraEnv: {}
223+
# Add custom environment variables below
224+
# - name: FEATURE_SYSLOG_FLAG
225+
# value: "enabled"
214226
service:
215227
type: ClusterIP
216228
port: 5514
@@ -243,3 +255,4 @@ syslog:
243255
nodeSelector: {}
244256
tolerations: []
245257
affinity: {}
258+

version.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.4.19
1+
0.4.20

0 commit comments

Comments
 (0)