openova/clusters/omantel.omani.works/bootstrap-kit
e3mrah 0dbdf3b327
fix(bp-trivy): node-collector tolerates control-plane taint (closes #769) (#772)
PR #755 added `node-role.kubernetes.io/control-plane=true:NoSchedule` to
the CP node when worker_count > 0. Two bootstrap-kit charts have pods
that MUST land on the CP and lacked the matching toleration:

bp-trivy
  • node-collector: Pod pinned to each node via nodeSelector
    `kubernetes.io/hostname=<node>`. The CP-bound collector reads
    /var/lib/etcd, /var/lib/kubelet, /var/lib/kube-scheduler,
    /var/lib/kube-controller-manager via hostPath — these only exist
    on the CP. Without the toleration the collector sat Pending forever
    on otech93 (live evidence in #769).
  • scanJobTolerations: per-workload scan jobs the operator spawns may
    target pods on CP-only system DaemonSets (kube-system kube-proxy
    in non-Cilium mode, etc.). Adding the toleration here so reports
    are produced for those workloads too.

bp-alloy
  • DaemonSet — one pod MUST land on every node including the CP, so
    CP-local kubelet logs + node metrics flow into the LGTM stack.
    Without the toleration Alloy ran 3/4 nodes (Ready=N-1) on otech93
    and CP telemetry was silently lost.

Both tolerations are no-ops on solo Sovereigns (worker_count=0): the CP
is untainted in solo mode per PR #755's conditional.

Versions bumped:
  • bp-trivy 1.0.2 → 1.0.3 (Chart.yaml + 3× HelmRelease pins)
  • bp-alloy 1.0.0 → 1.0.1 (Chart.yaml + 3× HelmRelease pins)

Out of scope (audited, no change needed):
  • bp-cilium — upstream defaults already tolerate everything (verified
    on otech93: cilium DaemonSet at 4/4 nodes).
  • bp-falco — values.yaml already declares NoSchedule + NoExecute
    Exists tolerations (4/4 on otech93).
  • cnpg/harbor — no kubelet-cert-renew Jobs in current charts.

Verified:
  • `helm template` on both charts renders the expected toleration
    (alloy: pod-spec; trivy: trivy-operator-config ConfigMap consumed
     by the operator at scan-job spawn time).
  • `bash scripts/check-bootstrap-deps.sh` PASSED (no DAG drift).

Co-authored-by: hatiyildiz <hatiyildiz@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 17:38:29 +02:00
..
01-cilium.yaml infra(omantel): mirror bootstrap-kit version bumps + disableWait from PRs 246-250 (#253) 2026-04-30 17:05:04 +04:00
02-cert-manager.yaml infra(omantel): mirror bootstrap-kit version bumps + disableWait from PRs 246-250 (#253) 2026-04-30 17:05:04 +04:00
03-flux.yaml fix(bp-flux): catalyst-cluster-reconciler ClusterRoleBinding overlay (closes #338) (#393) 2026-05-01 15:56:45 +04:00
04-crossplane.yaml infra(omantel): mirror bootstrap-kit version bumps + disableWait from PRs 246-250 (#253) 2026-04-30 17:05:04 +04:00
05-sealed-secrets.yaml infra(omantel): mirror bootstrap-kit version bumps + disableWait from PRs 246-250 (#253) 2026-04-30 17:05:04 +04:00
06-spire.yaml infra(omantel): mirror bootstrap-kit version bumps + disableWait from PRs 246-250 (#253) 2026-04-30 17:05:04 +04:00
07-nats-jetstream.yaml infra(omantel): mirror bootstrap-kit version bumps + disableWait from PRs 246-250 (#253) 2026-04-30 17:05:04 +04:00
08-openbao.yaml infra(omantel): mirror bootstrap-kit version bumps + disableWait from PRs 246-250 (#253) 2026-04-30 17:05:04 +04:00
09-keycloak.yaml feat(bp-keycloak): Phase-8b sovereign realm — token-exchange, catalyst-ui/api-server OIDC clients, SMTP, bump 1.2.2 → 1.3.0 (#604) (#609) 2026-05-02 17:05:27 +04:00
10-gitea.yaml fix(bp-gitea+harbor): use CNPG inheritedMetadata to propagate reflector annotations to pg-app Secret (#595) 2026-05-02 15:37:48 +04:00
11-powerdns.yaml fix(tls): DNS-01 wildcard TLS chain — solverName pdns, NodePort 30053, dynadot test fix (#582) 2026-05-02 13:49:58 +04:00
12-external-dns.yaml fix(bp-external-dns): remove --pdns-api-version flag — unknown in v0.15.1 (Closes #587) (#589) 2026-05-02 15:20:00 +04:00
13-bp-catalyst-platform.yaml feat(catalyst-api): /auth/handover endpoint for seamless single-identity flow (Closes #606) (#612) 2026-05-02 17:34:26 +04:00
14-crossplane-claims.yaml infra(omantel): mirror bootstrap-kit version bumps + disableWait from PRs 246-250 (#253) 2026-04-30 17:05:04 +04:00
15-external-secrets.yaml fix(bp-external-secrets): gate ClusterSecretStore on CRD presence + drop delete-policy (#337) 2026-04-30 23:31:24 +04:00
16-cnpg.yaml feat(bootstrap-kit): storage+DB foundation batch — slots 15-19 (W2.K1; resolves #254) (#262) 2026-04-30 17:18:12 +04:00
17-valkey.yaml feat(bootstrap-kit): storage+DB foundation batch — slots 15-19 (W2.K1; resolves #254) (#262) 2026-04-30 17:18:12 +04:00
18-seaweedfs.yaml fix(bp-seaweedfs): remove trailing slash in registry — fixes double-slash image ref (Closes #568) (#576) 2026-05-02 13:02:48 +04:00
19-harbor.yaml fix(bp-harbor): convert harbor-database-secret to Helm pre-install hook (1.2.8) (#603) 2026-05-02 15:57:55 +04:00
20-opentelemetry.yaml feat(bootstrap-kit): observability batch — slots 20-26 (W2.K2) (#277) 2026-04-30 17:21:26 +04:00
21-alloy.yaml fix(bp-trivy): node-collector tolerates control-plane taint (closes #769) (#772) 2026-05-04 17:38:29 +02:00
22-loki.yaml feat(bootstrap-kit): observability batch — slots 20-26 (W2.K2) (#277) 2026-04-30 17:21:26 +04:00
23-mimir.yaml feat(bootstrap-kit): observability batch — slots 20-26 (W2.K2) (#277) 2026-04-30 17:21:26 +04:00
24-tempo.yaml feat(bootstrap-kit): observability batch — slots 20-26 (W2.K2) (#277) 2026-04-30 17:21:26 +04:00
25-grafana.yaml feat(bp-grafana): chart-verified — smoke OK on contabo + per-Sovereign overlay drift fix (closes #381) (#416) 2026-05-01 16:55:07 +04:00
26-langfuse.yaml feat(bootstrap-kit): observability batch — slots 20-26 (W2.K2) (#277) 2026-04-30 17:21:26 +04:00
27-kyverno.yaml feat(bootstrap-kit): security+policy batch — slots 27-34 (W2.K3) (#276) 2026-04-30 17:22:34 +04:00
28-reloader.yaml feat(bootstrap-kit): security+policy batch — slots 27-34 (W2.K3) (#276) 2026-04-30 17:22:34 +04:00
29-vpa.yaml feat(bootstrap-kit): security+policy batch — slots 27-34 (W2.K3) (#276) 2026-04-30 17:22:34 +04:00
30-trivy.yaml fix(bp-trivy): node-collector tolerates control-plane taint (closes #769) (#772) 2026-05-04 17:38:29 +02:00
31-falco.yaml feat(bootstrap-kit): security+policy batch — slots 27-34 (W2.K3) (#276) 2026-04-30 17:22:34 +04:00
32-sigstore.yaml feat(bootstrap-kit): security+policy batch — slots 27-34 (W2.K3) (#276) 2026-04-30 17:22:34 +04:00
33-syft-grype.yaml feat(bootstrap-kit): security+policy batch — slots 27-34 (W2.K3) (#276) 2026-04-30 17:22:34 +04:00
34-velero.yaml wip(#425): vendor-agnostic OS rename — partial (rate-limited mid-run) (#435) 2026-05-01 18:05:19 +04:00
35-coraza.yaml feat(bootstrap-kit): edge + apps + AI batch — slot 35 (W2.K4) (#261) 2026-04-30 17:23:59 +04:00
kustomization.yaml feat(bootstrap-kit): edge + apps + AI batch — slot 35 (W2.K4) (#261) 2026-04-30 17:23:59 +04:00