@@ -15,6 +15,8 @@ A Kustomize-based repository for deploying the StreamsHub event-streaming stack
1515| StreamsHub Console Operator | ` streamshub-console ` | Manages console instances |
1616| StreamsHub Console instance | ` streamshub-console ` | Web UI for Kafka management |
1717
18+ > ** Optional:** The [ metrics overlay] ( #install-with-metrics ) adds Prometheus Operator, a Prometheus instance, and Kafka metrics collection via PodMonitors.
19+
1820## Prerequisites
1921
2022- ` kubectl ` v1.27 or later (for Kustomize v5.0 ` labels ` transformer support)
@@ -39,6 +41,7 @@ The install script accepts the following environment variables:
3941| ----------| ---------| -------------|
4042| ` REPO ` | ` streamshub/developer-quickstart ` | GitHub repository path |
4143| ` REF ` | ` main ` | Git ref, branch, or tag |
44+ | ` OVERLAY ` | * (empty)* | Overlay to apply (e.g. ` metrics ` ) |
4245| ` TIMEOUT ` | ` 120s ` | ` kubectl wait ` timeout |
4346
4447Example with a pinned version:
@@ -47,14 +50,24 @@ Example with a pinned version:
4750curl -sL https://raw.githubusercontent.com/streamshub/developer-quickstart/main/install.sh | REF=v1.0.0 bash
4851```
4952
53+ ### Install with Metrics
54+
55+ Deploy the stack with Prometheus metrics collection:
56+
57+ ``` shell
58+ curl -sL https://raw.githubusercontent.com/streamshub/developer-quickstart/main/install.sh | OVERLAY=metrics bash
59+ ```
60+
61+ This adds the Prometheus Operator and a Prometheus instance (namespace: ` monitoring ` ), enables Kafka metrics via [ Strimzi Metrics Reporter] ( https://strimzi.io/docs/operators/latest/deploying#proc-metrics-kafka-str ) , and wires Console to display metrics.
62+
5063## Manual Install
5164
5265If you prefer to control each step, the stack is installed in two phases:
5366
5467### Phase 1 — Operators and CRDs
5568
5669``` shell
57- kubectl apply -k ' https://github.com/streamshub/developer-quickstart//base?ref=main'
70+ kubectl apply -k ' https://github.com/streamshub/developer-quickstart//overlays/core/ base?ref=main'
5871```
5972
6073Wait for the operators to become ready:
@@ -68,7 +81,23 @@ kubectl wait --for=condition=Available deployment/streamshub-console-operator -n
6881### Phase 2 — Operands
6982
7083``` shell
71- kubectl apply -k ' https://github.com/streamshub/developer-quickstart//stack?ref=main'
84+ kubectl apply -k ' https://github.com/streamshub/developer-quickstart//overlays/core/stack?ref=main'
85+ ```
86+
87+ ### Manual Install with Metrics
88+
89+ To include the metrics overlay, use the ` overlays/metrics ` paths instead of ` overlays/core ` .
90+
91+ ``` shell
92+ # Phase 1
93+ kubectl create -k ' https://github.com/streamshub/developer-quickstart//overlays/metrics/base?ref=main'
94+ kubectl wait --for=condition=Available deployment/prometheus-operator -n monitoring --timeout=120s
95+ kubectl wait --for=condition=Available deployment/strimzi-cluster-operator -n strimzi --timeout=120s
96+ kubectl wait --for=condition=Available deployment/apicurio-registry-operator -n apicurio-registry --timeout=120s
97+ kubectl wait --for=condition=Available deployment/streamshub-console-operator -n streamshub-console --timeout=120s
98+
99+ # Phase 2
100+ kubectl apply -k ' https://github.com/streamshub/developer-quickstart//overlays/metrics/stack?ref=main'
72101```
73102
74103## Accessing the Console
@@ -142,6 +171,9 @@ The uninstall script handles safe teardown with shared-cluster safety checks:
142171
143172``` shell
144173curl -sL https://raw.githubusercontent.com/streamshub/developer-quickstart/main/uninstall.sh | bash
174+
175+ # If installed with the metrics overlay:
176+ curl -sL https://raw.githubusercontent.com/streamshub/developer-quickstart/main/uninstall.sh | OVERLAY=metrics bash
145177```
146178
147179The script:
@@ -156,7 +188,7 @@ The script:
156188** Phase 1 — Delete operands:**
157189
158190``` shell
159- kubectl delete -k ' https://github.com/streamshub/developer-quickstart//stack?ref=main'
191+ kubectl delete -k ' https://github.com/streamshub/developer-quickstart//overlays/core/ stack?ref=main'
160192```
161193
162194Wait for all custom resources to be fully removed before proceeding.
@@ -169,9 +201,11 @@ Wait for all custom resources to be fully removed before proceeding.
169201> ` ` `
170202
171203` ` ` shell
172- kubectl delete -k ' https://github.com/streamshub/developer-quickstart//base?ref=main'
204+ kubectl delete -k ' https://github.com/streamshub/developer-quickstart//overlays/core/ base?ref=main'
173205```
174206
207+ For the metrics overlay, use ` overlays/metrics/base ` and ` overlays/metrics/stack ` instead.
208+
175209### Finding Quick-Start Resources
176210
177211All resources carry the label ` app.kubernetes.io/part-of=streamshub-developer-quickstart ` :
@@ -201,7 +235,7 @@ Use the `update-version.sh` script to update component versions:
201235./update-version.sh strimzi 0.52.0
202236```
203237
204- Supported components: ` strimzi ` , ` apicurio-registry ` , ` streamshub-console `
238+ Supported components: ` strimzi ` , ` apicurio-registry ` , ` streamshub-console ` , ` prometheus-operator `
205239
206240### Testing scripts locally
207241
@@ -229,17 +263,25 @@ LOCAL_DIR=/home/user/repos/developer-quickstart ./install.sh
229263## Repository Structure
230264
231265```
232- base/ # Phase 1: Operators & CRDs
233- ├── kustomization.yaml # Composes all operator sub-components
234- ├── strimzi-operator/ # Strimzi Kafka Operator
235- ├── apicurio-registry-operator/ # Apicurio Registry Operator
236- └── streamshub-console-operator/ # StreamsHub Console Operator
237-
238- stack/ # Phase 2: Operands (Custom Resources)
239- ├── kustomization.yaml # Composes all operand sub-components
240- ├── kafka/ # Single-node Kafka cluster
241- ├── apicurio-registry/ # In-memory registry instance
242- └── streamshub-console/ # Console instance
243-
244- overlays/ # Future: variant configurations
266+ components/ # Reusable Kustomize components
267+ ├── core/ # Core stack component
268+ │ ├── base/ # Operators & CRDs
269+ │ │ ├── strimzi-operator/ # Strimzi Kafka Operator
270+ │ │ ├── apicurio-registry-operator/ # Apicurio Registry Operator
271+ │ │ └── streamshub-console-operator/ # StreamsHub Console Operator
272+ │ └── stack/ # Operands (Custom Resources)
273+ │ ├── kafka/ # Single-node Kafka cluster
274+ │ ├── apicurio-registry/ # In-memory registry instance
275+ │ └── streamshub-console/ # Console instance
276+ └── metrics/ # Prometheus metrics component
277+ ├── base/ # Prometheus Operator
278+ └── stack/ # Prometheus instance, PodMonitors, patches
279+
280+ overlays/ # Deployable configurations
281+ ├── core/ # Default install (core only)
282+ │ ├── base/ # Phase 1: Operators & CRDs
283+ │ └── stack/ # Phase 2: Operands
284+ └── metrics/ # Core + Prometheus metrics
285+ ├── base/ # Phase 1: Operators & CRDs + Prometheus Operator
286+ └── stack/ # Phase 2: Operands + Prometheus instance & monitors
245287```
0 commit comments