CLI 工具

目录

概述

violet CLI 工具是一个平台集成的实用工具,允许您将软件包从自定义门户上传到平台。该工具支持三种类型的软件包:Operators、Cluster Plugins 和 Helm charts。

支持的操作系统

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

权限要求

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

注意: 如果您的账号 role 属性设置为 Custom 而非 System,即使该角色拥有所有 Platform Management 权限,也无法使用此工具。

下载工具

  1. 进入 Platform Management 视图
  2. 点击左侧导航中的 Marketplace/Upload Packages
  3. 点击 Download Package Upload Tool
  4. 选择与您的操作系统和架构匹配的二进制文件

安装工具

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

Linux 或 macOS

非 root 用户:

# 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

root 用户:

# 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
  2. 在 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/k8scsicsi-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]

上传 Operators

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 Administrator role 的本地用户的用户名。

--platform-password

必填。用户名对应的密码。

--skip-push

可选。仅需创建上传相关资源但不推送镜像时添加此参数。

--force

可选。当包内镜像已存在于平台时,添加此参数可强制覆盖并更新相关资源。

--target-chartrepo

可选。需要上传到指定 catalogsource 时添加此参数。

--clusters

可选。指定上传到哪些集群,多个集群名称用逗号分隔,如 global,cluster1,cluster2。若不指定,默认上传到 global 集群。

--debug

可选。需要打印调试日志信息时添加此参数。

上传 Cluster Plugins

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 Administrator role 的本地用户的用户名。

--platform-password

必填。用户名对应的密码。

--skip-push

可选。仅需创建上传相关资源但不推送镜像时添加此参数。

--force

可选。当包内镜像已存在于平台时,添加此参数可强制覆盖并更新相关资源。

--debug

可选。需要打印调试日志信息时添加此参数。

提示: 上传 cluster plugins 不支持指定集群。如果只想上传到 global 集群,需要配置 ModulePlugin。具体配置方法请联系技术支持。

上传 Helm Charts

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 Administrator role 的本地用户的用户名。

--platform-password

必填。用户名对应的密码。

--skip-push

可选。仅需创建上传相关资源但不推送镜像时添加此参数。

--force

可选。当包内镜像已存在于平台时,添加此参数可强制覆盖并更新相关资源。

--debug

可选。需要打印调试日志信息时添加此参数。

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