Skip to content

Commit 83bcf2b

Browse files
Documentation & updates for installer plugin (#49)
* rename directory * document plugin usage * simplify ATLAS & IceCube configs * Update helm docs * add respositories only when corresponding subcharts are enabled * fix docs * explain plugin flags * Update helm docs --------- Co-authored-by: GitHub Actions <[email protected]>
1 parent 7ebd778 commit 83bcf2b

File tree

10 files changed

+56
-72
lines changed

10 files changed

+56
-72
lines changed

README.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,19 @@ The main components of SuperSONIC are:
3131

3232
## Installation
3333

34+
The installation is done via a custom Helm plugin which takes care of
35+
internal connectivity of the chart components. Standard Helm installation
36+
is also supported, but requires a lot more manual configuration.
37+
3438
```
35-
helm repo add fastml https://fastmachinelearning.org/SuperSONIC
36-
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
37-
helm repo add grafana https://grafana.github.io/helm-charts
38-
helm repo update
39-
helm install <release-name> fastml/supersonic --values <your-values.yaml> -n <namespace>
39+
helm plugin install https://github.com/fastmachinelearning/SuperSONIC/
40+
helm install-supersonic <release-name> -n <namespace> -f <your-values.yaml>
4041
```
4142

43+
The new `helm install-supersonic` command accepts the same flags that can be passed to `helm install` command, and two additional flags:
44+
- `--local`: if set, the chart will be installed from the local directory specified by `--path` flag; if not set, the latest released version will be installed from the FastML Helm repository.
45+
- `--path`: optional path to the local chart directory (default if not set: `./helm/supersonic`).
46+
4247
To construct the `values.yaml` file for your application, follow [Configuration guide](http://fastmachinelearning.org/SuperSONIC/configuration-guide.html "Configuration guide").
4348

4449
The full list of configuration parameters is available in the [Configuration reference](http://fastmachinelearning.org/SuperSONIC/configuration-reference.html "Configuration reference").

docs/advanced-monitoring.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ will include an interactive server map, where you can study tracing data in deta
5151
by clicking on graph nodes.
5252

5353
You can also browse and display tracing data in Grafana as follows:
54+
5455
1. Create a new panel
5556
2. Select "Tempo" as the data source
5657
3. Select "Search" or "TraceQL" as the query type and switch panel to "Table view".
@@ -64,6 +65,8 @@ You can also browse and display tracing data in Grafana as follows:
6465
:width: 80%
6566
:alt: Grafana Tracing 1
6667

68+
|
69+
6770
.. image:: https://raw.githubusercontent.com/fastmachinelearning/SuperSONIC/main/docs/img/grafana_tracing_2.png
6871
:align: center
6972
:width: 80%

docs/getting-started.rst

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,31 @@ Installation
1919
- `Configuration reference <configuration-reference>`_
2020
- `Example values.yaml files <https://github.com/fastmachinelearning/SuperSONIC/tree/main/values>`_
2121

22-
2. Add Helm repositories for SuperSONIC and its dependencies:
22+
2. Install Helm plugin to handle SuperSONIC installation
2323

2424
.. code:: shell
2525
26-
helm repo add fastml https://fastmachinelearning.org/SuperSONIC
27-
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
28-
helm repo add grafana https://grafana.github.io/helm-charts
29-
helm repo update
26+
helm plugin install https://github.com/fastmachinelearning/SuperSONIC/
27+
28+
29+
The Helm plugin is needed to ensure internal connectivity of the SuperSONIC
30+
components. Standard Helm installation without a plugin is also supported,
31+
but requires a lot more manual configuration.
3032

3133
3. Modify the following command to install the chart at your cluster:
3234

3335
.. code:: shell
3436
35-
helm install <release-name> fastml/supersonic --values <your-values.yaml> -n <namespace>
37+
helm install-supersonic <release-name> -n <namespace> -f <your-values.yaml>
38+
39+
The new ``helm install-supersonic`` command accepts the same flags that
40+
can be passed to ``helm install`` command, and two additional flags:
41+
42+
- ``--local``: if set, the chart will be installed from the local directory
43+
specified by ``--path`` flag; if not set, the latest released version will
44+
be installed from the FastML Helm repository.
45+
- ``--path``: optional path to the local chart directory
46+
(default if not set: ``./helm/supersonic``).
3647

3748
Use a unique meaningful lowercase value as <release-name>, for example
3849
``supersonic-cms-run3``.

helm/supersonic/README.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,19 @@ The main components of SuperSONIC are:
3131

3232
## Installation
3333

34+
The installation is done via a custom Helm plugin which takes care of
35+
internal connectivity of the chart components. Standard Helm installation
36+
is also supported, but requires a lot more manual configuration.
37+
3438
```
35-
helm repo add fastml https://fastmachinelearning.org/SuperSONIC
36-
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
37-
helm repo add grafana https://grafana.github.io/helm-charts
38-
helm repo update
39-
helm install <release-name> fastml/supersonic --values <your-values.yaml> -n <namespace>
39+
helm plugin install https://github.com/fastmachinelearning/SuperSONIC/
40+
helm install-supersonic <release-name> -n <namespace> -f <your-values.yaml>
4041
```
4142

43+
The new `helm install-supersonic` command accepts the same flags that can be passed to `helm install` command, and two additional flags:
44+
- `--local`: if set, the chart will be installed from the local directory specified by `--path` flag; if not set, the latest released version will be installed from the FastML Helm repository.
45+
- `--path`: optional path to the local chart directory (default if not set: `./helm/supersonic`).
46+
4247
To construct the `values.yaml` file for your application, follow [Configuration guide](http://fastmachinelearning.org/SuperSONIC/configuration-guide.html "Configuration guide").
4348

4449
The full list of configuration parameters is available in the [Configuration reference](http://fastmachinelearning.org/SuperSONIC/configuration-reference.html "Configuration reference").

install-supersonic/installer.py renamed to installer-plugin/installer.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,15 @@ def main() -> None:
9292
chart_source = args.path if args.local else REPO_CHART
9393

9494
# Add dependencies
95-
repo_commands = [
96-
["helm", "repo", "add", "prometheus-community", "https://prometheus-community.github.io/helm-charts"],
97-
["helm", "repo", "add", "grafana", "https://grafana.github.io/helm-charts"],
98-
["helm", "repo", "add", "opentelemetry", "https://open-telemetry.github.io/opentelemetry-helm-charts"],
99-
["helm", "dependency", "build", chart_source]
100-
]
95+
repo_commands = []
96+
if merged_values.get("prometheus", {}).get("enabled", False):
97+
repo_commands.append(["helm", "repo", "add", "prometheus-community", "https://prometheus-community.github.io/helm-charts"])
98+
if merged_values.get("grafana", {}).get("enabled", False):
99+
repo_commands.append(["helm", "repo", "add", "grafana", "https://grafana.github.io/helm-charts"])
100+
if merged_values.get("opentelemetry-collector", {}).get("enabled", False):
101+
repo_commands.append(["helm", "repo", "add", "opentelemetry", "https://open-telemetry.github.io/opentelemetry-helm-charts"])
102+
repo_commands.append(["helm", "dependency", "build", chart_source])
103+
101104
for cmd in repo_commands:
102105
print(f"\nExecuting: {' '.join(cmd)}")
103106
subprocess.run(cmd, check=True)
File renamed without changes.
File renamed without changes.

plugin.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ name: "install-supersonic"
22
version: "0.1.0"
33
usage: "Installer for SuperSONIC Helm chart"
44
description: "A Helm plugin to install SuperSONIC chart with automatic values merging and template replacement"
5-
command: "./install-supersonic/installer.py"
5+
command: "./installer-plugin/installer.py"
66
hooks:
77
install: |
88
#!/bin/sh
9-
chmod +x ./install-supersonic/installer.py
9+
chmod +x ./installer-plugin/installer.py

values/values-nautilus-atlas.yaml

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -69,37 +69,16 @@ prometheus:
6969

7070
grafana:
7171
enabled: true
72-
datasources:
73-
datasources.yaml:
74-
apiVersion: 1
75-
datasources:
76-
- name: prometheus
77-
type: prometheus
78-
access: proxy
79-
isDefault: true
80-
url: https://prometheus.nrp-nautilus.io
81-
jsonData:
82-
timeInterval: "5s"
83-
tlsSkipVerify: true
72+
host: https://grafana-atlas.nrp-nautilus.io
8473
ingress:
8574
enabled: true
86-
hosts:
87-
- grafana-atlas.nrp-nautilus.io
88-
tls:
89-
- hosts:
90-
- grafana-atlas.nrp-nautilus.io
9175
ingressClassName: haproxy
9276
annotations:
9377
haproxy-ingress.github.io/cors-enable: "true"
94-
haproxy-ingress.github.io/backend-protocol: "h2"
9578
haproxy-ingress.github.io/proxy-body-size: "512m"
96-
grafana.ini:
97-
server:
98-
root_url: https://grafana-atlas.nrp-nautilus.io
99-
79+
haproxy-ingress.github.io/timeout-http-request: "5m"
10080
metricsCollector:
10181
enabled: true
102-
10382
ingress:
10483
enabled: true
10584
hostName: metrics-collector-atlas.nrp-nautilus.io
@@ -115,3 +94,4 @@ metricsCollector:
11594
haproxy-ingress.github.io/proxy-body-size: "512m"
11695
haproxy-ingress.github.io/ssl-redirect: "true"
11796
haproxy-ingress.github.io/secure-backends: "false"
97+

values/values-nautilus-icecube.yaml

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -87,34 +87,11 @@ prometheus:
8787

8888
grafana:
8989
enabled: true
90-
datasources:
91-
datasources.yaml:
92-
apiVersion: 1
93-
datasources:
94-
- name: prometheus
95-
type: prometheus
96-
access: proxy
97-
isDefault: true
98-
url: https://prometheus.nrp-nautilus.io
99-
jsonData:
100-
timeInterval: "5s"
101-
tlsSkipVerify: true
102-
103-
dashboardsConfigMaps:
104-
default: supersonic-grafana-default-dashboard
105-
90+
host: https://grafana-icecube.nrp-nautilus.io
10691
ingress:
10792
enabled: true
108-
hosts:
109-
- grafana-icecube.nrp-nautilus.io
110-
tls:
111-
- hosts:
112-
- grafana-icecube.nrp-nautilus.io
11393
ingressClassName: haproxy
11494
annotations:
11595
haproxy-ingress.github.io/cors-enable: "true"
11696
haproxy-ingress.github.io/backend-protocol: "h2"
117-
haproxy-ingress.github.io/proxy-body-size: "512m"
118-
grafana.ini:
119-
server:
120-
root_url: https://grafana-icecube.nrp-nautilus.io
97+
haproxy-ingress.github.io/proxy-body-size: "512m"

0 commit comments

Comments
 (0)