Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
PUT /v1/clusters/{id}
代码 (Code) | 消息 (Message) | 数据类型 (Datatype) |
---|---|---|
200 |
成功的响应。(A successful response.) |
|
0 |
意外的错误响应。(An unexpected error response.) |
UNAVAILABLE: 只有收集器才能具有不可用状态 (UNAVAILABLE: Only collector can have unavailable status)
枚举值 (Enum Values) |
---|
UNINITIALIZED |
UNAVAILABLE |
UNHEALTHY |
DEGRADED |
HEALTHY |
传感器版本较高:当我们检测到传感器的版本高于此中心时,会发生 SENSOR_VERSION_HIGHER 错误。这并非预期情况,但根据客户的补丁情况可能会发生。在这种情况下,我们不会自动“升级”传感器,因为这将是降级,即使自动升级设置已开启。用户可以手动触发升级,但强烈建议不要在先升级中心之前这样做,因为这是一种不受支持的配置。
枚举值 (Enum Values) |
---|
未设置 |
最新版本 |
需要手动升级 |
可以自动升级 |
传感器版本较高 |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
active |
布尔值 |
||||
id |
字符串 |
||||
targetVersion |
字符串 |
||||
upgraderImage |
字符串 |
||||
initiatedAt |
日期 |
日期时间 |
|||
progress |
|||||
type |
升级,证书轮换, |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
name |
字符串 |
||||
type |
通用集群,Kubernetes 集群,OpenShift 集群,OpenShift 4 集群, |
||||
labels |
|
||||
mainImage |
字符串 |
||||
collectorImage |
字符串 |
||||
centralApiEndpoint |
字符串 |
||||
runtimeSupport |
布尔值 |
||||
collectionMethod |
未设置收集,无收集,内核模块,eBPF,核心BPF, |
||||
admissionController |
布尔值 |
||||
admissionControllerUpdates |
布尔值 |
||||
admissionControllerEvents |
布尔值 |
||||
status |
|||||
dynamicConfig |
|||||
tolerationsConfig |
|||||
priority |
字符串 |
int64 |
|||
healthStatus |
|||||
slimCollector |
布尔值 |
||||
helmConfig |
|||||
mostRecentSensorId |
|||||
auditLogState |
仅供内部使用。 |
||||
initBundleId |
字符串 |
||||
managedBy |
未知管理器类型,手动管理器类型,Helm 图表管理器类型,Kubernetes 运算符管理器类型, |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
code |
整数 |
int32 |
|||
message |
字符串 |
||||
details |
ProtobufAny 的列表 |
Any
包含任意序列化的协议缓冲区消息以及描述序列化消息类型的 URL。
Protobuf 库提供支持,以实用程序函数或 Any 类型的其他生成方法的形式打包/解包 Any 值。
示例 1:在 C++ 中打包和解包消息。
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
示例 2:在 Java 中打包和解包消息。
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }
Protobuf 库提供的 pack 方法默认使用“type.googleapis.com/full.type.name”作为类型 URL,unpack 方法仅使用类型 URL 中最后一个“/”后的完全限定类型名称,例如“foo.bar.com/x/y.z”将产生类型名称“y.z”。
Any
值的 JSON 表示使用反序列化的嵌入式消息的常规表示,以及包含类型 URL 的附加字段@type
。示例
package google.profile; message Person { string first_name = 1; string last_name = 2; }
{ "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> }
如果嵌入式消息类型是众所周知的并且具有自定义 JSON 表示,则该表示将被嵌入,并添加一个字段value
,该字段除了@type
字段外还保存自定义 JSON。示例(对于消息[google.protobuf.Duration][])
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
@type |
字符串 |
唯一标识序列化协议缓冲区消息类型的 URL/资源名称。此字符串必须至少包含一个“/”字符。URL 路径的最后一个段必须表示类型的完全限定名称(如 |
AdmissionControlHealthInfo 传输关于准入控制部署的数据,但不包括从此数据导出的准入控制运行状况状态。不包括汇总的准入控制运行状况状态,因为它是在中心派生出来的,而不是在首先报告 AdmissionControlHealthInfo(传感器)的组件中派生出来的。
以下字段被设置为可选/可为空,因为在尝试获取它们时可能会出现错误,并且 0 的默认值可能会与实际值 0 混淆。如果在尝试获取某个字段时发生错误,则该字段将不存在(而不是具有默认值)。
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
totalDesiredPods |
整数 |
int32 |
|||
totalReadyPods |
整数 |
int32 |
|||
statusErrors |
|
尝试获取准入控制运行状况信息时发生的错误集合。 |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
enabled |
布尔值 |
||||
timeoutSeconds |
整数 |
int32 |
|||
scanInline |
布尔值 |
||||
disableBypass |
布尔值 |
||||
enforceOnUpdates |
布尔值 |
AuditLogFileState tracks the last audit log event timestamp and ID that was collected by Compliance For internal use only
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
collectLogsSince |
日期 |
日期时间 |
|||
lastAuditId |
字符串 |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
id |
字符串 |
||||
name |
字符串 |
||||
type |
通用集群,Kubernetes 集群,OpenShift 集群,OpenShift 4 集群, |
||||
labels |
|
||||
mainImage |
字符串 |
||||
collectorImage |
字符串 |
||||
centralApiEndpoint |
字符串 |
||||
runtimeSupport |
布尔值 |
||||
collectionMethod |
未设置收集,无收集,内核模块,eBPF,核心BPF, |
||||
admissionController |
布尔值 |
||||
admissionControllerUpdates |
布尔值 |
||||
admissionControllerEvents |
布尔值 |
||||
status |
|||||
dynamicConfig |
|||||
tolerationsConfig |
|||||
priority |
字符串 |
int64 |
|||
healthStatus |
|||||
slimCollector |
布尔值 |
||||
helmConfig |
|||||
mostRecentSensorId |
|||||
auditLogState |
仅供内部使用。 |
||||
initBundleId |
字符串 |
||||
managedBy |
未知管理器类型,手动管理器类型,Helm 图表管理器类型,Kubernetes 运算符管理器类型, |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
sensorCertExpiry |
日期 |
日期时间 |
|||
sensorCertNotBefore |
日期 |
日期时间 |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
id |
字符串 |
||||
collectorHealthInfo |
|||||
admissionControlHealthInfo |
|||||
scannerHealthInfo |
|||||
sensorHealthStatus |
未初始化,不可用,不健康,降级,健康, |
||||
collectorHealthStatus |
未初始化,不可用,不健康,降级,健康, |
||||
overallHealthStatus |
未初始化,不可用,不健康,降级,健康, |
||||
admissionControlHealthStatus |
未初始化,不可用,不健康,降级,健康, |
||||
scannerHealthStatus |
未初始化,不可用,不健康,降级,健康, |
||||
lastContact |
日期 |
日期时间 |
|||
healthInfoComplete |
布尔值 |
ClusterMetadata 包含有关集群基础设施的元数据信息。
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
type |
未指定,AKS,ARO,EKS,GKE,OCP,OSD,ROSA, |
||||
name |
字符串 |
名称表示集群在云提供商中注册的名称。对于自管理的 OpenShift,它是 OpenShift 安装程序选择的名称。 |
|||
id |
字符串 |
Id 代表集群在云提供商处注册的唯一 ID。并非所有集群类型都有 id。对于所有 OpenShift 集群,这是在 OCM 中注册的 Red Hat |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
传感器版本 |
字符串 |
||||
已弃用LastContact |
日期 |
此字段从 49.0 版本开始已弃用。请改用 healthStatus.lastContact。 |
日期时间 |
||
提供商元数据 |
|||||
编排器元数据 |
|||||
升级状态 |
|||||
证书过期状态 |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
可升级性 |
未设置,最新版本,需要手动升级,可自动升级,传感器版本更高, |
||||
可升级性状态原因 |
字符串 |
||||
最近的进程 |
CollectorHealthInfo 包含关于收集器部署的数据,但不包括由此数据得出的收集器健康状态。不包含汇总的收集器健康状态,因为它是在中心派生出来的,而不是在首先报告 CollectorHealthInfo(传感器)的组件中派生出来的。
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
版本 |
字符串 |
||||
totalDesiredPods |
整数 |
int32 |
|||
totalReadyPods |
整数 |
int32 |
|||
已注册节点总数 |
整数 |
int32 |
|||
statusErrors |
|
尝试获取收集器健康信息时发生的错误集合。 |
编码完整的集群配置,不包括 ID/名称标识符,包括静态和动态设置。
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
dynamicConfig |
|||||
静态配置 |
|||||
配置指纹 |
字符串 |
||||
集群标签 |
|
静态和动态集群配置之间的区别在于,动态值通过中央到传感器的 gRPC 连接发送。这使得无需重新启动安全集群组件即可“热重载”值。
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
准入控制器配置 |
|||||
注册表覆盖 |
字符串 |
||||
禁用审计日志 |
布尔值 |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
项目 |
字符串 |
||||
集群名称 |
字符串 |
已弃用,建议使用 providerMetadata.cluster.name。 |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
版本 |
字符串 |
||||
OpenShift 版本 |
字符串 |
||||
构建日期 |
日期 |
日期时间 |
|||
API 版本 |
|
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
区域 |
字符串 |
||||
区域 |
字符串 |
||||
谷歌 |
|||||
亚马逊 |
|||||
Azure |
|||||
已验证 |
布尔值 |
||||
集群 |
ScannerHealthInfo 代表部署在安全集群(所谓的“本地扫描器”)上的扫描器实例的健康信息。当扫描器部署在中央集群上时,不使用以下消息。ScannerHealthInfo 包含关于扫描器部署的数据,但不包括由此数据得出的扫描器健康状态。不包含汇总的扫描器健康状态,因为它是在中心派生出来的,而不是在首先报告 ScannerHealthInfo(传感器)的组件中派生出来的。
以下字段被设置为可选/可为空,因为在尝试获取它们时可能会出现错误,并且 0 的默认值可能会与实际值 0 混淆。如果在尝试获取某个字段时发生错误,则该字段将不存在(而不是具有默认值)。
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
所需分析器 Pod 总数 |
整数 |
int32 |
|||
已准备就绪的分析器 Pod 总数 |
整数 |
int32 |
|||
所需数据库 Pod 总数 |
整数 |
int32 |
|||
已准备就绪的数据库 Pod 总数 |
整数 |
int32 |
|||
statusErrors |
|
尝试获取扫描器健康信息时发生的错误集合。 |
StackRoxDeploymentIdentification 旨在唯一标识 StackRox 传感器部署。它用于确定传感器连接来自重新启动或重新创建的传感器 Pod(可能在网络分区之后),还是来自不同命名空间或集群中的部署。
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
系统命名空间 ID |
字符串 |
||||
默认命名空间 ID |
字符串 |
||||
应用命名空间 |
字符串 |
||||
应用命名空间 ID |
字符串 |
||||
应用服务帐户 ID |
字符串 |
||||
k8s 节点名称 |
字符串 |
静态和动态集群配置之间的区别在于,静态值不会通过中央到传感器的 gRPC 连接发送。例如,它们用于生成可用于设置安全集群的 k8s 组件的清单。它们不会动态重新加载。
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
type |
通用集群,Kubernetes 集群,OpenShift 集群,OpenShift 4 集群, |
||||
mainImage |
字符串 |
||||
centralApiEndpoint |
字符串 |
||||
collectionMethod |
未设置收集,无收集,内核模块,eBPF,核心BPF, |
||||
collectorImage |
字符串 |
||||
admissionController |
布尔值 |
||||
admissionControllerUpdates |
布尔值 |
||||
tolerationsConfig |
|||||
slimCollector |
布尔值 |
||||
admissionControllerEvents |
布尔值 |
字段名称 | 必填 (Required) | 可为空 | 类型 | 描述 (Description) | 格式 |
---|---|---|---|---|---|
升级状态 |
升级初始化中,升级程序启动中,升级程序已启动,预检完成,升级操作完成,升级完成,升级初始化错误,预检失败,升级错误回滚中,升级错误已回滚,升级错误回滚失败,未知升级错误,升级超时, |
||||
升级状态详情 |
字符串 |
||||
自 |
日期 |
日期时间 |
升级:升级表示传感器版本升级。
证书轮换:证书轮换表示仅轮换集群使用的 TLS 证书的升级过程,而无需更改任何其他内容。
枚举值 (Enum Values) |
---|
升级 |
证书轮换 |
升级程序启动中:进行中状态。
升级完成:成功状态。请将所有进行中状态编号在此上方,所有错误状态编号在此下方。
升级初始化错误:错误状态。
枚举值 (Enum Values) |
---|
升级初始化中 |
升级程序启动中 |
升级程序已启动 |
预检完成 |
升级操作完成 |
升级完成 |
升级初始化错误 |
预检失败 |
升级错误回滚中 |
升级错误已回滚 |
升级错误回滚失败 |
未知升级错误 |
升级超时 |