命令行工具

概述

violet CLI 工具是一个平台集成的实用程序,允许您从自定义门户上传软件包到平台。该工具支持三种类型的软件包:操作器、集群插件和 Helm 图表。

支持的操作系统

  • Linux、macOS 和 Windows
  • Linux 和 macOS 支持 x86 和 ARM 架构

权限要求

  • 您必须提供一个有效的平台用户帐户(用户名和密码)
  • 该帐户必须具有设置为 System 的角色属性,并且角色名称必须为 platform-admin-system

注意: 如果您的帐户角色属性设置为 Custom 而不是 System,即使角色拥有所有 Platform Management 权限,您也将无法使用该工具。

下载工具

  1. 导航至 平台管理 视图
  2. 在左侧导航中点击 市场/上传包
  3. 点击 下载包上传工具
  4. 选择与您的操作系统和架构相匹配的二进制文件

安装工具

下载工具后,将其安装到您的打包或上传服务器或个人电脑上。

对于 Linux 或 macOS

对于非根用户:

# Linux x86
sudo mv -f violet_linux_amd64 /usr/local/bin/violet && sudo chmod +x /usr/local/bin/violet
# Linux ARM
sudo mv -f violet_linux_arm64 /usr/local/bin/violet && sudo chmod +x /usr/local/bin/violet
# macOS x86
sudo mv -f violet_darwin_amd64 /usr/local/bin/violet && sudo chmod +x /usr/local/bin/violet
# macOS ARM
sudo mv -f violet_darwin_arm64 /usr/local/bin/violet && sudo chmod +x /usr/local/bin/violet

对于根用户:

# Linux x86
mv -f violet_linux_amd64 /usr/bin/violet && chmod +x /usr/bin/violet
# Linux ARM
mv -f violet_linux_arm64 /usr/bin/violet && chmod +x /usr/bin/violet
# macOS x86
mv -f violet_darwin_amd64 /usr/bin/violet && chmod +x /usr/bin/violet
# macOS ARM
mv -f violet_darwin_arm64 /usr/bin/violet && chmod +x /usr/bin/violet

对于 Windows

  1. 下载文件并将其重命名为 violet.exe,或使用 PowerShell 重命名:
# Windows x86
mv -Force violet_windows_amd64.exe violet.exe
  1. 在 PowerShell 中运行该工具。

注意:如果您尚未将工具路径添加到环境变量中,则在运行命令时需要指定工具的完整路径。

使用工具

预览软件包

平台管理员可以使用 violet show 查看并确认上传前的软件包信息。

$ violet show topolvm-operator.v2.3.0.tgz
Name: NativeStor
Type: bundle
Arch: [linux/amd64]
Version: 2.3.0

$ violet show topolvm-operator.v2.3.0.tgz --all
Name: NativeStor
Type: bundle
Arch: []
Version: 2.3.0
Artifact: harbor.demo.io/acp/topolvm-operator-bundle:v3.11.0
RelateImages: [harbor.demo.io/acp/topolvm-operator:v3.11.0 harbor.demo.io/acp/topolvm:v3.11.0 harbor.demo.io/3rdparty/k8scsi/csi-provisioner:v3.00 harbor.demo.io/3rdparty/k8scsi/csi-provisioner:v2.1.1 harbor.demo.io/3rdparty/k8scsi/csi-resizer:v1.3.0 harbor.demo.io/3rdparty/k8scsi/csi-attacher:v3.3.0 harbor.demo.io/3rdparty/k8scsi/csi-snapshotter:v3.0.2 harbor.demo.io/3rdparty/k8scsi/csi-node-driver-registrar:v2.3.0 harbordemo.io/3rdparty/k8scsi/livenessprobe:v2.4.0]

上传操作器

violet push opensearch-operator.v3.14.2.tgz --platform-address https://192.168.0.1 --platform-username <user> --platform-password <password>
参数描述
args[0]必需的。violet push 命令后的第一个参数。指定要上传的软件包的文件路径。对于多个软件包,请将它们放在同一目录并指定目录路径 - 工具将自动上传目录中的所有软件包。
--platform-address必需的。平台的访问地址。
--platform-username必需的。具有 平台管理员角色 的本地用户的用户名。
--platform-password必需的。用户名的密码。
--skip-push可选。仅在需要创建与上传相关的资源而不推送镜像时添加该参数。
--force可选。添加此参数以强制覆盖并更新与已存在平台上的镜像相关的资源。
--target-chartrepo可选。当您需要上传到特定的 catalogsource 时添加此参数。
--clusters可选。添加此参数以指定要上传的集群。多个集群名称用逗号分隔,例如 global,cluster1,cluster2。如果未指定,默认将软件包上传到 global 集群。
--debug可选。添加此参数以打印调试日志信息。

上传集群插件

violet push plugins-cloudedge-v0.3.16-hybrid.tgz --platform-address https://192.168.0.1 --platform-username <user> --platform-password <password>
参数描述
args[0]必需的。violet push 命令后的第一个参数。指定要上传的软件包的文件路径。对于多个软件包,请将它们放在同一目录并指定目录路径 - 工具将自动上传目录中的所有软件包。
--platform-address必需的。平台的访问地址。
--platform-username必需的。具有 平台管理员角色 的本地用户的用户名。
--platform-password必需的。用户名的密码。
--skip-push可选。仅在需要创建与上传相关的资源而不推送镜像时添加该参数。
--force可选。添加此参数以强制覆盖并更新与已存在平台上的镜像相关的资源。
--debug可选。添加此参数以打印调试日志信息。

提示: 上传集群插件不支持指定集群。如果您只希望上传到 global 集群,则需要配置 ModulePlugin。有关具体的配置方法,请联系技术支持。

上传 Helm 图表

violet push chartmuseum-v3.16.1.tgz --platform-address https://192.168.0.1 --platform-username <user> --platform-password <password>
参数描述
args[0]必需的。violet push 命令后的第一个参数。指定要上传的软件包的文件路径。对于多个软件包,请将它们放在同一目录并指定目录路径 - 工具将自动上传目录中的所有软件包。
--platform-address必需的。平台的访问地址。
--platform-username必需的。具有 平台管理员角色 的本地用户的用户名。
--platform-password必需的。用户名的密码。
--skip-push可选。仅在需要创建与上传相关的资源而不推送镜像时添加该参数。
--force可选。添加此参数以强制覆盖并更新与已存在平台上的镜像相关的资源。
--debug可选。添加此参数以打印调试日志信息。

提示: 上传过程不支持指定模板库。默认情况下,软件包将被上传到 public-charts