kubewarden/go-wasi-policy-template

GitHub: kubewarden/go-wasi-policy-template

基于 Go 和 WASI 的 Kubewarden 策略开发模板,用于实现 Kubernetes 资源的注解管理准入控制。

Stars: 0 | Forks: 1

[![稳定版](https://img.shields.io/badge/status-stable-brightgreen?style=for-the-badge)](https://github.com/kubewarden/community/blob/main/REPOSITORIES.md#stable) 这是一个使用 Go 编写的普通 WASI 策略模板。该策略随后使用官方 Go 编译器进行编译。 ## 已知限制 由于 Go 编译器尚未成熟支持 [WASI](https://wasi.dev/) 而导致的技术限制: * 该策略需要 Go 1.21 或更高版本。目前该版本尚未发布,因此需要使用基于 [`master`](https://github.com/golang/go) 构建的 Go 编译器 * 策略的大小比 TinyGo 生成的要大 * 此策略要求 Kubewarden 支持新的 `wasi` 执行模式。与传统 `wapc` 模式相比,此模式的评估时间较慢。 一旦 [这个](https://github.com/golang/go/issues/42372) Go issue 得到解决,该策略将被重写以使用传统的 Kubewarden 策略接口。 ## 用法 此策略可以检查任何类型的 Kubernetes 资源并确保: * 资源未使用用户定义的注解列表 * 资源始终包含用户定义的注解字典 策略配置包含以下条目: * `requiredAnnotations`:一个字典,包含必须在资源内定义的注解列表。如果未定义,这些注解将由策略添加 * `forbiddenAnnotations`:不允许的注解列表。如果资源包含这些注解中的任何一个,准入请求将被拒绝 ### 示例 给定以下配置: ``` requiredAnnotations: cc-center: marketing priority: low forbiddenAnnotations: - team - squad ``` 所有的 Kubernetes 资源都将具有以下注解: * `cc-center`,值为 `marketing` * `priority`,值为 `low` 同时,将不允许创建设置了 `team` 或 `squad` 注解的资源。
标签:AI工具, EVTX分析, Go, Go 1.21, Kubernetes 策略, Kubewarden, Ruby工具, WaPC, WASI, WebAssembly, 准入控制器, 子域名突变, 数据科学, 日志审计, 标签治理, 注解管理, 策略即代码, 策略模板, 聊天机器人安全, 资源验证