更新时间:2024-06-13 GMT+08:00
分享

specDescriptors

specDescriptors用于描述自定义资源中规范字段的属性。每个字段应包含以下内容:
  • displayName -字段的用户友好名称。
  • description -字段表示内容的简单描述信息。
  • path -对象中字段以点分隔的路径。
  • restriction(可选):指定控件使用场景。
  • x-descriptors(可选) -字段能力的UI组件信息。

配置Descriptor控件时,需要确保在csd.yaml中增加的path字段路径,以v1版本为例,需要和crd中的对应的openAPIV3Schema.properties.spec.properties内的path路径一致,否则会出现控件不生效的情况。

密码输入框

该控件支持先隐藏已输入的密码。

配置示例:

- path: password_test
  displayName: password_test
  description: password_test
  x-descriptors:
    - "urn:alm:descriptor:com.tectonic.ui:password"
图1 密码输入框
图2 单击显示密码后的效果

下拉框

支持设置枚举项,使用下拉框展示。

配置示例:

- path: select_test
  displayName: select_test
  description: "select_test"
  x-descriptors:
    - "urn:alm:descriptor:com.tectonic.ui:select:option1"
    - "urn:alm:descriptor:com.tectonic.ui:select:option2"
图3 下拉框UI

镜像拉取策略

预设的镜像拉取策略控件。

配置示例:

- path: pull_policy_test
  displayName: pull_policy_test
  description: "pull_policy_test"
  x-descriptors:
    - "urn:alm:descriptor:com.tectonic.ui:imagePullPolicy" 
图4 镜像拉取策略控件

K8S资源对象

支持控件查询指定资源对象,目前支持configmap和secret。

配置示例:

- path: k8sResource_secret
  description: k8sResource_secret
  displayName: k8sResource_secret
  x-descriptors:
    - urn:alm:descriptor:io.kubernetes:Secret

- path: k8sResource_configmap
  description: k8sResource_configmap
  displayName: k8sResource_configmap
  x-descriptors:
    - urn:alm:descriptor:io.kubernetes:ConfigMap      
图5 K8S资源对象

Pod数量

预设的设置pod数量控件。

配置示例:

- path: advanceTest_podCount
  description: advanceTest_podCount
  displayName: advanceTest_podCount
  x-descriptors:
    - urn:alm:descriptor:com.tectonic.ui:podCount
图6 Pod数量控件

显示联动

支持控件的展示联动。

配置示例:

- path: field_dependency_test.value2
  description: 依赖value1 开
  displayName: value2
  x-descriptors:
    - "urn:alm:descriptor:com.tectonic.ui:fieldDependency:field_dependency_test.value1:true"
图7 控件显示联动

资源配置

和K8S配套的资源控件,可以设置limit和request。

配置示例:

- path: resources
  displayName: 单节点规格
  description: "单节点Redis的内存规格,因系统开销,实际使用内存是所填数值的1.25倍"
  x-descriptors:
    - "urn:alm:descriptor:com.tectonic.ui:resourceRequirements"

公网访问

支持通过弹性公网IP访问实例。

配置示例:

- description: 开启公网访问后,可通过弹性公网IP访问Redis,集群模式暂不支持。开启公网访问的同时建议开启密码认证,保证安全
  displayName: 公网访问
  path: externalAccess
  restriction:
    scenes:
      - CCE
  x-descriptors:
    - "urn:alm:descriptor:com.huawei.ui:hwDnatElbAccess"

其中restriction.scenes字段表示该控件只在特定的部署平台下展示。

hidden

此描述符用于隐藏并自动生成的表单的字段:如果基于CRD自动生成的表单字段有些不需要呈现给用户可以配置hidden隐藏。

配置示例

- description: ""
    displayName: ""
    path: image
    x-descriptors:
      - "urn:alm:descriptor:com.huawei.ui:hidden"

使用说明:

1.可以隐藏CRD描述的字段(如果是父目录的则叶子节点也会隐藏)。

2.该字段在UI表单上隐藏,但是yaml编辑器仍然是可以修改。

相关文档