部署配置参数

可以按以下方式定制 AppScan 360° Static Analysis 环境:
  1. yaml 格式创建配置文件。例如,values.yaml
  2. 列出配置文件中的定制参数。

    下表介绍了全局通用RabbitMQ 特定参数。

  3. -f 选项与 sast-service.sh 脚本一起使用,以指定配置文件的路径名。例如,将配置文件命名为 values.yaml 时:
    > cat values.yaml 
    global: 
        storage: 
            pvc: 
                storage: 100Gi 
        ingress: 
            ingressClassName: nginx.

全局参数

参数 描述 缺省值
global.workload.mainContainer.image.registry 从中拉取 AppScan 360° Static Analysis 图像的注册表 hclcr.io
global.workload.mainContainer.image.repository 用于找到 AppScan 360° Static Analysis 图像的存储库路径。 appscan360-sast/sast-service
global.workload.mainContainer.image.tag AppScan 360° Static Analysis 图像的版本。 1.1.0
global.workload.mainContainer.image.pullPolicy 从注册表中拉取 AppScan 360° Static Analysis 图像的策略。 IfNotPresent
global.storage.pvc.storageClassName 存储提供程序类名。由部署脚本配置。 local-path
global.storage.pvc.accessModes 存储卷的访问许可权数组。 ReadWriteMany
global.storage.pvc.storage AppScan 360° Static Analysis 数据卷的存储分配。 200Gi
global.storage.pvclogs.storage AppScan 360° Static Analysis 日志卷的存储分配。 10Gi
global.ca.root.serverCertificate 用于签署 AppScan 360° Static Analysis 组件的 CA 证书。由部署脚本配置。
global.ca.root.serverKey 用于签署 AppScan 360° Static Analysis 组件的专用密钥。由部署脚本配置。
global.ingress.ingressClassName 要用于 AppScan 360° Static Analysis 入口的入口控制器类名。
global.ingress.additionalAnnotations 要在 AppScan 360° Static Analysis 入口中配置的注释列表。
common.ingress.hostname 用于访问 SAppScan 360° Static Analysis 入口的完全限定域名 (FQDN)。 sast.example.com
common.auth.token 用于在 AppScan 360° Static Analysis 中配置授权的持有者令牌。由部署脚本配置。
common.configMap.LOG_LEVEL 每个 AppScan 360° Static Analysis 组件的基础微服务的日志级别 信息
common.configMap.SCAN_ARTIFACTS_AGE_IN_DAYS AppScan 360° Static Analysis 存储中删除扫描工件之前保留这些工件的天数。 10
common.configMap.ASCP_SERVER_HOST 要与之集成的 ASCP 服务器的主机名。由部署脚本配置。
common.configMap.ASCP_SERVER_PORT ASCP 服务器的端口。 443
common.configMap.ASCP_SERVICE_HOST ASCP 服务器的 agents-api 服务主机名。 <ASCP_SERVER_HOST>
common.configMap.ASCP_SERVICE_PORT ASCP 服务器的 agents-api 服务端口。 5000

通用参数

以下参数可用于单独定制每个 AppScan 360° Static Analysis 组件。

要为特定组件配置参数,请在参数前加上组件名称作为前缀。例如,要配置 gateway 组件的参数 <>.common.workload.mainContainer.resources.requests.cpu
gateway.common.workload.mainContainer.resources.requests.cpu=2
参数 描述 选项 缺省
<>.common.configMap 每个组件的基础微服务支持的可配置参数列表。 LOG_LEVEL,组件基础微服务的日志级别。 信息
<>.common.secrets 每个组件的基础微服务支持的可配置密钥参数列表。 ASCP_AUTH_KEY,用于保存 ASCP 服务器认证令牌。适用于“ascp-adapter”。由部署脚本配置。
<>.common.hpa.maxReplicaCount 允许用于自动缩放组件的最大副本数。

ascp-adapter

preparer,analyzer

3

25

<>.common.workload.mainContainer.resources.requests.cpu 组件所需的最小 CPU 数。

gateway、ascp-adapterscan-manager、workflow-manager

1
preparer、analyzer 2
<>.common.workload.mainContainer.resources.requests.memory 组件所需的最小内存量 (RAM)。 gateway、ascp-adapter、scan-manager、workflow-manager 2吉字节
preparer、analyzer 16吉字节
<>.common.workload.mainContainer.resources.limits.cpu 组件所需的最大 CPU 数。 gateway、ascp-adapter、scan-manager、workflow-manager 2
preparer、analyzer 4
<>.common.workload.mainContainer.resources.limits.memory 组件所需的最大内存量 (RAM)。 gateway、ascp-adapter、scan-manager、workflow-manager 4吉字节
preparer、analyzer 28吉字节
<>.common.workload.additionalLabels 要为组件配置的部署标签列表。
<>.common.workload.additionalAnnotations 要为组件配置的部署注释列表。
<>.common.workload.podLabels 要为组件配置的 Pod 标签列表。
<>.common.workload.podAdditionalAnnotations 要为组件配置的 Pod 注释列表。
<>.common.workload.additionalNodeSelector 要为组件配置的节点选择器列表。
<>.common.workload.additionalTolerations 要为组件配置的公差列表。
<>.common.metrics.port 用于访问组件的 Prometheus 度量的端口。 9443
<>.common.metrics.path 用于访问组件的 Prometheus 度量的 URL。 /actuator/prometheus

RabbitMQ

可以定制的 RabbitMQ 参数如下:

参数 描述 缺省
rabbitmq.image.registry 用于拉取 RabbitMQ 容器映像的注册表。 hclcr.io
rabbitmq.image.repository 用于找到 RabbitMQ 容器映像的存储库路径。 appscan360-sast/sast-service
rabbitmq.image.tag RabbitMQ 容器映像的版本。 3.12.2-debian-11-r8
rabbitmq.auth.username 用于访问 RabbitMQ 的用户名。 appscan
rabbitmq.auth.password 用于访问 RabbitMQ 的密码。由部署脚本配置。
rabbitmq.persistance.storageClass 要在 RabbitMQ 中使用的存储提供程序类名。由部署脚本配置。
rabbitmq.ingress.enabled 用于访问 RabbitMQ 管理门户网站的入口。 False
rabbitmq.ingress.hostname 用于访问 RabbitMQ 管理门户网站入口的完全限定域名 (FQDN)。 rabbitmq.sast.example.com
rabbitmq.resources.requests.cpu 组件所需的最小 CPU 数。 1
rabbitmq.resources.requests.memory 组件所需的最小内存量 (RAM)。 2吉字节
rabbitmq.resources.limits.cpu 组件所需的最大 CPU 数。 2
rabbitmq.resources.limits.memory 组件所需的最大内存量 (RAM)。 4吉字节

要查看完整列表:

  • 如果从 HCL Harbour 安装,请浏览到以下路径,以获得配置参数和关联值 Projects > appscan360-sast/sast-service/sast-service-core > values 的完整列表。
  • 如果从存档文件安装,则可以在图表文件夹中找到 values.yaml 文件 (sast-service-base/helm/sast-service-core/values.yaml)。

节点选择器配置

可以将 SAST 部署配置为在满足条件的特定节点中运行组件的 Pod。以下是与节点选择器配置相关的属性:
参数 描述
<>.common.workload.additionalNodeSelector 接受要安装到的节点标签。选择器选择一个提供标签的节点。
rabbitmq.common.nodeSelector 接受要将 RabbitMQ 安装到的节点标签。选择器选择一个提供标签的节点。

例如:

  • 为节点池创建名称为 sastNodeType 且值为 sast-analyzer-node 的标签。
  • 使用标签配置节点后,可以将 Pod 配置为在匹配节点中创建。要使用 sastNodeType=sast-analyzer-node 标签配置要在节点中创建的分析器组件 Pod,请按以下方式配置属性:
      analyzer:
        common:
          workload:
            additionalNodeSelector:
              sastNodeType: sast-analyzer-node

YAML 样本文件

global:
  storage:
    pvc:
      storage: 20G
    pvcLogs:
      storage: 2G
    ingress:
      additionalAnnotations:
        nginx.ingress.kubernetes.io/backend-protocol:HTTPS