Skip to content

Commit

Permalink
Merge pull request #115 from superstreamlabs/staging
Browse files Browse the repository at this point in the history
Release
  • Loading branch information
valeraBr authored Jan 9, 2025
2 parents 45782f4 + 5da51af commit ca998c4
Show file tree
Hide file tree
Showing 7 changed files with 94 additions and 21 deletions.
27 changes: 26 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,20 @@ global:
superstreamAccountId: "" # Provide the account ID associated with the deployment, which could be used for identifying resources or configurations tied to a specific account.
superstreamActivationToken: "" # Enter the activation token required for services or resources that need an initial token for activation or authentication.
skipLocalAuthentication: true
onPrem: true
onPrem: true
## If your environment uses a proxy server, uncomment the lines below and replace the URL with your proxy server's address.
proxy:
enabled: false
proxyUrl: "https://your-proxy-server"


############################################################
# Superstream Control Plane config
############################################################
superstreamControlPlane:
# Configure the time when the samples will be taken (UTC)
# Default: 7:00 AM
utcHourToTakeSamples: ""
############################################################
# NATS config
############################################################
Expand All @@ -62,6 +69,23 @@ nats:
fileStore:
pvc:
storageClassName: ""
nats:
port: 4222
tls:
enabled: false
# set secretName in order to mount an existing secret to dir
secretName: ""
localCa:
enabled: false
secretName: ""
############################################################
# Postgresql config
############################################################
postgresql-ha:
# Postgresql storageClass configuration. The default is blank "".
persistence:
enable: true
storageClass: ""
############################################################
# Kafka Autoscaler config
############################################################
Expand Down Expand Up @@ -115,6 +139,7 @@ The following table lists the configurable parameters of the SuperStream chart a
| `superstreamControlPlane.image.registry` | Docker registry to use for pulling the control plane backend service images. | `""` |
| `superstreamControlPlane.secret.useExisting` | Determines whether to use an existing secret for the control plane. | `true` |
| `superstreamControlPlane.service.port` | Port for the control plane service. | `8888` |
| `utcHourToTakeSamples` | Configure the time when the samples will be taken (UTC) | `""` |
| `superstreamControlPlane.extraEnv` | A map of additional environment variables for the application. | `{}` |
| `superstreamControlPlane.userInterface.image.registry` | Docker registry to use for pulling the control plane UI service images. | `""` |
| `superstreamControlPlane.userInterface.extraEnv` | A map of additional environment variables for the application. | `{}` |
Expand Down
4 changes: 2 additions & 2 deletions charts/superstream/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.30
version: 0.1.31
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.0.820"
appVersion: "1.1.115"
icon: https://memphis-public-files.s3.eu-central-1.amazonaws.com/superstream_logo.png
dependencies:
- name: nats
Expand Down
56 changes: 45 additions & 11 deletions charts/superstream/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@
Reduce Costs and Boost Performance by 75% Without Changing a Single Component or Your Existing Kafka!</b>

</div>
This guide provides instructions for deploying the Superstream All-In-One distribution.

## Create secret with randomly generated passwords for the SSM
### The secret name cant be changed, will be fixed in coming release.
## Create Secrets with Randomly Generated Passwords for SSM
### The secret name `superstream-creds-control-plane` cannot be changed in the current release. This will be fixed in an upcoming release.
To create a secret for the Superstream with randomly generated passwords, run the following command:
```yaml
kubectl create secret generic superstream-creds-control-plane \
--from-literal=postgres-password=$(openssl rand -base64 16 | tr -dc 'a-zA-Z0-9') \
Expand All @@ -22,16 +24,15 @@ kubectl create secret generic superstream-creds-control-plane \
--from-literal=jwt-api-secret-key=$(openssl rand -base64 48 | tr -dc 'a-zA-Z0-9' | head -c32) \
-n superstream
```
### Note: The following records should be 32 characters long
### Note: The following keys should have a length of 32 characters:
- encryption-secret-key
- jwt-secret-key
- jwt-api-secret-key
- control-plane-token


## Configure Environment Tokens

For easiness, create `custom_values.yaml` file and edit the following values:
For a more straightforward configuration, create a `custom_values.yaml` file and edit the following values:
```yaml
############################################################
# GLOBAL configuration for Superstream Engine
Expand All @@ -48,6 +49,13 @@ global:
proxyUrl: "https://your-proxy-server"


############################################################
# Superstream Control Plane config
############################################################
superstreamControlPlane:
# Configure the time when the samples will be taken (UTC)
# Default: 7:00 AM
utcHourToTakeSamples: ""
############################################################
# NATS config
############################################################
Expand All @@ -61,28 +69,53 @@ nats:
fileStore:
pvc:
storageClassName: ""
nats:
port: 4222
tls:
enabled: false
# set secretName in order to mount an existing secret to dir
secretName: ""
localCa:
enabled: false
secretName: ""
############################################################
# Postgresql config
############################################################
postgresql-ha:
# Postgresql storageClass configuration. The default is blank "".
persistence:
enable: true
storageClass: ""
############################################################
# Kafka Autoscaler config
############################################################
# Optional service to automatically scale the Kafka cluster up/down based on CPU and memory metrics
autoScaler:
enabled: true
enabled: true
```
## Proxy Configuration
If your environment requires the use of a proxy server to connect to external services, you need to add the HTTPS_PROXY variable to the Telegraf configuration. This ensures that Telegraf can route its traffic through the specified proxy.
Additionally, ensure that your proxy server allows connectivity to the following endpoints:
If your environment requires a proxy server to connect to external services, set the global.proxy.enabled variable to true and provide the global.proxy.proxyUrl in the custom_values.yaml file. This configuration ensures that all critical services route traffic through the specified proxy.
Additionally, make sure your proxy server permits connectivity to the following endpoints:
* **Prometheus:** https://prometheus.mgmt.superstream.ai
* **Loki:** https://loki.mgmt.superstream.ai
* **Stigg** https://api.stigg.io
## Deployment Instructions
To deploy it, run the following:
To deploy the Superstream, run the following command:
```bash
helm repo add superstream https://k8s.superstream.ai/ --force-update && helm install superstream superstream/superstream -f custom_values.yaml --create-namespace --namespace superstream --wait
helm repo add superstream-onprem https://k8s-onprem.superstream.ai/ --force-update && helm upgrade --install superstream superstream-onprem/superstream-onprem -f custom_values.yaml --create-namespace --namespace superstream --wait
```

## Configure valid FQDN records
To use the Superstream User Interface, the following two FQDN records should be exposed under the same domain.
- Expose the Superstream Control Plane service. Using superstream-api at the beginning of the configured FQDN is a hard requirement.
Example: "superstream-api.example.com"
- Expose the Superstream Control Plane UI service.
Example: superstream-app.example.com
- Log in to the Superstream UI and connect your first Kafka cluster.

## Parameters
The following table lists the configurable parameters of the SuperStream chart and their default values:

Expand All @@ -106,6 +139,7 @@ The following table lists the configurable parameters of the SuperStream chart a
| `superstreamControlPlane.image.registry` | Docker registry to use for pulling the control plane backend service images. | `""` |
| `superstreamControlPlane.secret.useExisting` | Determines whether to use an existing secret for the control plane. | `true` |
| `superstreamControlPlane.service.port` | Port for the control plane service. | `8888` |
| `utcHourToTakeSamples` | Configure the time when the samples will be taken (UTC) | `""` |
| `superstreamControlPlane.extraEnv` | A map of additional environment variables for the application. | `{}` |
| `superstreamControlPlane.userInterface.image.registry` | Docker registry to use for pulling the control plane UI service images. | `""` |
| `superstreamControlPlane.userInterface.extraEnv` | A map of additional environment variables for the application. | `{}` |
Expand Down
7 changes: 7 additions & 0 deletions charts/superstream/custom_values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@ global:
proxyUrl: "https://your-proxy-server"


############################################################
# Superstream Control Plane config
############################################################
superstreamControlPlane:
# Configure the time when the samples will be taken (UTC)
# Default: 7:00 AM
utcHourToTakeSamples: ""
############################################################
# NATS config
############################################################
Expand Down
8 changes: 6 additions & 2 deletions charts/superstream/templates/deployment-control-plane.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,14 @@ spec:
value: '10'
- name: CH_MAX_OPEN_CONNS
value: '100'
- name: CH_CONN_MAX_LIFETIME
value: '300'
- name: TASKS_LAMBDA_NAME
value: {{ .Values.superstreamControlPlane.tasksLambdaName | default "bi_tasks_production" | quote }}
- name: CH_CONN_MAX_LIFETIME
value: '300'
- name: CLUSTER_PAGE_BI_DATA_LAMBDA_NAME
value: {{ .Values.superstreamControlPlane.clusterPageBiDataLambdaName | default "bi_savings_impact_simulator_production" | quote }}
- name: UTC_HOUR_TO_TAKE_SAMPLES
value: {{ .Values.superstreamControlPlane.utcHourToTakeSamples | default "7" | quote }}
- name: PORT
value: "8888"
- name: ON_PREM
Expand Down
11 changes: 7 additions & 4 deletions charts/superstream/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ superstreamControlPlane:
# Policy for pulling the image
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "1.0.820"
tag: "1.1.115"
registry:
imagePullSecrets: []
initContainers:
Expand All @@ -77,8 +77,11 @@ superstreamControlPlane:
encryptionSecretKey: ""
superstreamActivationToken: ""
useExisting: true
# Configure the time when the samples will be taken (UTC)
utcHourToTakeSamples: ""
environment: production
tasksLambdaName: ""
clusterPageBiDataLambdaName: ""
extraEnv: {}
# Add custom environment variables below
# - name: FEATURE_CP_FLAG
Expand All @@ -100,7 +103,7 @@ superstreamControlPlane:
# Policy for pulling the image
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "1.0.814"
tag: "1.1.107"
registry:
imagePullSecrets: []
initContainers:
Expand All @@ -127,7 +130,7 @@ superstreamEngine:
# Policy for pulling the image
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "1.0.804"
tag: "1.1.108"
registry:
imagePullSecrets: []
# Overrides for Helm's default naming conventions
Expand Down Expand Up @@ -235,7 +238,7 @@ autoScaler:
# Policy for pulling the image
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "1.0.806"
tag: "1.1.101"
podAnnotations:
prometheus.io/path: "/monitoring/metrics"
prometheus.io/scrape: 'true'
Expand Down
2 changes: 1 addition & 1 deletion version.conf
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.30
0.1.31

0 comments on commit ca998c4

Please sign in to comment.