Skip to content

Commit 360f50b

Browse files
committed
Refactor and enhance mb3r-stack integration bundle
- Updated Makefile to include new smoke and end-to-end test targets for generic and OpenTelemetry scenarios. - Revised README to reflect changes in the integration bundle, including new chart name and installation instructions. - Introduced `mb3r-stack` Helm chart with configuration for Bering and Sheaft, including deployment and service templates. - Added collector snippets and Prometheus scrape configurations for better observability. - Updated compatibility and stack manifest files to align with the new bundle structure and naming conventions. - Removed the OpenTelemetry demo documentation in favor of a more generic getting started guide.
1 parent c06771c commit 360f50b

55 files changed

Lines changed: 786 additions & 395 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,25 @@
11
PYTHON ?= python
22

3-
.PHONY: lint validate smoke-otel-demo package-assets chart-package release-dry-run stack-manifest
3+
.PHONY: lint validate smoke-generic e2e-generic smoke-otel-demo e2e-otel-demo package-assets chart-package release-dry-run stack-manifest
44

55
lint:
66
$(PYTHON) scripts/tasks.py lint
77

88
validate:
99
$(PYTHON) scripts/tasks.py validate
1010

11+
smoke-generic:
12+
$(PYTHON) scripts/tasks.py smoke-generic
13+
14+
e2e-generic:
15+
$(PYTHON) scripts/tasks.py e2e-generic
16+
1117
smoke-otel-demo:
1218
$(PYTHON) scripts/tasks.py smoke-otel-demo
1319

20+
e2e-otel-demo:
21+
$(PYTHON) scripts/tasks.py e2e-otel-demo
22+
1423
package-assets:
1524
$(PYTHON) scripts/tasks.py package-assets
1625

README.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
It is not a third core engine and it does not vendor Bering or Sheaft source code. This repository sits above the upstream products and owns the bundle layer:
66

77
- stack-level compatibility metadata
8-
- OCI-distributed Helm installation for the addon bundle
9-
- OpenTelemetry collector integration overlays
8+
- OCI-distributed Helm installation for the generic stack bundle
9+
- OTLP and artifact handoff integration helpers
1010
- versioned dashboards and observability examples
1111
- reusable CI adapters for GitHub, GitLab, and Jenkins
1212

1313
## What This Repo Releases
1414

1515
A stack release publishes:
1616

17-
- an OCI-publishable Helm chart: `mb3r-otel-addon`
17+
- an OCI-publishable Helm chart: `mb3r-stack`
1818
- a packaged asset archive with `collector/`, `dashboards/`, and `examples/`
1919
- `stack-manifest.json`
2020
- `compatibility-matrix.json`
@@ -37,9 +37,10 @@ Current bundle candidate pins published upstream artifacts explicitly: Bering `0
3737

3838
- `charts/` Helm bundle chart source.
3939
- `compat/` stack manifest and machine-readable compatibility matrix.
40-
- `collector/` OpenTelemetry collector snippets and overlays.
40+
- `collector/` generic OTLP/collector snippets.
4141
- `dashboards/` versioned Grafana dashboard JSON.
42-
- `examples/` example values files and CI consumer examples.
42+
- `examples/profiles/` reusable profile-specific values and optional collector patches.
43+
- `examples/` also contains CI consumer examples.
4344
- `ci/github/` GitHub adapter docs and notes.
4445
- `ci/gitlab/` GitLab adapter docs; catalog-compatible components live in top-level `templates/`.
4546
- `ci/jenkins/` Jenkins Shared Library base path.
@@ -62,6 +63,10 @@ Primary local entrypoints:
6263
```bash
6364
make lint
6465
make validate
66+
make smoke-generic
67+
make e2e-generic
68+
make smoke-otel-demo
69+
make e2e-otel-demo
6570
make stack-manifest
6671
make chart-package
6772
make package-assets
@@ -72,12 +77,13 @@ Direct Python equivalents are also available:
7277

7378
```bash
7479
python scripts/tasks.py validate
80+
python scripts/tasks.py e2e-generic
7581
python scripts/tasks.py release-dry-run
7682
```
7783

7884
## Compatibility Notes
7985

80-
The compatibility files in `compat/` are the source of truth for stack-level assertions. The current `0.1.0` bundle is recorded as a `candidate` integration statement backed by upstream release manifests and Sheaft's published compatibility manifest, not as a broader verified operations guarantee.
86+
The compatibility files in `compat/` are the source of truth for stack-level assertions. The current `0.1.0` bundle is recorded as a `candidate` integration statement backed by upstream release manifests and Sheaft's published compatibility manifest, not as a broader verified operations guarantee. OpenTelemetry Demo remains one example profile and one acceptance scenario, not the design center of the core bundle.
8187

8288
## License
8389

RELEASING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The canonical source of truth is the local `dist/` payload plus `dist/release-ma
88

99
Each stack release is expected to publish:
1010

11-
- `mb3r-otel-addon-<version>.tgz`
11+
- `mb3r-stack-<version>.tgz`
1212
- `mb3r-assets-<version>.tgz`
1313
- `stack-manifest.json`
1414
- `compatibility-matrix.json`
@@ -52,7 +52,7 @@ GitHub release automation consumes those scripts to:
5252
The chart is intended to be pushed with Helm to an OCI registry:
5353

5454
```bash
55-
helm push dist/charts/mb3r-otel-addon-<version>.tgz oci://<registry>/<namespace>/charts
55+
helm push dist/charts/mb3r-stack-<version>.tgz oci://<registry>/<namespace>/charts
5656
```
5757

5858
Local dry runs do not require Helm, but CI installs Helm and performs `helm lint` plus OCI publication on release tags.

VERSIONING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
The `mb3r-stack` version covers:
88

9-
- the `mb3r-otel-addon` chart version
9+
- the `mb3r-stack` chart version
1010
- the stack manifest contract
1111
- the compatibility matrix format and assertions
1212
- the packaged collector, dashboard, and example asset packs
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
apiVersion: v2
2-
name: mb3r-otel-addon
3-
description: Integration bundle that wires upstream Bering and Sheaft releases into an existing OpenTelemetry-enabled Kubernetes environment.
2+
name: mb3r-stack
3+
description: Generic integration bundle that wires upstream Bering and Sheaft into OTLP-based or artifact-based Kubernetes environments.
44
type: application
55
version: 0.1.0
66
appVersion: "0.1.0"
77
keywords:
88
- mb3r
9-
- otel
9+
- otlp
10+
- artifacts
1011
- observability
1112
- bering
1213
- sheaft
File renamed without changes.

charts/mb3r-otel-addon/templates/NOTES.txt renamed to charts/mb3r-stack/templates/NOTES.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ mb3r-stack installs integration-layer assets only.
77

88
{{- if and .Values.collector.snippets.enabled (or .Values.collector.targetEndpoint .Values.bering.enabled) }}
99
Collector snippets ConfigMap:
10-
{{ default (printf "%s-collector-snippets" (include "mb3r-otel-addon.fullname" .)) .Values.collector.snippets.name }}
10+
{{ default (printf "%s-collector-snippets" (include "mb3r-stack.fullname" .)) .Values.collector.snippets.name }}
1111
{{- else }}
1212
Collector snippets are disabled.
1313
{{- end }}
1414

1515
{{- if .Values.grafanaDashboards.enabled }}
1616
Grafana provider hook ConfigMap:
17-
{{ include "mb3r-otel-addon.fullname" . }}-grafana-provider
17+
{{ include "mb3r-stack.fullname" . }}-grafana-provider
1818
{{- end }}
Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
{{- define "mb3r-otel-addon.name" -}}
1+
{{- define "mb3r-stack.name" -}}
22
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
33
{{- end -}}
44

5-
{{- define "mb3r-otel-addon.fullname" -}}
5+
{{- define "mb3r-stack.fullname" -}}
66
{{- if .Values.fullnameOverride -}}
77
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
88
{{- else -}}
9-
{{- printf "%s-%s" .Release.Name (include "mb3r-otel-addon.name" .) | trunc 63 | trimSuffix "-" -}}
9+
{{- printf "%s-%s" .Release.Name (include "mb3r-stack.name" .) | trunc 63 | trimSuffix "-" -}}
1010
{{- end -}}
1111
{{- end -}}
1212

13-
{{- define "mb3r-otel-addon.labels" -}}
14-
app.kubernetes.io/name: {{ include "mb3r-otel-addon.name" . }}
13+
{{- define "mb3r-stack.labels" -}}
14+
app.kubernetes.io/name: {{ include "mb3r-stack.name" . }}
1515
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
1616
app.kubernetes.io/instance: {{ .Release.Name }}
1717
app.kubernetes.io/managed-by: {{ .Release.Service }}
@@ -20,12 +20,12 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
2020
{{- end }}
2121
{{- end -}}
2222

23-
{{- define "mb3r-otel-addon.selectorLabels" -}}
24-
app.kubernetes.io/name: {{ include "mb3r-otel-addon.name" . }}
23+
{{- define "mb3r-stack.selectorLabels" -}}
24+
app.kubernetes.io/name: {{ include "mb3r-stack.name" . }}
2525
app.kubernetes.io/instance: {{ .Release.Name }}
2626
{{- end -}}
2727

28-
{{- define "mb3r-otel-addon.resolveImage" -}}
28+
{{- define "mb3r-stack.resolveImage" -}}
2929
{{- $root := .root -}}
3030
{{- $image := .image -}}
3131
{{- $registry := coalesce $image.registry $root.Values.global.imageRegistry -}}
@@ -45,51 +45,67 @@ app.kubernetes.io/instance: {{ .Release.Name }}
4545
{{- end -}}
4646
{{- end -}}
4747

48-
{{- define "mb3r-otel-addon.beringConfigMapName" -}}
48+
{{- define "mb3r-stack.beringConfigMapName" -}}
4949
{{- if .Values.bering.config.existingConfigMap -}}
5050
{{- .Values.bering.config.existingConfigMap -}}
5151
{{- else -}}
52-
{{- printf "%s-bering-config" (include "mb3r-otel-addon.fullname" .) -}}
52+
{{- printf "%s-bering-config" (include "mb3r-stack.fullname" .) -}}
5353
{{- end -}}
5454
{{- end -}}
5555

56-
{{- define "mb3r-otel-addon.sheaftConfigMapName" -}}
56+
{{- define "mb3r-stack.sheaftConfigMapName" -}}
5757
{{- if .Values.sheaft.config.existingConfigMap -}}
5858
{{- .Values.sheaft.config.existingConfigMap -}}
5959
{{- else -}}
60-
{{- printf "%s-sheaft-config" (include "mb3r-otel-addon.fullname" .) -}}
60+
{{- printf "%s-sheaft-config" (include "mb3r-stack.fullname" .) -}}
6161
{{- end -}}
6262
{{- end -}}
6363

64-
{{- define "mb3r-otel-addon.artifactPVCName" -}}
65-
{{- printf "%s-artifacts" (include "mb3r-otel-addon.fullname" .) -}}
64+
{{- define "mb3r-stack.artifactPVCName" -}}
65+
{{- printf "%s-artifacts" (include "mb3r-stack.fullname" .) -}}
6666
{{- end -}}
6767

68-
{{- define "mb3r-otel-addon.artifactVolumeSource" -}}
68+
{{- define "mb3r-stack.artifactVolumeSource" -}}
6969
{{- if eq .Values.artifacts.volume.type "persistentVolumeClaim" -}}
7070
persistentVolumeClaim:
71-
claimName: {{ default (include "mb3r-otel-addon.artifactPVCName" .) .Values.artifacts.volume.existingClaim }}
71+
claimName: {{ default (include "mb3r-stack.artifactPVCName" .) .Values.artifacts.volume.existingClaim }}
7272
{{- else -}}
7373
emptyDir: {}
7474
{{- end -}}
7575
{{- end -}}
7676

77-
{{- define "mb3r-otel-addon.beringHttpListenAddress" -}}
77+
{{- define "mb3r-stack.beringHttpListenAddress" -}}
7878
{{- default (printf ":%v" (.Values.bering.service.ports.http.targetPort | int)) .Values.bering.config.server.listenAddress -}}
7979
{{- end -}}
8080

81-
{{- define "mb3r-otel-addon.beringGrpcListenAddress" -}}
81+
{{- define "mb3r-stack.beringGrpcListenAddress" -}}
8282
{{- if .Values.bering.service.ports.grpc.enabled -}}
8383
{{- default (printf ":%v" (.Values.bering.service.ports.grpc.targetPort | int)) .Values.bering.config.server.grpcListenAddress -}}
8484
{{- else -}}
8585
{{- default "" .Values.bering.config.server.grpcListenAddress -}}
8686
{{- end -}}
8787
{{- end -}}
8888

89-
{{- define "mb3r-otel-addon.beringEndpoint" -}}
89+
{{- define "mb3r-stack.beringServiceName" -}}
90+
{{- printf "%s-bering" (include "mb3r-stack.fullname" .) -}}
91+
{{- end -}}
92+
93+
{{- define "mb3r-stack.sheaftServiceName" -}}
94+
{{- printf "%s-sheaft" (include "mb3r-stack.fullname" .) -}}
95+
{{- end -}}
96+
97+
{{- define "mb3r-stack.beringPublicServiceName" -}}
98+
{{- default (include "mb3r-stack.beringServiceName" .) .Values.bering.service.publicName -}}
99+
{{- end -}}
100+
101+
{{- define "mb3r-stack.sheaftPublicServiceName" -}}
102+
{{- default (include "mb3r-stack.sheaftServiceName" .) .Values.sheaft.service.publicName -}}
103+
{{- end -}}
104+
105+
{{- define "mb3r-stack.beringEndpoint" -}}
90106
{{- if .Values.collector.targetEndpoint -}}
91107
{{ .Values.collector.targetEndpoint }}
92108
{{- else -}}
93-
{{ printf "http://%s-bering:%v" (include "mb3r-otel-addon.fullname" .) (.Values.bering.service.ports.http.port | int) }}
109+
{{ printf "http://%s:%v" (include "mb3r-stack.beringPublicServiceName" .) (.Values.bering.service.ports.http.port | int) }}
94110
{{- end -}}
95111
{{- end -}}

charts/mb3r-otel-addon/templates/artifact-pvc.yaml renamed to charts/mb3r-stack/templates/artifact-pvc.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
apiVersion: v1
33
kind: PersistentVolumeClaim
44
metadata:
5-
name: {{ include "mb3r-otel-addon.artifactPVCName" . }}
5+
name: {{ include "mb3r-stack.artifactPVCName" . }}
66
labels:
7-
{{- include "mb3r-otel-addon.labels" . | nindent 4 }}
7+
{{- include "mb3r-stack.labels" . | nindent 4 }}
88
spec:
99
accessModes:
1010
{{- toYaml .Values.artifacts.volume.accessModes | nindent 4 }}

charts/mb3r-otel-addon/templates/bering-configmap.yaml renamed to charts/mb3r-stack/templates/bering-configmap.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
apiVersion: v1
33
kind: ConfigMap
44
metadata:
5-
name: {{ include "mb3r-otel-addon.beringConfigMapName" . }}
5+
name: {{ include "mb3r-stack.beringConfigMapName" . }}
66
labels:
7-
{{- include "mb3r-otel-addon.labels" . | nindent 4 }}
7+
{{- include "mb3r-stack.labels" . | nindent 4 }}
88
app.kubernetes.io/component: bering
99
data:
1010
{{ .Values.bering.config.fileName }}: |
1111
server:
12-
listen_address: {{ include "mb3r-otel-addon.beringHttpListenAddress" . | quote }}
13-
grpc_listen_address: {{ include "mb3r-otel-addon.beringGrpcListenAddress" . | quote }}
12+
listen_address: {{ include "mb3r-stack.beringHttpListenAddress" . | quote }}
13+
grpc_listen_address: {{ include "mb3r-stack.beringGrpcListenAddress" . | quote }}
1414
max_request_bytes: {{ .Values.bering.config.server.maxRequestBytes | int }}
1515
runtime:
1616
flush_interval: {{ .Values.bering.config.runtime.flushInterval | quote }}

0 commit comments

Comments
 (0)