Violet Upload
npx machina-cli add skill typhoonzero/awesome-acp-skills/violet-upload --openclawViolet Package Upload
This skill provides instructions for using the violet CLI tool to upload software packages (Operators, Cluster Plugins, and Helm Charts) to the platform.
Overview
The violet CLI tool allows you to upload software packages from your custom portal to the platform. It supports three types of packages:
- Operators
- Cluster Plugins
- Helm Charts
Prerequisites
Before using the violet CLI, ensure you have:
- The
violetCLI tool installed and accessible in your path. - A valid platform user account with the System role property and the platform-admin-system role name.
- The following information:
- Platform access address (
--platform-address) - Platform username (
--platform-username) - Platform password (
--platform-password)
- Platform access address (
Usage
The general syntax for uploading a package is:
violet push <package_path> --platform-address <address> --platform-username <username> --platform-password <password> [options]
1. Uploading Operators
Use this command to upload an Operator package.
Command:
violet push <operator_package.tgz> \
--platform-address <address> \
--platform-username <username> \
--platform-password <password> \
[--clusters <cluster_list>] \
[--target-chartrepo <repo>] \
[--force] \
[--skip-push]
Specific Options:
--clusters: (Optional) Specify which clusters to upload to (comma-separated, e.g.,global,cluster1). Defaults toglobalif omitted.--target-chartrepo: (Optional) Upload to a specific catalog source.
2. Uploading Cluster Plugins
Use this command to upload a Cluster Plugin package.
Command:
violet push <plugin_package.tgz> \
--platform-address <address> \
--platform-username <username> \
--platform-password <password> \
[--force] \
[--skip-push]
Note: Uploading cluster plugins does not support the --clusters parameter. To upload only to the global cluster, you must configure ModulePlugin.
3. Uploading Helm Charts
Use this command to upload a Helm Chart package.
Command:
violet push <chart_package.tgz> \
--platform-address <address> \
--platform-username <username> \
--platform-password <password> \
[--force] \
[--skip-push]
Note: The upload process does not support specifying a template repository. Packages are uploaded to public-charts by default.
Common Parameters
| Parameter | Description |
|---|---|
args[0] | Required. The file path of the package to upload. For multiple packages, specify the directory path. |
--platform-address | Required. The access address of the platform. |
--platform-username | Required. Username of a local user with the Platform Administrator role. |
--platform-password | Required. Password for the username. |
--skip-push | Optional. Create upload-related resources without pushing images. |
--force | Optional. Forcibly overwrite and update related resources if images already exist. |
--debug | Optional. Print debug log information. |
Source
git clone https://github.com/typhoonzero/awesome-acp-skills/blob/master/violet-upload/SKILL.mdView on GitHub Overview
Violet Package Upload provides instructions for using the violet CLI tool to upload software packages (Operators, Cluster Plugins, and Helm Charts) to the platform. It covers three package types and explains prerequisites and basic usage.
How This Skill Works
Ensure the violet CLI is installed and your platform user has the System role property and the platform-admin-system role. Then run violet push <package_path> with --platform-address, --platform-username, and --platform-password; for Operators you can set --clusters and --target-chartrepo, for Cluster Plugins the --clusters option is not supported, and Helm Charts upload to public-charts by default. Common flags like --force, --skip-push, and --debug control push behavior.
When to Use It
- Publish an Operator to the global cluster or specific clusters using --clusters
- Upload a Cluster Plugin package to the platform (no --clusters support)
- Add a Helm Chart to the platform, which goes to the public-charts catalog by default
- Overwrite existing package resources with --force during upload
- Upload multiple packages from a directory in a single command
Quick Start
- Step 1: Install the violet CLI and ensure it is in your system PATH
- Step 2: Gather platform address, username, and password for a user with the System role property and platform-admin-system role
- Step 3: Run violet push <package_path> --platform-address <address> --platform-username <username> --platform-password <password> [options]
Best Practices
- Verify the violet CLI is installed and on your PATH
- Use a valid platform user with the System role property and the platform-admin-system role
- For Operators, specify explicit clusters with --clusters or rely on the global default
- Note that Cluster Plugins do not support --clusters; use ModulePlugin to target global if needed
- Use --force cautiously and consider --debug or --skip-push to validate before pushing
Example Use Cases
- violet push op-1.0.0.tgz --platform-address address --platform-username user --platform-password pass --clusters global,cluster1 --target-chartrepo repo --force
- violet push op-1.0.0.tgz --platform-address address --platform-username user --platform-password pass --clusters global
- violet push plugin-2.1.0.tgz --platform-address address --platform-username user --platform-password pass --force --skip-push
- violet push chart-0.3.0.tgz --platform-address address --platform-username user --platform-password pass
- violet push chart-0.3.0.tgz --platform-address address --platform-username user --platform-password pass --debug