Skip to content

DOCS-2549: Update CC L7 logs to use deployment-patch method#2582

Open
ctauchen wants to merge 1 commit intotigera:mainfrom
ctauchen:docs-2549
Open

DOCS-2549: Update CC L7 logs to use deployment-patch method#2582
ctauchen wants to merge 1 commit intotigera:mainfrom
ctauchen:docs-2549

Conversation

@ctauchen
Copy link
Collaborator

Summary

  • Replace outdated service-annotation method (kubectl annotate svc) with the deployment-patch approach (kubectl patch deployment) matching CE 3.22-2
  • Add comprehensive limitations: service mesh incompatibility, K8s 1.29+ requirement, pod restart warning, and log storage note
  • Add quickstart walkthrough using Google Microservices Demo with enable/disable patch commands
  • Improve heading hierarchy from bold-text headings to proper markdown headings

Test plan

  • yarn build passes with no errors
  • Verify rendered page at /calico-cloud/observability/elastic/l7/configure
  • Confirm internal links resolve correctly (Log Storage, Felix Configuration, ApplicationLayer API ref)

🤖 Generated with Claude Code

Replace outdated service-annotation method (kubectl annotate svc) with
the deployment-patch approach from CE 3.22-2, add comprehensive
limitations, and improve heading structure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ctauchen ctauchen requested a review from a team as a code owner March 10, 2026 17:09
Copilot AI review requested due to automatic review settings March 10, 2026 17:09
@netlify
Copy link

netlify bot commented Mar 10, 2026

Deploy Preview for calico-docs-preview-next failed. Why did it fail? →

Name Link
🔨 Latest commit 415e8fa
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/69b0506a4f98ce0008e84934

@netlify
Copy link

netlify bot commented Mar 10, 2026

Deploy Preview succeeded!

Built without sensitive environment variables

Name Link
🔨 Latest commit 415e8fa
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/69b0506a681ed1000816828f
😎 Deploy Preview https://deploy-preview-2582--tigera.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 68 (🔴 down 3 from production)
Accessibility: 98 (no change from production)
Best Practices: 92 (no change from production)
SEO: 100 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Calico Cloud “Configure L7 logs” documentation to align with the newer deployment-patch workflow (instead of service annotations), while expanding prerequisites/limitations and adding a quickstart example.

Changes:

  • Replaces the service-annotation enable/disable instructions with kubectl patch deployment examples.
  • Adds/expands limitations and operational notes (mesh incompatibility, K8s version requirement, pod restarts, storage impact).
  • Improves section structure by converting bold “headings” into proper Markdown headings and adding a quickstart walkthrough.

Comment on lines +137 to +141
1. To disable L7 log collection, reverse the above patch with the following command.

```bash
kubectl patch deployment frontend --type='json' -p '[{"op":"remove","path":"/spec/template/metadata/labels/applicationlayer.projectcalico.org~1sidecar"},{"op":"remove","path":"/spec/template/metadata/annotations/applicationlayer.projectcalico.org~1logging"}]'
```
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

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

The disable command kubectl patch deployment frontend --type='json' ... also omits -n <namespace>, even though the preceding note says to use it for non-default installs. Please include the namespace flag here as well (or explicitly state these commands assume the default namespace).

Copilot uses AI. Check for mistakes.

:::note

L7 logs require a minimum of 1 additional GB of log storage per node, per one-day retention period. Adjust your [Log Storage](../../../operations/logstorage/adjust-log-storage-size.mdx) before you start tasks in the next section.
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

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

The "Log Storage" link target appears to be invalid in Calico Cloud docs: calico-cloud/operations/logstorage/adjust-log-storage-size.mdx doesn't exist (there is no operations/logstorage/ section under calico-cloud/operations/). Please update this to an existing Calico Cloud page (or a stable cross-link that exists in this doc set), otherwise the rendered page will contain a broken link.

Suggested change
L7 logs require a minimum of 1 additional GB of log storage per node, per one-day retention period. Adjust your [Log Storage](../../../operations/logstorage/adjust-log-storage-size.mdx) before you start tasks in the next section.
L7 logs require a minimum of 1 additional GB of log storage per node, per one-day retention period. Adjust your [Log Storage](../../../operations/) before you start tasks in the next section.

Copilot uses AI. Check for mistakes.
@@ -40,32 +40,36 @@ L7 logs are visible in the web console, service graph, in the HTTP tab.
**Not supported**
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

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

This heading is still using bold text (**Not supported**) rather than a Markdown heading, which is inconsistent with the rest of the page after the heading-hierarchy updates. Consider converting it to a proper heading (for example ### Not supported) so it appears in the TOC and has consistent styling.

Suggested change
**Not supported**
### Not supported

Copilot uses AI. Check for mistakes.
```

2. To disable the L7 log collection, remove the annotation.
without the `-n <namespace>` flag, it is going to be installed in the `default` namespace. if you wish to install in a different namespace, specify the `-n <namespace>` flag on all other commands in this tutorial from this point on.
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

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

The explanatory sentence starts with lowercase "without"/"if" and reads like a run-on sentence. Please capitalize and split into clearer sentences (and consider calling out explicitly that subsequent commands need -n <namespace> if not using default).

Suggested change
without the `-n <namespace>` flag, it is going to be installed in the `default` namespace. if you wish to install in a different namespace, specify the `-n <namespace>` flag on all other commands in this tutorial from this point on.
Without the `-n <namespace>` flag, this command installs the demo in the `default` namespace. If you want to use a different namespace, add the `-n <namespace>` flag to this command and to all subsequent `kubectl` commands in this tutorial.

Copilot uses AI. Check for mistakes.
Comment on lines +116 to 120
1. Patch the `frontend` application deployment to start collecting L7 logs for this application

```bash
kubectl annotate svc <service-name> -n <service-namespace> projectcalico.org/l7-logging-
kubectl patch deployment frontend -p '{"spec":{"template":{"metadata":{"labels":{"applicationlayer.projectcalico.org/sidecar":"true"},"annotations":{"applicationlayer.projectcalico.org/logging":"Enabled"}}}}}'
```
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

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

This quickstart notes using -n <namespace> when not installing into default, but the kubectl patch deployment frontend ... example doesn’t include a namespace. Please add -n <namespace> (or explicitly state the command assumes default) to prevent users patching the wrong deployment or hitting "not found" errors.

Copilot uses AI. Check for mistakes.
Comment on lines +122 to +125
The above command applies the following patch:
1. ensures pods in your `frontend` deployment pod template spec has the label `applicationlayer.projectcalico.org/sidecar: true`
1. ensures pods in your `frontend` deployment pod template spec has the following annotations:
- `applicationlayer.projectcalico.org/logging: Enabled`
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

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

The ordered list explaining the patch is hard to read and has grammar issues (e.g., "ensures pods ... has" and lowercase sentence starts). Consider rewriting to refer to the Deployment's pod template (singular) and capitalizing the list items so the explanation is unambiguous.

Suggested change
The above command applies the following patch:
1. ensures pods in your `frontend` deployment pod template spec has the label `applicationlayer.projectcalico.org/sidecar: true`
1. ensures pods in your `frontend` deployment pod template spec has the following annotations:
- `applicationlayer.projectcalico.org/logging: Enabled`
The above command patches the `frontend` Deployment's pod template to:
1. Add the label `applicationlayer.projectcalico.org/sidecar: true`.
1. Add the annotation `applicationlayer.projectcalico.org/logging: Enabled`.

Copilot uses AI. Check for mistakes.
Comment on lines +127 to +131
Deployment pods will then be expected to restart. Monitor its progress with:

```bash
kubectl rollout status deployment frontend
```
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

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

If the demo is installed into a non-default namespace, kubectl rollout status deployment frontend also needs -n <namespace> to match the earlier guidance. Please update the example (or state it assumes default).

Copilot uses AI. Check for mistakes.
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.

2 participants