Skip to content

fix(logging): split into logging-operator + logging-config kustomizations#153

Merged
Varashi merged 1 commit into
mainfrom
fix/logging-split-ks
May 27, 2026
Merged

fix(logging): split into logging-operator + logging-config kustomizations#153
Varashi merged 1 commit into
mainfrom
fix/logging-split-ks

Conversation

@Varashi
Copy link
Copy Markdown
Owner

@Varashi Varashi commented May 27, 2026

Hotfix for the cluster-degraded state from #152. Mirrors the cert-manager / certs split pattern already in this repo. Single Flux Kustomization can't apply CRs and CRDs in one pass — Logging CR was failing on no matches for kind Logging. Splitting into operator-ks (ships HR + CRDs) + config-ks (dependsOn: logging-operator, ships CRs) resolves the ordering. Cluster currently has no log forwarding — merge ASAP.

Summary by CodeRabbit

  • Chores
    • Reorganized logging infrastructure components into separate, modular deployments for improved maintainability and clearer separation of concerns between the logging operator and logging configuration.

Review Change Stack

…stomizations

PR #152 landed but the single Flux Kustomization failed at first
apply: the Logging/ClusterFlow/ClusterOutput CRs reference CRDs
that don't exist until the logging-operator HelmRelease completes,
so the whole kustomization stalled on "no matches for kind Logging
in version logging.banzaicloud.io/v1beta1". Cluster currently has
NO log forwarding (old fluent-bit gone, new operator never
installed).

Split mirrors the cert-manager / certs pattern already in this
repo:

  platform/logging/
  ├── logging-operator/   (ks: no CRD deps; ships HR + CRDs)
  │   └── app/
  │       ├── namespace.yaml
  │       ├── helmrelease-operator.yaml
  │       └── kustomization.yaml
  └── logging-config/     (ks: dependsOn logging-operator; ships CRs)
      └── app/
          ├── logging.yaml
          ├── clusteroutput-vcflogs.yaml
          ├── clusterflow-all.yaml
          ├── README.md
          └── kustomization.yaml

Flux's dependsOn + `wait: true` makes logging-config sit out until
logging-operator reports Ready, which only happens after the HR
finishes (CRDs registered, controller pod healthy).

Parent platform/kustomization.yaml lists both ks paths.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Varashi Varashi merged commit 1932b35 into main May 27, 2026
@Varashi Varashi deleted the fix/logging-split-ks branch May 27, 2026 06:53
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 71a91fcd-1b4e-4089-b5a9-760b64d67821

📥 Commits

Reviewing files that changed from the base of the PR and between 0903a16 and 58da6b8.

⛔ Files ignored due to path filters (1)
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/app/README.md is excluded by !**/*.md
📒 Files selected for processing (12)
  • cluster-talos/kubernetes/infrastructure/platform/kustomization.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/app/kustomization.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/ks.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/app/clusterflow-all.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/app/clusteroutput-vcflogs.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/app/kustomization.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/app/logging.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/ks.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-operator/app/helmrelease-operator.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-operator/app/kustomization.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-operator/app/namespace.yaml
  • cluster-talos/kubernetes/infrastructure/platform/logging/logging-operator/ks.yaml

📝 Walkthrough

Walkthrough

PR restructures logging infrastructure from a single Flux Kustomization into two separate components: logging-operator (operator HelmRelease setup) and logging-config (logging pipeline resources). Platform kustomization updated to reference both new resources with explicit dependency ordering.

Changes

Logging operator and config split

Layer / File(s) Summary
Platform kustomization entry point
cluster-talos/kubernetes/infrastructure/platform/kustomization.yaml
Platform-level resources list updated to replace single logging/ks.yaml reference with two new references: logging/logging-operator/ks.yaml and logging/logging-config/ks.yaml.
Logging operator infrastructure
cluster-talos/kubernetes/infrastructure/platform/logging/logging-operator/app/kustomization.yaml, cluster-talos/kubernetes/infrastructure/platform/logging/logging-operator/ks.yaml
Operator app kustomization composes namespace.yaml and helmrelease-operator.yaml resources. Flux Kustomization (logging-operator) set to 1h reconciliation, depends on configs, enables pruning, waits 5m for readiness.
Logging config infrastructure
cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/app/kustomization.yaml, cluster-talos/kubernetes/infrastructure/platform/logging/logging-config/ks.yaml
Config app kustomization composes logging.yaml, clusteroutput-vcflogs.yaml, clusterflow-all.yaml resources. Flux Kustomization (logging-config) set to 1h reconciliation, depends on logging-operator, enables pruning, applies cluster-vars Secret substitutions, waits 5m for readiness.

🎯 2 (Simple) | ⏱️ ~10 minutes


Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant