openova/clusters/omantel.omani.works/bootstrap-kit/20-opentelemetry.yaml
e3mrah adebbddca6
feat(bootstrap-kit): observability batch — slots 20-26 (W2.K2) (#277)
Adds the 7 Tier-6 observability HelmReleases per
docs/BOOTSTRAP-KIT-EXPANSION-PLAN.md §2.4 (W2.K2 batch). Files added in
all three cluster directories (_template, omantel.omani.works,
otech.omani.works) and listed in each cluster's kustomization.yaml.

Slots:

| Slot | Blueprint            | dependsOn                                          |
|-----:|----------------------|----------------------------------------------------|
|   20 | bp-opentelemetry     | bp-cert-manager                                    |
|   21 | bp-alloy             | bp-opentelemetry                                   |
|   22 | bp-loki              | bp-seaweedfs                                       |
|   23 | bp-mimir             | bp-seaweedfs                                       |
|   24 | bp-tempo             | bp-seaweedfs                                       |
|   25 | bp-grafana           | bp-cnpg, bp-loki, bp-mimir, bp-tempo, bp-keycloak  |
|   26 | bp-langfuse          | bp-cnpg, bp-keycloak, bp-cert-manager              |

Pattern follows existing slot files (e.g. 11-powerdns, 13-bp-catalyst-
platform): Namespace + HelmRepository (oci://ghcr.io/openova-io,
ghcr-pull secret) + HelmRelease with disableWait: true on install and
upgrade per the locked decision in MEMORY/session-2026-04-30-handover.md
(disableWait avoids deadlock when downstream backends or CRDs are not
yet reconciled; runtime convergence is observed via kubectl, not gated
on Helm).

Validated with W2.K0's scripts/check-bootstrap-deps.sh — 0 drift, 0
cycles, all 21 declared slots match scripts/expected-bootstrap-deps.yaml.

Forward-prep notice for slot 26 (bp-langfuse): bp-langfuse:1.0.0 has
not yet published to ghcr.io/openova-io due to issue #215 (Helm v3.16 +
GHCR manifest 500 with nested OCI subchart deps). W1.G is the concurrent
track fixing the publish path. Until that lands, this HelmRelease will
fail to install with a chart-pull error; this is expected and the HR
file is committed now so Flux reconciles automatically once the OCI
artifact is published.

Refs: docs/BOOTSTRAP-KIT-EXPANSION-PLAN.md §2.4, §3.1, §4
Depends on (deferred — flagged in PR body): #215 (langfuse publish)

Co-authored-by: hatiyildiz <269457768+hatiyildiz@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 17:21:26 +04:00

75 lines
2.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# bp-opentelemetry — Catalyst Blueprint #20 (W2.K2 Observability batch).
# OpenTelemetry Collector — pipeline source for the LGTM stack
# (Loki / Mimir / Tempo). Receives OTLP from workloads and fans out
# logs → Loki, metrics → Mimir, traces → Tempo.
#
# Wrapper chart: platform/opentelemetry/chart/
# Reconciled by: Flux on the new Sovereign's k3s control plane, AFTER
# bp-cert-manager is Ready (the Collector's webhook /
# OTLP-HTTPS receiver request TLS certs from the cluster
# ClusterIssuer).
#
# dependsOn:
# - bp-cert-manager (slot 02) — TLS for OTLP-HTTPS receiver and any
# Collector webhooks.
#
# Hard-but-implicit dependencies (CRDs, NOT sibling Blueprints):
# - opentelemetry.io/v1beta1.OpenTelemetryCollector — provided by the
# OpenTelemetry Operator subchart bundled in this Blueprint.
#
# disableWait: the OTel Collector chart deploys multiple components
# (operator, collector DaemonSet/Deployment, instrumentation CR). Helm
# `--wait` would block on every Pod becoming Ready, which can't happen
# until downstream backends (Loki/Mimir/Tempo, slots 2224) are up to
# accept exports. The HelmRelease itself reports Ready as soon as
# manifests apply cleanly; runtime convergence is observed via kubectl.
---
apiVersion: v1
kind: Namespace
metadata:
name: opentelemetry
labels:
catalyst.openova.io/sovereign: omantel.omani.works
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: bp-opentelemetry
namespace: flux-system
spec:
type: oci
interval: 15m
url: oci://ghcr.io/openova-io
secretRef:
name: ghcr-pull
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: bp-opentelemetry
namespace: flux-system
spec:
interval: 15m
timeout: 15m
releaseName: opentelemetry
targetNamespace: opentelemetry
dependsOn:
- name: bp-cert-manager
chart:
spec:
chart: bp-opentelemetry
version: 1.0.0
sourceRef:
kind: HelmRepository
name: bp-opentelemetry
namespace: flux-system
install:
disableWait: true
remediation:
retries: 3
upgrade:
disableWait: true
remediation:
retries: 3