Skip to content

Upgrade/violet push#180

Merged
chinameok merged 3 commits intomasterfrom
upgrade/violet-push
Sep 4, 2025
Merged

Upgrade/violet push#180
chinameok merged 3 commits intomasterfrom
upgrade/violet-push

Conversation

@chinameok
Copy link
Copy Markdown
Contributor

@chinameok chinameok commented Sep 4, 2025

Summary by CodeRabbit

  • Documentation
    • Restructured “Upload Package” guide with clearer flows: upload a Helm chart, push only images from a directory, or create only CRs from a directory; added examples and clarified default chart repository; linked to in-tool help.
    • Updated global cluster upgrade guide to support pre-pushing images and a create-only-CRs path; removed bulk upload requirement.
    • Refined DR terminology and guidance; standardized “standby cluster” phrasing.
    • Added note for GitOps plugin behavior post-upgrade.
    • Minor editorial and wording improvements for clarity.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Sep 4, 2025

Walkthrough

Restructures 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

Cohort / File(s) Change Summary
Upload package flows
docs/en/extend/upload_package.mdx
Rewrites upload guidance into three flows: Helm Chart upload (default public-charts), push-only images (--skip-crs), create-only CRs (--skip-push); updates concrete command examples and adds note to check violet --help. Removes former “Upload All Packages in a Directory” workflow.
Global cluster upgrade workflow
docs/en/upgrade/upgrade_global_cluster.mdx
Makes pre-pushing images optional and introduces split flows: push-only images, then create-only CRs; removes bulk upload guidance; updates DR terminology and phrasing; adds GitOps plugin troubleshooting note; minor editorial/terminology consistency updates.

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
Loading
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
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • fanzy618

Poem

I hop through charts and images, whee!
Skip-CRs here, skip-push there—so free.
Pre-push the bytes, then CRs take flight,
Upgrades arrive in the moonlit night.
GitOps, don’t pout—check notes, sort out.
Thump-thump! The docs are tidy and bright. 🐇✨

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch upgrade/violet-push

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@chinameok chinameok merged commit 2e5d461 into master Sep 4, 2025
0 of 2 checks passed
@chinameok chinameok deleted the upgrade/violet-push branch September 4, 2025 21:21
Copy link
Copy Markdown
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: 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 violet supports 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/--password are the exact flag names for this release of upgrade.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.

📥 Commits

Reviewing files that changed from the base of the PR and between b54af66 and 43b8eb5.

📒 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-crs prevents premature updates reads well.


172-185: Fix anchor and verify --skip-push behavior.

  • 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 push command implementation that --skip-push always 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: Clarify violet push DR targeting details.

Verify the flag name --dest-repo and 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.mdx is 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).

Comment on lines +139 to 147
### 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>
```
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.

⚠️ Potential issue

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 -->

Comment on lines +157 to 167
### 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>
```
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.

⚠️ Potential issue

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.

Suggested change
### 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.

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