Skip to content

Conversation

@chengjingtao
Copy link
Contributor

@chengjingtao chengjingtao commented Dec 30, 2025

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive guide for artifact promotion approval notifications via CorpWeChat, covering end-to-end workflow, architecture, prerequisites, notification templates, CEL-based event filters for multiple event types, verification steps, troubleshooting, and examples.
    • Added an installation and offline/air-gapped guide for the Kube Event Enricher Sink, including image handling, manifest application, configuration flags, verification, uninstallation, and next-step guidance.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 30, 2025

Walkthrough

Adds two new documentation guides: one describing end-to-end ArtifactPromotionRun approval notifications via CorpWeChat (architecture, manifests, CEL filters, templates, verification, troubleshooting) and another detailing installation and offline setup for the Kube Event Enricher sink.

Changes

Cohort / File(s) Summary
ArtifactPromotionRun CorpWeChat Notification Documentation
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md
New end-to-end guide covering architecture and workflow using ApiServerSource, Kube Event Enricher, Knative Broker, Katanomi ClusterSubscriptions, CEL-based event filtering for approval events, notification templates, sample YAML manifests, verification commands, and troubleshooting.
Kube Event Enricher Installation Guide
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md
New installation/configuration guide for the Kube Event Enricher sink including prerequisites, offline/air-gapped image preparation, registry handling, applying manifests, configuration flags (broker-ingress, log-level, event-type-prefix), verification, uninstallation, and troubleshooting.

Sequence Diagram(s)

(omitted — documentation-only changes)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through YAML and event streams bright,

Tucked CEL filters snug, prepared the night,
Brokers hummed softly, enrichers sang clear,
CorpWeChat chimed approval — carrots near! 🥕✨

Pre-merge checks

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'add artifactpromotionrun notification solutions' accurately describes the main changeset, which adds two new documentation files for ArtifactPromotionRun approval notifications with CorpWeChat integration and KubeEvent Enricher Sink installation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 38e96cf and 6a3851a.

📒 Files selected for processing (2)
  • docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md
  • docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md
🧰 Additional context used
🪛 LanguageTool
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md

[uncategorized] ~445-~445: The official name of this popular chat service is spelled with a capital “C”.
Context: ...orts multiple comma-separated values) | "wechat,corpwechat,email" | | `spec.subscriber...

(WECHAT)

🔇 Additional comments (5)
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md (1)

1-148: Installation guide is well-structured and comprehensive.

The file provides clear step-by-step instructions with proper code examples, prerequisite documentation links, and troubleshooting guidance. The link to the companion documentation has been corrected from the previous review iteration.

docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md (4)

253-323: ClusterSubscription example is clear and well-documented.

The example properly demonstrates subscription configuration with CEL-based event filtering for four distinct scenarios (approver checks, requester checks, event message deduplication). CEL expressions are properly escaped for YAML embedding.


74-88: Cross-references between guides are well-structured.

The documentation properly links to the Installation Guide for offline preparation and deployment steps, creating a coherent end-to-end workflow. Bidirectional references between the two guides support navigation.


181-194: Notification template deployment uses environment substitution correctly.

The command cat dist/kubeevent.artifactpromotionrun.template.yaml | envsubst | kubectl apply -f - properly references the template file and documents the four included templates by name and event type.


341-396: Verification and troubleshooting sections provide practical diagnostic guidance.

The sections include actionable kubectl commands, ordered diagnostic steps, and clear expected behavior timeline. Resource status checks and log inspection commands reference correct namespaces and label selectors.


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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 85fe494 and 354d73d.

📒 Files selected for processing (2)
  • docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md
  • docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md
🧰 Additional context used
🪛 GitHub Actions: Build and Update
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md

[error] 1-1: MDX compile error: Dead link found in /home/runner/work/knowledge/knowledge/docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md


[error] 1-1: MDX compile error: Dead link found in /home/runner/work/knowledge/knowledge/docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md

docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md

[error] 1-1: MDX compile error: Language cel is not included in this bundle. You may want to load it from external source.


[error] 1-1: MDX compile error: Language cel is not included in this bundle. You may want to load it from external source.

🪛 LanguageTool
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md

[uncategorized] ~443-~443: The official name of this popular chat service is spelled with a capital “C”.
Context: ...orts multiple comma-separated values) | "wechat,corpwechat,email" | | `spec.subscriber...

(WECHAT)

🪛 markdownlint-cli2 (0.18.1)
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md

17-17: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


333-333: Table column count
Expected: 3; Actual: 4; Too many cells, extra data will be missing

(MD056, table-column-count)

🔇 Additional comments (1)
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md (1)

440-449: Fix WeChat capitalization in example code.

The official name uses proper capitalization: "WeChat" and "CorpWeChat".

🔎 Proposed fix
-| `metadata.annotations["core.katanomi.dev/sink.pluginclasses"]` | Notification channels (supports multiple comma-separated values) | `"wechat,corpwechat,email"` |
+| `metadata.annotations["core.katanomi.dev/sink.pluginclasses"]` | Notification channels (supports multiple comma-separated values) | `"WeChat,CorpWeChat,Email"` |

Likely an incorrect or invalid review comment.

@chengjingtao chengjingtao force-pushed the docs/artifactpromotionrun-notification branch from 354d73d to 3e07aa0 Compare December 30, 2025 06:26
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (3)
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md (3)

17-29: Add language identifier to ASCII diagram code block.

The fenced code block is missing a language specifier. Add text to enable proper rendering.

🔎 Proposed fix
-```
+```text
 K8s Events (ArtifactPromotionRun)
     ↓
 APIServerSource (Watches Event resources)
@@ -26,7 +26,7 @@
     ↓
 CorpWeChat Notification Service (Katanomi Plugin)
-```
+```text

335-335: Fix table column count mismatch caused by pipe character in inline command.

The pipe character | within the inline command (kubectl get users | grep) is incorrectly parsed as a table column separator, creating an extra cell. Rewrite the command description to avoid embedded pipes.

🔎 Proposed fix
-| `spec.subscriber.info.id` | ACP user ID, you can retrive it by `kubectl get users | grep {subscriber.name}` | `21232f297a57a5a743894a0e4a801fc3` |
+| `spec.subscriber.info.id` | ACP user ID, retrieve via: `kubectl get users` and filter by `{subscriber.name}` | `21232f297a57a5a743894a0e4a801fc3` |

454-460: Replace CEL code block language with text to fix MDX compilation.

The cel language identifier is not included in the MDX bundle and causes build failures. Change the code block language to text to allow documentation to build successfully.

🔎 Proposed fix
 #### CEL Filter Expression Examples
 
-```cel
+```text
 # Scenario 1: Subscriber is an approver
 ce.data.object.status.artifactPromotionSpec.approvalSpec.users.exists(item, item.name == "$(subscriber.name)")
 
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 354d73d and 3e07aa0.

📒 Files selected for processing (2)
  • docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md
  • docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md
🧰 Additional context used
🪛 GitHub Actions: Build and Update
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md

[error] 1-1: MDX compile error: Language cel is not included in this bundle. You may want to load it from external source.


[error] 1-1: MDX compile error: Dead link found in /home/runner/work/knowledge/knowledge/docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md

🪛 LanguageTool
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md

[uncategorized] ~445-~445: The official name of this popular chat service is spelled with a capital “C”.
Context: ...orts multiple comma-separated values) | "wechat,corpwechat,email" | | `spec.subscriber...

(WECHAT)

🪛 markdownlint-cli2 (0.18.1)
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md

17-17: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


44-44: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


335-335: Table column count
Expected: 3; Actual: 4; Too many cells, extra data will be missing

(MD056, table-column-count)

🔇 Additional comments (2)
docs/en/solutions/ArtifactPromotionRun_Approval_Notification_with_CorpWeChat.md (2)

445-445: Capitalize WeChat product name correctly.

The reference to "wechat" in the example should be capitalized as "WeChat" per the official product naming convention.

🔎 Proposed fix
-| `metadata.annotations["core.katanomi.dev/sink.pluginclasses"]` | Notification channels (supports multiple comma-separated values) | `"wechat,corpwechat,email"` |
+| `metadata.annotations["core.katanomi.dev/sink.pluginclasses"]` | Notification channels (supports multiple comma-separated values) | `"WeChat,corpwechat,email"` |

Likely an incorrect or invalid review comment.


74-74: No action required. The referenced installation guide file ArtifactPromotionRun_Approval_Notification_with_CorpWeChat_Install_kubeevent-enricher.md exists in the same directory with the correct relative path, and the anchor section "Offline Package Preparation" is properly defined in the referenced file. Both links on lines 74 and 88 are valid.

Likely an incorrect or invalid review comment.

@chengjingtao chengjingtao force-pushed the docs/artifactpromotionrun-notification branch from 3e07aa0 to 38e96cf Compare December 30, 2025 07:56
@chengjingtao chengjingtao force-pushed the docs/artifactpromotionrun-notification branch from 38e96cf to 6a3851a Compare December 30, 2025 08:00
Download the installation package from AlaudaCloud to your working directory:

```bash
export DOWNLOAD_URL=https://xxx.xx/kubeveent-enricher.tar.gz
Copy link
Contributor Author

Choose a reason for hiding this comment

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

上传正式包后替换为正式的地址

@@ -0,0 +1,493 @@
---
id: KB2505xxxx
Copy link
Contributor Author

Choose a reason for hiding this comment

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

有正式 KB ID后更新。

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