Skip to content

CNF-14592: add LokiStack configuration CRs to the optional reference section#756

Open
rdiscala wants to merge 2 commits into
openshift-kni:mainfrom
rdiscala:CNF-14592-add-lokistack
Open

CNF-14592: add LokiStack configuration CRs to the optional reference section#756
rdiscala wants to merge 2 commits into
openshift-kni:mainfrom
rdiscala:CNF-14592-add-lokistack

Conversation

@rdiscala

Copy link
Copy Markdown
Contributor

Add Loki Operator installation and LokiStack log storage CRs for the telco-core optional logging configuration:

  • LokiStack CR with 1x.extra-small sizing, S3 storage, v13 schema, and 5-day retention
  • Loki Operator Namespace, OperatorGroup, Subscription, and installation status verification CR (ztp-deploy-wave: 2)
  • S3 object storage Secret template
  • Update ClusterLogForwarder to forward audit and infrastructure logs to the local LokiStack via the collector service account
  • Add ClusterLogForwarder-to_amend variant with commented-out external forwarding examples

Co-authored-by: Claude

@openshift-ci-robot

openshift-ci-robot commented May 11, 2026

Copy link
Copy Markdown
Collaborator

@rdiscala: This pull request references CNF-14592 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Add Loki Operator installation and LokiStack log storage CRs for the telco-core optional logging configuration:

  • LokiStack CR with 1x.extra-small sizing, S3 storage, v13 schema, and 5-day retention
  • Loki Operator Namespace, OperatorGroup, Subscription, and installation status verification CR (ztp-deploy-wave: 2)
  • S3 object storage Secret template
  • Update ClusterLogForwarder to forward audit and infrastructure logs to the local LokiStack via the collector service account
  • Add ClusterLogForwarder-to_amend variant with commented-out external forwarding examples

Co-authored-by: Claude

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot requested review from irinamihai and sabbir-47 May 11, 2026 15:05
@coderabbitai

coderabbitai Bot commented May 11, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds optional OpenShift Loki operator manifests, S3 secret template, LokiStack CR, ClusterLogForwarder that routes audit/infrastructure logs to Loki, and commented policy integration references.

Changes

Loki Logging Stack Setup

Layer / File(s) Summary
Operator Namespace & Group Setup
telco-core/configuration/reference-crs/optional/logging/LokiOperatorNS.yaml, telco-core/configuration/reference-crs/optional/logging/LokiOperatorGroup.yaml
Establishes openshift-operators-redhat namespace with cluster monitoring label to enable Prometheus scraping, and defines an OperatorGroup with default upgrade strategy for Loki operator deployment.
Operator Installation & Status
telco-core/configuration/reference-crs/optional/logging/LokiSubscription.yaml, telco-core/configuration/reference-crs/optional/logging/LokiOperatorStatus.yaml
Subscribes to Loki operator on stable-6.5 channel from disconnected Red Hat catalog with manual install approval. Defines Operator resource with ZTP deploy-wave annotation and commented reference examples for subscription, install-plan, and CSV status conditions.
Storage Credentials
telco-core/configuration/reference-crs/optional/logging/LokiSecret.yaml
Provides S3 object storage credential template with placeholder fields for access keys, bucket names, endpoint, and region.
Loki Stack Service
telco-core/configuration/reference-crs/optional/logging/LokiStack.yaml
Configures LokiStack in managed state with 5-day retention, 1x.extra-small sizing, v13 storage schema, S3 backend reference, Ceph RBD storage class, and openshift-logging tenant mode.
Cluster Log Forwarding
telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder-LokiStack.yaml
Defines ClusterLogForwarder pipeline routing audit and infrastructure logs to Loki via loki-local output with service-account token authentication and TLS CA verification.
Policy Integration & References
telco-core/configuration/core-baseline.yaml, telco-core/configuration/core-overlay.yaml, telco-core/configuration/reference-crs-kube-compare/compare_ignore, telco-core/install/extra-manifests/Network.yaml, telco-hub/install/openshift/openshift/Network.yaml
Adds commented-out optional references to Loki operator and LokiStack resources in baseline and overlay configuration files, a compare_ignore entry for the LokiStack ClusterLogForwarder variant, and minor comment formatting adjustments to Network manifests.

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title directly describes the main change: adding LokiStack configuration custom resources to the optional reference section, which matches the primary content of the PR.
Description check ✅ Passed The description is directly related to the changeset, outlining the Loki Operator installation, LokiStack CR, Secret template, ClusterLogForwarder updates, and variant examples that are all reflected in the file summaries.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@telco-core/configuration/reference-crs/optional/logging/LokiStack.yaml`:
- Around line 22-23: Replace the placeholder in the LokiStack.yaml manifest by
setting the effectiveDate field (currently "effectiveDate:
\"<yyyy>-<mm>-<dd>\"") to a real date in YYYY-MM-DD format (approximately two
months before your deployment date); ensure the value is a valid date string and
preserved under the same key so the version/effectiveDate schema remains intact.
- Line 27: Replace the hardcoded storageClassName value under the persistent
volume spec (storageClassName: "ocs-storagecluster-ceph-rbd") with a
configurable placeholder (e.g. <storageClassName>) and add a comment next to the
placeholder indicating it must be set to the cluster's available StorageClass
(or document that OCS is required) so deployments are portable; update any
references to storageClassName in the LokiStack.yaml template to consume the
placeholder when rendering/templating.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: d8e5c20e-b228-446f-a3ff-8f2c0e724800

📥 Commits

Reviewing files that changed from the base of the PR and between a88ca23 and 7caea0d.

📒 Files selected for processing (8)
  • telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder-to_amend.yaml
  • telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorGroup.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorNS.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorStatus.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSecret.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiStack.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSubscription.yaml

Comment thread telco-core/configuration/reference-crs/optional/logging/LokiStack.yaml Outdated
Comment thread telco-core/configuration/reference-crs/optional/logging/LokiStack.yaml Outdated
@yprokule

Copy link
Copy Markdown
Contributor

Any plan to update also:

  • telco-core/configuration/core-baseline.yaml
  • telco-core/configuration/core-overlay.yaml

@rdiscala rdiscala force-pushed the CNF-14592-add-lokistack branch from 7caea0d to 4940da0 Compare May 12, 2026 13:56
@rdiscala

Copy link
Copy Markdown
Contributor Author

@yprokule good point. I've updated the files. Let me know if there is something else that needs to be amended.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder-LokiStack.yaml (1)

42-45: ⚡ Quick win

Remove the commented-out status section.

Including a status section in a manifest template is confusing since status fields are managed by the controller, not user-configured. This commented block serves no functional or documentation purpose and should be removed.

♻️ Proposed fix to remove status section
   serviceAccount:
     name: collector
-status:
-  `#conditions`:
-  `#-` type: observability.openshift.io/Valid
-  #  status: "True"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder-LokiStack.yaml`
around lines 42 - 45, Remove the commented-out status block from the manifest:
delete the commented lines starting with "status:" and the following commented
"#conditions:" and "#- type: observability.openshift.io/Valid" / "#  status:
\"True\"" entries in ClusterLogForwarder-LokiStack.yaml so the template contains
no status section (status is controller-managed and should not appear, even
commented).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In
`@telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder-LokiStack.yaml`:
- Around line 42-45: Remove the commented-out status block from the manifest:
delete the commented lines starting with "status:" and the following commented
"#conditions:" and "#- type: observability.openshift.io/Valid" / "#  status:
\"True\"" entries in ClusterLogForwarder-LokiStack.yaml so the template contains
no status section (status is controller-managed and should not appear, even
commented).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: e9ae3f63-c476-478c-925c-d2f099d24f31

📥 Commits

Reviewing files that changed from the base of the PR and between 7caea0d and 4940da0.

📒 Files selected for processing (9)
  • telco-core/configuration/core-baseline.yaml
  • telco-core/configuration/core-overlay.yaml
  • telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder-LokiStack.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorGroup.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorNS.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorStatus.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSecret.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiStack.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSubscription.yaml
✅ Files skipped from review due to trivial changes (5)
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorNS.yaml
  • telco-core/configuration/core-baseline.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSecret.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSubscription.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorStatus.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorGroup.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiStack.yaml

outputRefs:
- kafka-open

# Cluster Logging with LokiStack (optional - use instead of the above ClusterLogForwarder)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should it be used instead of or in addition to ? My understanding is that in addition to sending logs to central location store some of them locally for easier/faster troubleshooting so existing ClusterLogForwarder CR should be updated with this use case.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch. I've amended the configuration so that the LokiStack configuration is part of ClusterLogForwarder.

@rdiscala rdiscala force-pushed the CNF-14592-add-lokistack branch from 4940da0 to b7d0ccc Compare May 12, 2026 15:59
@yprokule

Copy link
Copy Markdown
Contributor

/assign @imiller0

kind: OperatorGroup
metadata:
name: loki-operator
namespace: openshift-operators-redhat

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs a standard annotation for olm bundle unpack retry:
operatorframework.io/bundle-unpack-min-retry-interval: 10m

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

metadata:
name: loki-operator.openshift-operators-redhat
annotations:
ran.openshift.io/ztp-deploy-wave: "2"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No ztp-deploy-wave annotations in Core (we will be removing them from RAN eventually as well)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

kind: OperatorGroup
metadata:
name: loki-operator
namespace: openshift-operators-redhat

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does Loki not have a namespace of its own for installation? If this is the documented reference from monitoring team it is fine, just want to confirm

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. I've followed the Red Hat OpenShift Logging documentation (6.2 and 6.5) for which states:

name: openshift-operators-redhat: Use this namespace for Red Hat Operators. Avoid using openshift-operators, which might contain untrusted community Operators and cause metric conflicts.

The netobserv-loki namespace is used for network observability, but our use case is local log storage, so openshift-operators-redhat seems the right choice for me.

namespace: openshift-logging
stringData:
access_key_id: "<access key>"
access_key_secret: "<access key secret>"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add note that secrets should be managed via secure method such as External Secrets Operator

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

storage:
schemas:
- version: v13
effectiveDate: "<yyyy>-<mm>-<dd>" # Set to approximately two months before deployment date

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this control and what are the consequences of setting it incorrectly? Is it sufficient to place an arbitrary date here (eg ocp release date)? or does this truly need to be set by the user?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This parameter controls the date from when this version of the schema will become active. Setting it incorrectly (e.g. in the future, or too recently in the past) may result in Loki refusing to ingest logs. It also cannot be changed retroactively.

I've added some guidance as a comment.

@rdiscala rdiscala May 19, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, 2 months was suggested in the proposed CRs. It's mentioned in third-party guides. Maybe it's too far in the past. 2 weeks could be sufficient.

secret:
name: logging-loki-s3
type: s3
storageClassName: "ocs-storagecluster-ceph-rbd" # Set to the cluster's available StorageClass

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does this relate to the storage config in the Secret? Are these the same endpoint, or completely independent or ??

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are two independent entries for two different types and uses of storage. The secret is used to access an S3-compatible long-term storage for compressed log files. The storage class is used instead for short-term buffering (for performance and recovery in case of crash).

Added comments that clarify their use.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Within RDS Core storageClassed are created later in the process (ODF configuration is done in the core-overlay.yaml file file LokiStack.yaml is referenced in the core-baseline.yaml, which means that this referenced storageClass must be created outside? of the RDS policies? Or shall we recommend using SC from the ODF that's configured by the RDS Core manifests and re-shuffle configuration of LockStack resource?

@imiller0 thoughts?

source: redhat-operators-disconnected # For disconnected environments.
sourceNamespace: openshift-marketplace
status:
# state: AtLatestKnown # Expected status

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should include this line (uncomment) so that the operator status is verified prior to showing compliant status on the policy.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

Comment on lines +186 to +187
# - name: loki-local
# type: lokiStack

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understand correctly, in this form the reference will have 2 cluster log forwarder instances running simultaneously. One sending to loki locally and the other sending via kafka to a remote endpoint. Both are scraping audit and infrastructure logs.
Would it be more optimal to have a single ClusterLogForwarder with options for either loki output or kafka or both?
Is there an advantage/disadvantage to either approach?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's only one ClusterLogForwarder named instance in openshift-logging. It is patched by PolicyGenerator to add multiple outputs for Kafka and Loki. The latter is provided here in commented form, as it is optional. When it is uncommented, there is still one ClusterLogForwarder, but with the aforementioned two outputs.

The ClusterLogForwarder-LokiStack.yaml manifest is provided here only as an example.

There are no real advantages to having two ClusterLogForwarders, except perhaps redundancy and potential competition between the two outputs for the resources of the single instance.

@rdiscala

Copy link
Copy Markdown
Contributor Author

/retest

1 similar comment
@rdiscala

Copy link
Copy Markdown
Contributor Author

/retest

@imiller0

imiller0 commented May 18, 2026

Copy link
Copy Markdown
Collaborator

Can you fix lintchecks please. It's failing the check of cluster-compare vs reference CRs.
Thanks!

@rdiscala rdiscala force-pushed the CNF-14592-add-lokistack branch from b7d0ccc to 1c235e1 Compare May 19, 2026 08:52
@openshift-ci

openshift-ci Bot commented May 19, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: rdiscala
Once this PR has been reviewed and has the lgtm label, please ask for approval from imiller0. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@rdiscala rdiscala force-pushed the CNF-14592-add-lokistack branch from 1c235e1 to 5130bbe Compare May 19, 2026 11:02

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@telco-core/configuration/reference-crs/optional/logging/LokiOperatorStatus.yaml`:
- Around line 10-11: Remove (comment out) the standalone "status:" key in the
example CR so it does not render as status: null; specifically edit the
LokiOperatorStatus.yaml example and comment out the entire status: line (and
leave the nested components commented/unset) so the status field is absent
unless explicitly populated.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: 697a0716-e83e-4a70-858b-9131670e576b

📥 Commits

Reviewing files that changed from the base of the PR and between 1c235e1 and 5130bbe.

📒 Files selected for processing (12)
  • telco-core/configuration/core-baseline.yaml
  • telco-core/configuration/core-overlay.yaml
  • telco-core/configuration/reference-crs-kube-compare/compare_ignore
  • telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder-LokiStack.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorGroup.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorNS.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorStatus.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSecret.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiStack.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSubscription.yaml
  • telco-core/install/extra-manifests/Network.yaml
  • telco-hub/install/openshift/openshift/Network.yaml
✅ Files skipped from review due to trivial changes (5)
  • telco-core/configuration/reference-crs-kube-compare/compare_ignore
  • telco-core/install/extra-manifests/Network.yaml
  • telco-core/configuration/core-baseline.yaml
  • telco-hub/install/openshift/openshift/Network.yaml
  • telco-core/configuration/core-overlay.yaml
🚧 Files skipped from review as they are similar to previous changes (6)
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorGroup.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSecret.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiStack.yaml
  • telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder-LokiStack.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiOperatorNS.yaml
  • telco-core/configuration/reference-crs/optional/logging/LokiSubscription.yaml

@rdiscala rdiscala force-pushed the CNF-14592-add-lokistack branch 5 times, most recently from 53bf731 to e240341 Compare May 19, 2026 16:18
@rdiscala

Copy link
Copy Markdown
Contributor Author

@imiller0 @yprokule I've made the changes, could you take a llook and let me know if this is good enough?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this one needed? why not to update existing telco-core/configuration/reference-crs/optional/logging/ClusterLogForwarder.yaml

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valid point. I provided a specific reference implementation for LokiStack as an alternative to the standard configuration. It might be better to merge it into the standard one, while keeping the Kafka part commented. I'll ask @imiller0 to weigh in on this one.

Comment on lines +10 to +28
# status:
# components:
# refs:
# - kind: Subscription
# namespace: openshift-operators-redhat
# conditions:
# - type: CatalogSourcesUnhealthy
# status: "False"
# - kind: InstallPlan
# namespace: openshift-operators-redhat
# conditions:
# - type: Installed
# status: "True"
# - kind: ClusterServiceVersion
# namespace: openshift-operators-redhat
# conditions:
# - type: Succeeded
# status: "True"
# reason: InstallSucceeded

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be uncommented, correct?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right. It should be uncommented. I'll fix that.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is unrelated change so no need to merge it with logging CRs

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

@rdiscala rdiscala force-pushed the CNF-14592-add-lokistack branch 2 times, most recently from 01132d1 to 6edbba3 Compare May 21, 2026 14:36
@rdiscala

Copy link
Copy Markdown
Contributor Author

@yprokule thanks for your review. I've addressed your comments.

@rdiscala

rdiscala commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

Hello @yprokule. I've addressed your comments. Would you mind validating that the PR is good to go?

Comment thread telco-core/configuration/core-baseline.yaml
Comment on lines +11 to +28
# components:
# refs:
# - kind: Subscription
# namespace: openshift-operators-redhat
# conditions:
# - type: CatalogSourcesUnhealthy
# status: "False"
# - kind: InstallPlan
# namespace: openshift-operators-redhat
# conditions:
# - type: Installed
# status: "True"
# - kind: ClusterServiceVersion
# namespace: openshift-operators-redhat
# conditions:
# - type: Succeeded
# status: "True"
# reason: InstallSucceeded

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't this part be uncommented?

@rdiscala rdiscala Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left the status commented out as an example. This is consistent with the already existing ClusterLogOperatorStatus.yaml added by @imiller0 . If you'd prefer status to be uncommented, I'd need to make the change to the other file as well, for consistency. What do you think?

@rdiscala rdiscala force-pushed the CNF-14592-add-lokistack branch from 6edbba3 to 1c3c30e Compare June 18, 2026 15:44
rdiscala and others added 2 commits June 19, 2026 09:51
Add Loki Operator installation and LokiStack log storage CRs for the
telco-core optional logging configuration:

 - LokiStack CR with 1x.extra-small sizing, S3 storage, v13 schema,
   and 5-day retention
 - Loki Operator Namespace, OperatorGroup, Subscription, and
   installation status verification CR
 - S3 object storage Secret template
 - Update ClusterLogForwarder to enable local Loki storage by default
   with audit and infrastructure log forwarding, plus commented
   examples for external system integration (Kafka, Splunk, etc.)
 - Update core-overlay.yaml PolicyGenerator to demonstrate adding
   external forwarding to the base Loki configuration
 - Add kube-compare reference templates for validation

This implements "optional but enabled by default" pattern: CRs are in
the optional/ folder and commented in PolicyGenerators, but when
enabled provide a complete working Loki configuration that supports
both local CNF vendor troubleshooting and external OSS/BSS forwarding.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
@rdiscala rdiscala force-pushed the CNF-14592-add-lokistack branch from 1c3c30e to 182ff45 Compare June 19, 2026 07:59
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.

5 participants