Skip to content

Commit 94872e7

Browse files
authored
Merge pull request #33 from memphisdev/staging
Release 1.3.0
2 parents 8976f8c + ce684d2 commit 94872e7

File tree

4 files changed

+122
-40
lines changed

4 files changed

+122
-40
lines changed

README.md

Lines changed: 116 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -166,29 +166,7 @@ After applying the Helmfile, you can verify the deployment by listing the Helm r
166166
helm list
167167
```
168168

169-
# Appendix A - Cluster Role Configuration
170-
171-
## In case a data plane deployed twice or more on the same K8S cluster
172-
173-
### Edit the following parameter `rbacClusterWide` in the environment section of the helmfile.yaml file
174-
```yaml
175-
environments:
176-
default:
177-
values:
178-
- ./environments/default.yaml
179-
- rbacCreate: true
180-
- rbacClusterWide: true
181-
```
182-
183-
### Update `telegraf` Cluster Role Binding with the additional namespace. Add the following to the `subjects` section. (edit namespace variable)
184-
```yaml
185-
subjects:
186-
- kind: ServiceAccount
187-
name: telegraf
188-
namespace: superstream-new-namespace
189-
```
190-
191-
# Appendix B - Non-HA Deployment
169+
# Appendix A - Non-HA Deployment
192170

193171
## For testing purposes only Superstream can be deployed without HA capabilities
194172

@@ -201,9 +179,9 @@ environments:
201179
- haDeployment: false
202180
```
203181

204-
# Appendix C - Superstream Update
182+
# Appendix B - Superstream Update
205183

206-
## Minor update
184+
## Minor update - X.X.1 -> X.X.2
207185

208186
### To update the Superstream Data Plane version, run the following steps.
209187

@@ -222,7 +200,7 @@ environments:
222200
helmfile -e default apply
223201
```
224202

225-
## Major update
203+
## Major update - X.1.X -> X.2.X
226204

227205
### The first step involves backing up your current `default.yaml` file. Following this, update your repository by pulling the latest changes from the master branch. Once updated, merge your backup values into the environments/default.yaml file. Continue with the process by following these instructions:
228206

@@ -253,7 +231,7 @@ helmfile -e default diff
253231
helmfile -e default apply
254232
```
255233

256-
# Appendix D - Uninstall
234+
# Appendix C - Uninstall
257235

258236
## Steps to Uninstall Superstream Data Plane Deployment.
259237

@@ -269,3 +247,114 @@ It's crucial to delete the stateful storage linked to the data plane. Ensure you
269247
```bash
270248
kubectl delete pvc -l app.kubernetes.io/instance=nats -n <NAMESPACE>
271249
```
250+
251+
# Appendix D - Custom changes to the helmfile
252+
253+
## StorageClass definition for NATS service
254+
255+
If there is no default storageClass configured for the Kubernetes cluster, it should be configured manually from the helmfile.yaml.
256+
257+
1. Open helmfile.yaml with preferred editor and navigate to the nats configuration section:
258+
259+
```yaml
260+
releases:
261+
- name: {{ .Values.natsReleaseName }}
262+
installed: true
263+
namespace: {{ .Values.namespace }}
264+
chart: nats/nats
265+
version: 1.1.7
266+
values:
267+
- container:
268+
image:
269+
tag: alpine3.19
270+
env:
271+
ACTIVATION_TOKEN:
272+
valueFrom:
273+
secretKeyRef:
274+
name: superstream-creds
275+
key: ACTIVATION_TOKEN
276+
- promExporter:
277+
enabled: true
278+
- natsBox:
279+
enabled: false
280+
- config:
281+
cluster:
282+
enabled: {{ .Values.haDeployment }}
283+
jetstream:
284+
enabled: true
285+
```
286+
287+
2. Add the following section after `jetsream.enabled` line and mention the name of the desired storageClass:
288+
289+
```yaml
290+
jetstream:
291+
enabled: true
292+
fileStore:
293+
pvc:
294+
storageClassName: <THE_NAME>
295+
```
296+
297+
3. Run the deployment
298+
299+
```bash
300+
helmfile -e default apply
301+
```
302+
303+
## Disable HPA - autoscalling ability of the Data Plane service
304+
305+
If no autoscaling CRD is configured for the Kubernetes cluster, it should be configured manually from the helmfile.yaml.
306+
307+
1. Open helmfile.yaml with preferred editor and navigate to the data plane(superstream) configuration section:
308+
309+
```yaml
310+
- name: {{ .Values.superstreamReleaseName }}
311+
installed: true
312+
namespace: {{ .Values.namespace }}
313+
chart: ./superstream
314+
values:
315+
- config.yaml
316+
- superstream:
317+
environment: {{ .Values.environment }}
318+
- dataPlane:
319+
image:
320+
repository: {{ .Values.imageRepo }}
321+
tag: {{ .Values.imageTag }}
322+
imagePullSecrets:
323+
- name: regcred
324+
secret:
325+
activationToken: {{ .Values.activationToken }}
326+
resources:
327+
requests:
328+
cpu: {{ .Values.requestCpu }}
329+
memory: {{ .Values.requestMemory }}
330+
controlPlane:
331+
host: {{ .Values.controlPlane }}
332+
internalNatsConnection:
333+
host: {{ .Values.natsReleaseName }}
334+
releaseDate: {{ .Values.releaseDate }}
335+
```
336+
337+
2. Add the following section at the end of the configuration file:
338+
339+
```yaml
340+
autoscaling:
341+
enabled: false
342+
```
343+
344+
Example:
345+
```yaml
346+
...
347+
controlPlane:
348+
host: {{ .Values.controlPlane }}
349+
internalNatsConnection:
350+
host: {{ .Values.natsReleaseName }}
351+
releaseDate: {{ .Values.releaseDate }}
352+
autoscaling:
353+
enabled: false
354+
```
355+
356+
3. Run the deployment
357+
358+
```bash
359+
helmfile -e default apply
360+
```

environments/default.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
helmVersion: 0.1.10 # Define the version of the superstream helm chart.
1+
helmVersion: 0.2.1 # Define the version of the superstream helm chart.
22
namespace: superstream # Specify the Kubernetes namespace where the resources will be deployed, isolating them within this designated namespace.
33
name: <DATAPLANE_NAME> # Define the data plane name within 32 characters, excluding '.', and using only letters, numbers, '-', and '_'.
44
accountId: "" # Provide the account ID that is associated with the deployment, which could be used for identifying resources or configurations tied to a specific account.

helmfile.yaml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@ environments:
1111
default:
1212
values:
1313
- ./environments/default.yaml
14-
- rbacCreate: true
15-
- rbacClusterWide: true
1614
- haDeployment: true
17-
- requestCpu: '4'
18-
- requestMemory: 4Gi
15+
- requestCpu: '2'
16+
- requestMemory: 2Gi
1917
- natsReleaseName: nats # Set the release name for the NATS deployment, which is used to uniquely identify the set of resources deployed for NATS.
2018
- superstreamReleaseName: superstream # Specify the release name for the Superstream deployment, uniquely identifying the resources for Superstream.
2119
- telegrafReleaseName: telegraf # Define the release name for the Telegraf deployment, used for identifying the Telegraf resources in the cluster.
@@ -32,11 +30,9 @@ releases:
3230
installed: true
3331
namespace: {{ .Values.namespace }}
3432
chart: nats/nats
35-
version: 1.1.7
33+
version: 1.1.10
3634
values:
3735
- container:
38-
image:
39-
tag: alpine3.19
4036
env:
4137
ACTIVATION_TOKEN:
4238
valueFrom:
@@ -75,15 +71,12 @@ releases:
7571
installed: true
7672
namespace: {{ .Values.namespace }}
7773
chart: influxdata/telegraf
78-
version: 1.8.42
74+
version: 1.8.43
7975
values:
8076
- rbac:
81-
create: {{ .Values.rbacCreate }}
82-
clusterWide: {{ .Values.rbacClusterWide }}
8377
rules:
8478
- apiGroups: [""]
8579
resources:
86-
- namespaces
8780
- services
8881
- endpoints
8982
- pods

version.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.2.1
1+
1.3.0

0 commit comments

Comments
 (0)