Skip to content

OBSDOCS-2965, OBSDOCS-2754: Modular docs refactor for Logging 6.5#109110

Merged
briandooley merged 1 commit intoopenshift:standalone-logging-docs-mainfrom
johnwilkins:OBSDOCS-2965
Apr 1, 2026
Merged

OBSDOCS-2965, OBSDOCS-2754: Modular docs refactor for Logging 6.5#109110
briandooley merged 1 commit intoopenshift:standalone-logging-docs-mainfrom
johnwilkins:OBSDOCS-2965

Conversation

@johnwilkins
Copy link
Copy Markdown
Contributor

@johnwilkins johnwilkins commented Mar 26, 2026

1. New Content That Did Not Exist Before

Troubleshooting table (troubleshooting-logging-installation.adoc)

Five field-tested symptom/solution pairs that address the most common install failures:

  • ResolutionFailed — wrong channel name or community catalog
  • certificate verify failed — missing TLS CA in ClusterLogForwarder
  • 429 Too Many Requests — normal backlog flush (reduces support noise)
  • Missing Logs tab — COO + UIPlugin both required
  • Ready: True but no logs — CLF validation passes even when collector cannot connect

This table is entirely new. The old docs had no troubleshooting guidance for installation at all.

End-to-end verification (verifying-logging-installation.adoc)

A three-step procedure (collector pod count, collector log inspection, sample LogQL query) that gives the installer a concrete "done" signal. The old docs only verified operator CSV phase (oc get csv), which says nothing about whether logs actually flow.

Operator architecture overview (logging-operator-overview.adoc)

Explains the three-operator model (Loki Operator = store, CLO = collect/forward, COO = visualize) with the namespace and primary CR for each. The old assembly opened with a generic paragraph about operators and CRDs that applied to any operator, not specifically to logging.

Use-case-based operator selection (logging-installation-use-cases.adoc)

Three install paths matched to intent:

  1. Third-party log store — CLO only
  2. In-cluster storage — Loki + CLO
  3. Full stack with console — all three, in order

The old docs listed all three operators with no guidance on when you might need fewer.


2. Corrected or Clarified Technical Accuracy

Storage dual-requirement callout (logging-storage-prerequisites.adoc)

An IMPORTANT block explicitly distinguishes:

  • Block storage (StorageClass) for internal PVCs (WAL, index cache, compactor)
  • Object storage (S3-compatible) for actual log data

The old docs mentioned both but never explained they are distinct requirements, which was a frequent source of confusion for users mixing them up.

TLS CA requirement documented inline (creating-the-clusterlogforwarder.adoc)

The tls.ca block is shown directly in the CLF YAML example with an IMPORTANT callout explaining why it is needed (service-serving CA not in the system truststore) and what happens when you omit it (Ready: True but collector fails). Previously, TLS configuration was in a separate "Configuring" section users often never reached.

Community operator warning (installing-the-loki-operator-cli.adoc)

A WARNING block alerts users that a community loki-operator exists in community-operators with different channel names. The old module noted source: redhat-operators in a callout footnote but never explained the risk of using the wrong catalog.

Retention policy default (creating-the-lokistack.adoc)

The LokiStack example now includes spec.limits.global.retention.days with an IMPORTANT explaining that without retention, logs stay in object storage forever and fill the bucket. The old LokiStack example omitted retention entirely.


3. Hardcoded Versions Eliminated

Before After
channel: stable-6.<y> (literal placeholder) channel: stable-{logging-major-version} with subs="attributes+"
No CSV version in verification output loki-operator.v{logging-major-version}.0 resolves dynamically

The old modules used <y> placeholders that rendered as literal angle-bracket text if a reader copy-pasted them. The new modules use AsciiDoc attribute substitution so YAML blocks render with the correct version (6.5) automatically.


4. Callout Footnotes replaced with Definition Lists

Every YAML block annotation was migrated from callout footnotes (<1>, <2>) to definition lists (field.name::). This is both a Red Hat modular docs compliance fix and a readability improvement — definition lists stay visually associated with the field they describe, while callouts rely on readers matching numbered markers back to lines above.

-  namespace: openshift-operators-redhat # <1>
-<1> You must specify `openshift-operators-redhat` as the namespace.
+  namespace: openshift-operators-redhat
++
+`metadata.namespace`:: You must specify `openshift-operators-redhat`...

5. RBAC and Namespace Steps Made Explicit

ServiceAccount + ClusterRoleBinding (creating-collector-rbac.adoc)

The collector RBAC is now a standalone procedure with the full ClusterRole / ClusterRoleBinding YAML and an explanation of which permissions correspond to which log types (application, infrastructure, audit). The old module embedded oc create sa and oc adm policy one-liners with no visible RBAC manifest — users could not audit what permissions they were granting.

Namespace creation (creating-the-openshift-logging-namespace.adoc)

The openshift-logging namespace is now its own module with the full YAML including the openshift.io/cluster-monitoring: "true" label explained via definition list. Previously, the namespace was a prerequisite bullet ("You have created the openshift-logging namespace") with no procedure for how to do it.


6. Logs Tab Discoverability (enabling-the-logs-tab.adoc)

Retitled from "Installing the logging UI plug-in" to "Enabling the Logs tab in the web console" — matching what users actually search for. The module now includes:

  • A NOTE that the COO is required for console visualization (not optional)
  • The UIPlugin CR with field-by-field definition list documentation
  • Known issues block (OU-587, LOG-6589) about schema support limitations by OCP version
  • Links to the COO installation docs and relevant Jira issues

The old module provided the CR but no context about when or why you need it.

Docs Structure

Replaces the monolithic installing-logging.adoc with a modular assembly-based architecture:

  • 3 assembly wrappers (overview, Loki Operator, CLO)
  • 14 new modules (concept, procedure, reference)
  • CLI and web console installation paths
  • Definition lists replace AsciiDoc callouts
  • subs=attributes+ for version attribute resolution
  • All links moved to Additional resources sections
  • AsciiDocDITA rules enabled in .vale.ini
  • Vocabulary updated (MinIO, ingester, querier, frontend, GCS)

Version(s): 6.5

Issue: https://redhat.atlassian.net/browse/OBSDOCS-2965 and https://redhat.atlassian.net/browse/OBSDOCS-2754

Link to docs preview:
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/configuring/configuring-the-log-store.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-loki-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-red-hat-openshift-logging-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/overview-of-openshift-logging-installation.html

QE review:

  • QE has approved this change.

Additional information:

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 26, 2026
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Mar 26, 2026

@johnwilkins: This pull request references OBSDOCS-2965 which is a valid jira issue.

This pull request references OBSDOCS-2754 which is a valid jira issue.

Details

In response to this:

Replaces the monolithic installing-logging.adoc with a modular assembly-based architecture:

  • 3 assembly wrappers (overview, Loki Operator, CLO)
  • 14 new modules (concept, procedure, reference)
  • CLI and web console installation paths
  • Definition lists replace AsciiDoc callouts
  • subs=attributes+ for version attribute resolution
  • All links moved to Additional resources sections
  • AsciiDocDITA rules enabled in .vale.ini
  • Vocabulary updated (MinIO, ingester, querier, frontend, GCS)

Version(s): 6.5

Issue: https://redhat.atlassian.net/browse/OBSDOCS-2965 and https://redhat.atlassian.net/browse/OBSDOCS-2754

Link to docs preview:

QE review:

  • QE has approved this change.
  • [ ]
    Additional information:

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-robot
Copy link
Copy Markdown

openshift-ci-robot commented Mar 26, 2026

@johnwilkins: This pull request references OBSDOCS-2965 which is a valid jira issue.

This pull request references OBSDOCS-2754 which is a valid jira issue.

Details

In response to this:

Replaces the monolithic installing-logging.adoc with a modular assembly-based architecture:

  • 3 assembly wrappers (overview, Loki Operator, CLO)
  • 14 new modules (concept, procedure, reference)
  • CLI and web console installation paths
  • Definition lists replace AsciiDoc callouts
  • subs=attributes+ for version attribute resolution
  • All links moved to Additional resources sections
  • AsciiDocDITA rules enabled in .vale.ini
  • Vocabulary updated (MinIO, ingester, querier, frontend, GCS)

Version(s): 6.5

Issue: https://redhat.atlassian.net/browse/OBSDOCS-2965 and https://redhat.atlassian.net/browse/OBSDOCS-2754

Link to docs preview:

QE review:

  • QE has approved this change.

Additional information:

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 added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Mar 26, 2026
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Mar 26, 2026

@johnwilkins: This pull request references OBSDOCS-2965 which is a valid jira issue.

This pull request references OBSDOCS-2754 which is a valid jira issue.

Details

In response to this:

Replaces the monolithic installing-logging.adoc with a modular assembly-based architecture:

  • 3 assembly wrappers (overview, Loki Operator, CLO)
  • 14 new modules (concept, procedure, reference)
  • CLI and web console installation paths
  • Definition lists replace AsciiDoc callouts
  • subs=attributes+ for version attribute resolution
  • All links moved to Additional resources sections
  • AsciiDocDITA rules enabled in .vale.ini
  • Vocabulary updated (MinIO, ingester, querier, frontend, GCS)

Version(s): 6.5

Issue: https://redhat.atlassian.net/browse/OBSDOCS-2965 and https://redhat.atlassian.net/browse/OBSDOCS-2754

Link to docs preview:
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/configuring/configuring-the-log-store.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-loki-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-red-hat-openshift-logging-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/overview-of-openshift-logging-installation.html

QE review:

  • QE has approved this change.

Additional information:

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.

Copy link
Copy Markdown
Contributor

@JoaoBraveCoding JoaoBraveCoding left a comment

Choose a reason for hiding this comment

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

From what I saw this is mostly a refactor of the organization. On that end /lgtm

@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Mar 27, 2026

@johnwilkins: This pull request references OBSDOCS-2965 which is a valid jira issue.

This pull request references OBSDOCS-2754 which is a valid jira issue.

Details

In response to this:

1. New Content That Did Not Exist Before

Troubleshooting table (troubleshooting-logging-installation.adoc)

Five field-tested symptom/solution pairs that address the most common install failures:

  • ResolutionFailed — wrong channel name or community catalog
  • certificate verify failed — missing TLS CA in ClusterLogForwarder
  • 429 Too Many Requests — normal backlog flush (reduces support noise)
  • Missing Logs tab — COO + UIPlugin both required
  • Ready: True but no logs — CLF validation passes even when collector cannot connect

This table is entirely new. The old docs had no troubleshooting guidance for installation at all.

End-to-end verification (verifying-logging-installation.adoc)

A three-step procedure (collector pod count, collector log inspection, sample LogQL query) that gives the installer a concrete "done" signal. The old docs only verified operator CSV phase (oc get csv), which says nothing about whether logs actually flow.

Operator architecture overview (logging-operator-overview.adoc)

Explains the three-operator model (Loki Operator = store, CLO = collect/forward, COO = visualize) with the namespace and primary CR for each. The old assembly opened with a generic paragraph about operators and CRDs that applied to any operator, not specifically to logging.

Use-case-based operator selection (logging-installation-use-cases.adoc)

Three install paths matched to intent:

  1. Third-party log store — CLO only
  2. In-cluster storage — Loki + CLO
  3. Full stack with console — all three, in order

The old docs listed all three operators with no guidance on when you might need fewer.


2. Corrected or Clarified Technical Accuracy

Storage dual-requirement callout (logging-storage-prerequisites.adoc)

An IMPORTANT block explicitly distinguishes:

  • Block storage (StorageClass) for internal PVCs (WAL, index cache, compactor)
  • Object storage (S3-compatible) for actual log data

The old docs mentioned both but never explained they are distinct requirements, which was a frequent source of confusion for users mixing them up.

TLS CA requirement documented inline (creating-the-clusterlogforwarder.adoc)

The tls.ca block is shown directly in the CLF YAML example with an IMPORTANT callout explaining why it is needed (service-serving CA not in the system truststore) and what happens when you omit it (Ready: True but collector fails). Previously, TLS configuration was in a separate "Configuring" section users often never reached.

Community operator warning (installing-the-loki-operator-cli.adoc)

A WARNING block alerts users that a community loki-operator exists in community-operators with different channel names. The old module noted source: redhat-operators in a callout footnote but never explained the risk of using the wrong catalog.

Retention policy default (creating-the-lokistack.adoc)

The LokiStack example now includes spec.limits.global.retention.days with an IMPORTANT explaining that without retention, logs stay in object storage forever and fill the bucket. The old LokiStack example omitted retention entirely.


3. Hardcoded Versions Eliminated

Before After
channel: stable-6.<y> (literal placeholder) channel: stable-{logging-major-version} with subs="attributes+"
No CSV version in verification output loki-operator.v{logging-major-version}.0 resolves dynamically

The old modules used <y> placeholders that rendered as literal angle-bracket text if a reader copy-pasted them. The new modules use AsciiDoc attribute substitution so YAML blocks render with the correct version (6.5) automatically.


4. Callout Footnotes replaced with Definition Lists

Every YAML block annotation was migrated from callout footnotes (<1>, <2>) to definition lists (field.name::). This is both a Red Hat modular docs compliance fix and a readability improvement — definition lists stay visually associated with the field they describe, while callouts rely on readers matching numbered markers back to lines above.

-  namespace: openshift-operators-redhat # <1>
-<1> You must specify `openshift-operators-redhat` as the namespace.
+  namespace: openshift-operators-redhat
++
+`metadata.namespace`:: You must specify `openshift-operators-redhat`...

5. RBAC and Namespace Steps Made Explicit

ServiceAccount + ClusterRoleBinding (creating-collector-rbac.adoc)

The collector RBAC is now a standalone procedure with the full ClusterRole / ClusterRoleBinding YAML and an explanation of which permissions correspond to which log types (application, infrastructure, audit). The old module embedded oc create sa and oc adm policy one-liners with no visible RBAC manifest — users could not audit what permissions they were granting.

Namespace creation (creating-the-openshift-logging-namespace.adoc)

The openshift-logging namespace is now its own module with the full YAML including the openshift.io/cluster-monitoring: "true" label explained via definition list. Previously, the namespace was a prerequisite bullet ("You have created the openshift-logging namespace") with no procedure for how to do it.


6. Logs Tab Discoverability (enabling-the-logs-tab.adoc)

Retitled from "Installing the logging UI plug-in" to "Enabling the Logs tab in the web console" — matching what users actually search for. The module now includes:

  • A NOTE that the COO is required for console visualization (not optional)
  • The UIPlugin CR with field-by-field definition list documentation
  • Known issues block (OU-587, LOG-6589) about schema support limitations by OCP version
  • Links to the COO installation docs and relevant Jira issues

The old module provided the CR but no context about when or why you need it.

Replaces the monolithic installing-logging.adoc with a modular assembly-based architecture:

  • 3 assembly wrappers (overview, Loki Operator, CLO)
  • 14 new modules (concept, procedure, reference)
  • CLI and web console installation paths
  • Definition lists replace AsciiDoc callouts
  • subs=attributes+ for version attribute resolution
  • All links moved to Additional resources sections
  • AsciiDocDITA rules enabled in .vale.ini
  • Vocabulary updated (MinIO, ingester, querier, frontend, GCS)

Version(s): 6.5

Issue: https://redhat.atlassian.net/browse/OBSDOCS-2965 and https://redhat.atlassian.net/browse/OBSDOCS-2754

Link to docs preview:
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/configuring/configuring-the-log-store.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-loki-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-red-hat-openshift-logging-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/overview-of-openshift-logging-installation.html

QE review:

  • QE has approved this change.

Additional information:

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-robot
Copy link
Copy Markdown

openshift-ci-robot commented Mar 27, 2026

@johnwilkins: This pull request references OBSDOCS-2965 which is a valid jira issue.

This pull request references OBSDOCS-2754 which is a valid jira issue.

Details

In response to this:

1. New Content That Did Not Exist Before

Troubleshooting table (troubleshooting-logging-installation.adoc)

Five field-tested symptom/solution pairs that address the most common install failures:

  • ResolutionFailed — wrong channel name or community catalog
  • certificate verify failed — missing TLS CA in ClusterLogForwarder
  • 429 Too Many Requests — normal backlog flush (reduces support noise)
  • Missing Logs tab — COO + UIPlugin both required
  • Ready: True but no logs — CLF validation passes even when collector cannot connect

This table is entirely new. The old docs had no troubleshooting guidance for installation at all.

End-to-end verification (verifying-logging-installation.adoc)

A three-step procedure (collector pod count, collector log inspection, sample LogQL query) that gives the installer a concrete "done" signal. The old docs only verified operator CSV phase (oc get csv), which says nothing about whether logs actually flow.

Operator architecture overview (logging-operator-overview.adoc)

Explains the three-operator model (Loki Operator = store, CLO = collect/forward, COO = visualize) with the namespace and primary CR for each. The old assembly opened with a generic paragraph about operators and CRDs that applied to any operator, not specifically to logging.

Use-case-based operator selection (logging-installation-use-cases.adoc)

Three install paths matched to intent:

  1. Third-party log store — CLO only
  2. In-cluster storage — Loki + CLO
  3. Full stack with console — all three, in order

The old docs listed all three operators with no guidance on when you might need fewer.


2. Corrected or Clarified Technical Accuracy

Storage dual-requirement callout (logging-storage-prerequisites.adoc)

An IMPORTANT block explicitly distinguishes:

  • Block storage (StorageClass) for internal PVCs (WAL, index cache, compactor)
  • Object storage (S3-compatible) for actual log data

The old docs mentioned both but never explained they are distinct requirements, which was a frequent source of confusion for users mixing them up.

TLS CA requirement documented inline (creating-the-clusterlogforwarder.adoc)

The tls.ca block is shown directly in the CLF YAML example with an IMPORTANT callout explaining why it is needed (service-serving CA not in the system truststore) and what happens when you omit it (Ready: True but collector fails). Previously, TLS configuration was in a separate "Configuring" section users often never reached.

Community operator warning (installing-the-loki-operator-cli.adoc)

A WARNING block alerts users that a community loki-operator exists in community-operators with different channel names. The old module noted source: redhat-operators in a callout footnote but never explained the risk of using the wrong catalog.

Retention policy default (creating-the-lokistack.adoc)

The LokiStack example now includes spec.limits.global.retention.days with an IMPORTANT explaining that without retention, logs stay in object storage forever and fill the bucket. The old LokiStack example omitted retention entirely.


3. Hardcoded Versions Eliminated

Before After
channel: stable-6.<y> (literal placeholder) channel: stable-{logging-major-version} with subs="attributes+"
No CSV version in verification output loki-operator.v{logging-major-version}.0 resolves dynamically

The old modules used <y> placeholders that rendered as literal angle-bracket text if a reader copy-pasted them. The new modules use AsciiDoc attribute substitution so YAML blocks render with the correct version (6.5) automatically.


4. Callout Footnotes replaced with Definition Lists

Every YAML block annotation was migrated from callout footnotes (<1>, <2>) to definition lists (field.name::). This is both a Red Hat modular docs compliance fix and a readability improvement — definition lists stay visually associated with the field they describe, while callouts rely on readers matching numbered markers back to lines above.

-  namespace: openshift-operators-redhat # <1>
-<1> You must specify `openshift-operators-redhat` as the namespace.
+  namespace: openshift-operators-redhat
++
+`metadata.namespace`:: You must specify `openshift-operators-redhat`...

5. RBAC and Namespace Steps Made Explicit

ServiceAccount + ClusterRoleBinding (creating-collector-rbac.adoc)

The collector RBAC is now a standalone procedure with the full ClusterRole / ClusterRoleBinding YAML and an explanation of which permissions correspond to which log types (application, infrastructure, audit). The old module embedded oc create sa and oc adm policy one-liners with no visible RBAC manifest — users could not audit what permissions they were granting.

Namespace creation (creating-the-openshift-logging-namespace.adoc)

The openshift-logging namespace is now its own module with the full YAML including the openshift.io/cluster-monitoring: "true" label explained via definition list. Previously, the namespace was a prerequisite bullet ("You have created the openshift-logging namespace") with no procedure for how to do it.


6. Logs Tab Discoverability (enabling-the-logs-tab.adoc)

Retitled from "Installing the logging UI plug-in" to "Enabling the Logs tab in the web console" — matching what users actually search for. The module now includes:

  • A NOTE that the COO is required for console visualization (not optional)
  • The UIPlugin CR with field-by-field definition list documentation
  • Known issues block (OU-587, LOG-6589) about schema support limitations by OCP version
  • Links to the COO installation docs and relevant Jira issues

The old module provided the CR but no context about when or why you need it.

Docs Structure

Replaces the monolithic installing-logging.adoc with a modular assembly-based architecture:

  • 3 assembly wrappers (overview, Loki Operator, CLO)
  • 14 new modules (concept, procedure, reference)
  • CLI and web console installation paths
  • Definition lists replace AsciiDoc callouts
  • subs=attributes+ for version attribute resolution
  • All links moved to Additional resources sections
  • AsciiDocDITA rules enabled in .vale.ini
  • Vocabulary updated (MinIO, ingester, querier, frontend, GCS)

Version(s): 6.5

Issue: https://redhat.atlassian.net/browse/OBSDOCS-2965 and https://redhat.atlassian.net/browse/OBSDOCS-2754

Link to docs preview:
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/configuring/configuring-the-log-store.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-loki-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-red-hat-openshift-logging-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/overview-of-openshift-logging-installation.html

QE review:

  • QE has approved this change.

Additional information:

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.

@johnwilkins
Copy link
Copy Markdown
Contributor Author

@JoaoBraveCoding I updated the description with an AI-generated diff on the substantive changes to the docs. I installed it myself and found some issues, particularly an issue I wish would get addressed in OpenShift--installing SNO without a default storage class. Logging requires both a PVC and some object storage. I used MinIO so I don't have to pay AWS/Azure, and ODF takes quite a bit longer to setup.

Copy link
Copy Markdown
Contributor

@JoaoBraveCoding JoaoBraveCoding left a comment

Choose a reason for hiding this comment

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

Gave it a read! Awesome work @johnwilkins super happy to have you on the team!

Comment thread modules/creating-the-lokistack.adoc Outdated
Comment thread modules/creating-the-lokistack.adoc Outdated
Comment thread modules/creating-the-lokistack.adoc
Comment thread installing/installing-the-red-hat-openshift-logging-operator.adoc
Copy link
Copy Markdown
Contributor

@JoaoBraveCoding JoaoBraveCoding left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Mar 27, 2026
Comment thread modules/logging-operator-overview.adoc Outdated
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 31, 2026
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Mar 31, 2026

New changes are detected. LGTM label has been removed.

@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Mar 31, 2026

@johnwilkins: This pull request references OBSDOCS-2965 which is a valid jira issue.

This pull request references OBSDOCS-2754 which is a valid jira issue.

Details

In response to this:

1. New Content That Did Not Exist Before

Troubleshooting table (troubleshooting-logging-installation.adoc)

Five field-tested symptom/solution pairs that address the most common install failures:

  • ResolutionFailed — wrong channel name or community catalog
  • certificate verify failed — missing TLS CA in ClusterLogForwarder
  • 429 Too Many Requests — normal backlog flush (reduces support noise)
  • Missing Logs tab — COO + UIPlugin both required
  • Ready: True but no logs — CLF validation passes even when collector cannot connect

This table is entirely new. The old docs had no troubleshooting guidance for installation at all.

End-to-end verification (verifying-logging-installation.adoc)

A three-step procedure (collector pod count, collector log inspection, sample LogQL query) that gives the installer a concrete "done" signal. The old docs only verified operator CSV phase (oc get csv), which says nothing about whether logs actually flow.

Operator architecture overview (logging-operator-overview.adoc)

Explains the three-operator model (Loki Operator = store, CLO = collect/forward, COO = visualize) with the namespace and primary CR for each. The old assembly opened with a generic paragraph about operators and CRDs that applied to any operator, not specifically to logging.

Use-case-based operator selection (logging-installation-use-cases.adoc)

Three install paths matched to intent:

  1. Third-party log store — CLO only
  2. In-cluster storage — Loki + CLO
  3. Full stack with console — all three, in order

The old docs listed all three operators with no guidance on when you might need fewer.


2. Corrected or Clarified Technical Accuracy

Storage dual-requirement callout (logging-storage-prerequisites.adoc)

An IMPORTANT block explicitly distinguishes:

  • Block storage (StorageClass) for internal PVCs (WAL, index cache, compactor)
  • Object storage (S3-compatible) for actual log data

The old docs mentioned both but never explained they are distinct requirements, which was a frequent source of confusion for users mixing them up.

TLS CA requirement documented inline (creating-the-clusterlogforwarder.adoc)

The tls.ca block is shown directly in the CLF YAML example with an IMPORTANT callout explaining why it is needed (service-serving CA not in the system truststore) and what happens when you omit it (Ready: True but collector fails). Previously, TLS configuration was in a separate "Configuring" section users often never reached.

Community operator warning (installing-the-loki-operator-cli.adoc)

A WARNING block alerts users that a community loki-operator exists in community-operators with different channel names. The old module noted source: redhat-operators in a callout footnote but never explained the risk of using the wrong catalog.

Retention policy default (creating-the-lokistack.adoc)

The LokiStack example now includes spec.limits.global.retention.days with an IMPORTANT explaining that without retention, logs stay in object storage forever and fill the bucket. The old LokiStack example omitted retention entirely.


3. Hardcoded Versions Eliminated

Before After
channel: stable-6.<y> (literal placeholder) channel: stable-{logging-major-version} with subs="attributes+"
No CSV version in verification output loki-operator.v{logging-major-version}.0 resolves dynamically

The old modules used <y> placeholders that rendered as literal angle-bracket text if a reader copy-pasted them. The new modules use AsciiDoc attribute substitution so YAML blocks render with the correct version (6.5) automatically.


4. Callout Footnotes replaced with Definition Lists

Every YAML block annotation was migrated from callout footnotes (<1>, <2>) to definition lists (field.name::). This is both a Red Hat modular docs compliance fix and a readability improvement — definition lists stay visually associated with the field they describe, while callouts rely on readers matching numbered markers back to lines above.

-  namespace: openshift-operators-redhat # <1>
-<1> You must specify `openshift-operators-redhat` as the namespace.
+  namespace: openshift-operators-redhat
++
+`metadata.namespace`:: You must specify `openshift-operators-redhat`...

5. RBAC and Namespace Steps Made Explicit

ServiceAccount + ClusterRoleBinding (creating-collector-rbac.adoc)

The collector RBAC is now a standalone procedure with the full ClusterRole / ClusterRoleBinding YAML and an explanation of which permissions correspond to which log types (application, infrastructure, audit). The old module embedded oc create sa and oc adm policy one-liners with no visible RBAC manifest — users could not audit what permissions they were granting.

Namespace creation (creating-the-openshift-logging-namespace.adoc)

The openshift-logging namespace is now its own module with the full YAML including the openshift.io/cluster-monitoring: "true" label explained via definition list. Previously, the namespace was a prerequisite bullet ("You have created the openshift-logging namespace") with no procedure for how to do it.


6. Logs Tab Discoverability (enabling-the-logs-tab.adoc)

Retitled from "Installing the logging UI plug-in" to "Enabling the Logs tab in the web console" — matching what users actually search for. The module now includes:

  • A NOTE that the COO is required for console visualization (not optional)
  • The UIPlugin CR with field-by-field definition list documentation
  • Known issues block (OU-587, LOG-6589) about schema support limitations by OCP version
  • Links to the COO installation docs and relevant Jira issues

The old module provided the CR but no context about when or why you need it.

Docs Structure

Replaces the monolithic installing-logging.adoc with a modular assembly-based architecture:

  • 3 assembly wrappers (overview, Loki Operator, CLO)
  • 14 new modules (concept, procedure, reference)
  • CLI and web console installation paths
  • Definition lists replace AsciiDoc callouts
  • subs=attributes+ for version attribute resolution
  • All links moved to Additional resources sections
  • AsciiDocDITA rules enabled in .vale.ini
  • Vocabulary updated (MinIO, ingester, querier, frontend, GCS)

Version(s): 6.5

Issue: https://redhat.atlassian.net/browse/OBSDOCS-2965 and https://redhat.atlassian.net/browse/OBSDOCS-2754

Link to docs preview:
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/configuring/configuring-the-log-store.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-loki-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/installing-the-red-hat-openshift-logging-operator.html
https://109110--ocpdocs-pr.netlify.app/openshift-logging/latest/installing/overview-of-openshift-logging-installation.html

QE review:

  • QE has approved this change.

Additional information:

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.

@johnwilkins
Copy link
Copy Markdown
Contributor Author

/retest

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Mar 31, 2026

@johnwilkins: all tests passed!

Full PR test history. Your PR dashboard.

Details

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 kubernetes-sigs/prow repository. I understand the commands that are listed here.

@johnwilkins johnwilkins mentioned this pull request Mar 31, 2026
1 task
@anpingli
Copy link
Copy Markdown

anpingli commented Apr 1, 2026

LGTM

@briandooley briandooley merged commit 4831ee4 into openshift:standalone-logging-docs-main Apr 1, 2026
2 checks passed
[source,terminal]
----
$ oc adm policy add-cluster-role-to-user collect-infrastructure-logs \
-z logging-collector -n openshift-logging
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

It's missing the policy for being able to read the audit logs "collect-audit-logs"

+
[NOTE]
====
These three cluster roles are created by the {clo}:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

the roles are 4 as this list is missing "collect-audit-logs"

* `collect-application-logs`: Allows reading application container logs.
* `collect-infrastructure-logs`: Allows reading infrastructure container logs.

If you also want to collect audit logs, add the `collect-audit-logs` cluster role.
Copy link
Copy Markdown

@r2d2rnd r2d2rnd Apr 14, 2026

Choose a reason for hiding this comment

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

I'd include this role with the rest and not separated as it's here, but adding the "warning" that our log store is not "secure"

= Creating the ClusterLogForwarder

[role="_abstract"]
Create a `ClusterLogForwarder` CR to define how logs are collected and where they are forwarded.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Why don't keep this part in the "ClusterLogForwarder" section with the rest of the outputs when you have also visible how to set up the tolerations, resources, etc?

= Creating the object storage secret

[role="_abstract"]
Create a secret with the credentials for your S3-compatible object store. The {loki-op} requires this secret to configure the `LokiStack` to store log data.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

At this moment, if you want to send the logs to GCP storage or ODF, you can't create the secret as you don't know the values inside, then, you'll fail.

Also, this is missing how to specify the CA, something required for when speaking about sending to ODF. SWIFT, Azure, etc (not AWS in general as the CA is public and trusted by the OS)

`metadata.name`:: Use the name `logging-loki`.
`metadata.namespace`:: You must specify `openshift-logging` as the namespace.
`spec.size`:: Specify the deployment size. Production options: `1x.pico` (available in {logging} {logging-major-version}+), `1x.extra-small`, `1x.small`, or `1x.medium`. For development or lab use: `1x.demo`.
`spec.storage.schemas[0].effectiveDate`:: Set to a date at least two months in the past.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This could require a better explanation. Basically, if the stack is started new, it will read all the logs available in the OpenShift nodes that they could be from days or weeks ago, this is the reason of indicating a long time in the past

Copy link
Copy Markdown

@r2d2rnd r2d2rnd left a comment

Choose a reason for hiding this comment

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

Partial review

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

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants