Conversation
WalkthroughRestructures package upload docs into three explicit flows (Helm chart upload, push-only images, create-only CRs) with new flags and examples, and updates the global cluster upgrade docs to support a staged path (pre-push images, create-only CRs), revises DR and terminology, and adds a GitOps plugin note. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant CLI as violet CLI
participant Reg as Container Registry
participant K8s as Global Cluster (API)
participant Repo as public-charts repo
rect rgba(230,240,255,0.5)
Note over User,CLI: Upload a Helm Chart
User->>CLI: violet upload <chart.tgz>
CLI->>Repo: PUT chart (public-charts)
Repo-->>CLI: 200 OK
CLI-->>User: Upload complete
end
rect rgba(235,255,235,0.5)
Note over User,K8s: Split delivery path
User->>CLI: violet push <dir> --skip-crs
CLI->>Reg: Push images for all packages
Reg-->>CLI: Success/Errors
alt If images pre-pushed already
User->>CLI: violet push <dir> --skip-push
CLI->>K8s: Create Artifact/ArtifactVersion CRs
K8s-->>CLI: CRs accepted
else
Note over User,CLI: Push images step required before CRs
end
end
sequenceDiagram
autonumber
actor Admin as Admin (Upgrade)
participant CLI as violet CLI
participant Reg as Global Cluster Registry
participant K8s as Global Cluster (Controller)
rect rgba(255,245,230,0.6)
Note over Admin,Reg: Pre-push for upgrade
Admin->>CLI: violet push <packages> --skip-crs
CLI->>Reg: Push Operator & Cluster Plugin images
end
rect rgba(240,240,255,0.6)
Note over Admin,K8s: Create-only CRs
Admin->>CLI: violet push <packages> --skip-push
CLI->>K8s: Create CRs for artifacts
K8s-->>Admin: Upgrade notifications (10–15 min)
Admin->>K8s: Proceed with Operator/Plugin upgrade steps
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate 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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (3)
docs/en/extend/upload_package.mdx (1)
162-167: Add a security note about plaintext credentials.Commands pass credentials on the CLI, which land in shell history. Add a short note advising env vars or interactive prompts if
violetsupports them.violet push <packages_dir_name> \ --skip-crs \ --platform-address https://192.168.0.1 \ --platform-username <user> \ --platform-password <password> + +> Note: Avoid exposing credentials in shell history. Prefer environment variables or interactive prompts if supported by `violet`.docs/en/upgrade/upgrade_global_cluster.mdx (2)
27-31: Validate upgrade.sh flags and protect credentials.
- Confirm
--registry/--username/--passwordare the exact flag names for this release ofupgrade.sh.- Add a note suggesting env vars or prompts to avoid plaintext passwords in shell history.
bash upgrade.sh --only-sync-image=true --registry <registry-address> --username <username> --password <password> + +> Note: To avoid leaking credentials in shell history, prefer environment variables or interactive prompts if supported by the script.
55-56: Tell users where to see the upgrade notifications.Add the exact UI location to check for the Operator/Cluster Plugin upgrade prompts.
-After running this command, wait about **10–15 minutes** until upgrade notifications appear for functional components. +After running this command, wait about **10–15 minutes** until upgrade notifications appear under **Clusters > Clusters > global > Functional Components**.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
docs/en/extend/upload_package.mdx(1 hunks)docs/en/upgrade/upgrade_global_cluster.mdx(2 hunks)
🔇 Additional comments (9)
docs/en/extend/upload_package.mdx (3)
149-156: Verify repository restriction statement.“Helm Charts can only be uploaded to the default public-charts repository” sounds absolute. Confirm whether custom chart repos are unsupported. If custom repos are supported, clarify how to target them (flag or config).
169-171: Nice clarity on staged upgrades.The explanation that
--skip-crsprevents premature updates reads well.
172-185: Fix anchor and verify--skip-pushbehavior.
- Remove the backslash before the anchor:
-### Create only CRs from all packages in a directory \{#only_create_cr} +### Create only CRs from all packages in a directory {#only_create_cr}- Confirm in the
pushcommand implementation that--skip-pushalways skips image pushes—even when remote tags differ.docs/en/upgrade/upgrade_global_cluster.mdx (6)
33-35: Good cross-link to staged image pre-push.This aligns with the new “only push images” flow and improves flexibility.
36-38: Clarifyviolet pushDR targeting details.Verify the flag name
--dest-repoand required value format (VIP hostname vs full registry URL). Consider adding a concrete example.-When using **`violet push`** on a **standby global cluster**, you must specify the `--dest-repo` parameter with the standby cluster VIP. +When using **`violet push`** on a **standby global cluster**, specify `--dest-repo` with the standby cluster registry endpoint (for example, `--dest-repo registry.<standby-vip>`).
42-43: Good reminder for DR dual uploads.The maintenance window callout is helpful.
60-62: Confirm Data Services doc path.Ensure
../appservice/upgrade.mdxis the correct relative path and anchor.
64-71: UI steps read cleanly.Navigation is consistent and unambiguous.
73-76: Make the GitOps link robust.The absolute path may break under non-root base paths. Prefer a relative link or a consistent
<ExternalSiteLink>.-* If the **Alauda Container Platform GitOps** plugin is installed in the global cluster and its pods are running abnormally after the upgrade, refer to [Upgrading Alauda Container Platform GitOps](/gitops/upgrade/upgrade_gitops_plugin.html#procedure). +* If the **Alauda Container Platform GitOps** plugin is installed in the global cluster and its pods run abnormally after the upgrade, refer to [Upgrading Alauda Container Platform GitOps](../gitops/upgrade/upgrade_gitops_plugin.mdx#procedure).
| ### Upload a Helm Chart | ||
|
|
||
| Upload a Helm Chart to the chart repository: | ||
| ```bash | ||
| violet push <packages_dir_name> \ | ||
| violet push plugins-cloudedge-v0.3.16-hybrid.tgz \ | ||
| --platform-address https://192.168.0.1 \ | ||
| --platform-username <user> \ | ||
| --platform-password <password> | ||
| ``` |
There was a problem hiding this comment.
Wrong artifact example in “Upload a Helm Chart”.
The example uses a Cluster Plugin tarball (plugins-cloudedge-v0.3.16-hybrid.tgz) under a Helm Chart section. Replace with a clearly chart-named artifact to avoid user confusion.
Apply:
-### Upload a Helm Chart
-
-Upload a Helm Chart to the chart repository:
+### Upload a Helm Chart
+
+Upload a Helm Chart to the chart repository:
```bash
-violet push plugins-cloudedge-v0.3.16-hybrid.tgz \
+violet push acp-observability-1.2.3.tgz \
--platform-address https://192.168.0.1 \
--platform-username <user> \
--platform-password <password>
<details>
<summary>🤖 Prompt for AI Agents</summary>
In docs/en/extend/upload_package.mdx around lines 139 to 147, the example under
"Upload a Helm Chart" uses a Cluster Plugin tarball name
(plugins-cloudedge-v0.3.16-hybrid.tgz) which is misleading; replace that
artifact with a clearly named Helm chart archive (for example
acp-observability-1.2.3.tgz) in the code block so the example reflects uploading
a chart rather than a plugin, keeping the same command flags and formatting.
</details>
<!-- fingerprinting:phantom:triton:chinchilla -->
<!-- This is an auto-generated comment by CodeRabbit -->
| ### Push only images from all packages in a directory \{#only_push_images} | ||
|
|
||
| When multiple packages are downloaded from the Marketplace, you can place them in the same directory and upload them all at once: | ||
|
|
||
| Upload a Helm Chart to the chart repository: | ||
| ```bash | ||
| violet push plugins-cloudedge-v0.3.16-hybrid.tgz \ | ||
| violet push <packages_dir_name> \ | ||
| --skip-crs \ | ||
| --platform-address https://192.168.0.1 \ | ||
| --platform-username <user> \ | ||
| --platform-password <password> | ||
| ``` |
There was a problem hiding this comment.
Fix broken anchor: escaped braces prevent heading ID.
### … \{#only_push_images} renders literal braces; links to #only_push_images will break. Remove the backslash.
-### Push only images from all packages in a directory \{#only_push_images}
+### Push only images from all packages in a directory {#only_push_images}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ### Push only images from all packages in a directory \{#only_push_images} | |
| When multiple packages are downloaded from the Marketplace, you can place them in the same directory and upload them all at once: | |
| Upload a Helm Chart to the chart repository: | |
| ```bash | |
| violet push plugins-cloudedge-v0.3.16-hybrid.tgz \ | |
| violet push <packages_dir_name> \ | |
| --skip-crs \ | |
| --platform-address https://192.168.0.1 \ | |
| --platform-username <user> \ | |
| --platform-password <password> | |
| ``` | |
| ### Push only images from all packages in a directory {#only_push_images} | |
| When multiple packages are downloaded from the Marketplace, you can place them in the same directory and upload them all at once: | |
🤖 Prompt for AI Agents
In docs/en/extend/upload_package.mdx around lines 157 to 167 the heading uses
escaped braces "### Push only images from all packages in a directory
\{#only_push_images}" which renders literal braces and breaks the anchor; remove
the backslash so the heading reads "### Push only images from all packages in a
directory {#only_push_images}" to restore the correct heading ID and make links
to #only_push_images work.
Summary by CodeRabbit