kubewarden/kubewarden-end-to-end-tests

GitHub: kubewarden/kubewarden-end-to-end-tests

Kubewarden 的端到端测试框架,用于验证 Kubernetes 策略引擎在多种部署场景下的功能与稳定性。

Stars: 2 | Forks: 7

[![Kubewarden Infra Repository](https://github.com/kubewarden/community/blob/main/badges/kubewarden-infra.svg)](https://github.com/kubewarden/community/blob/main/REPOSITORIES.md#infra-scope) [![Stable](https://img.shields.io/badge/status-stable-brightgreen?style=for-the-badge)](https://github.com/kubewarden/community/blob/main/REPOSITORIES.md#stable) ## [Charts 测试矩阵](https://github.com/kubewarden/helm-charts/blob/main/.github/workflows/e2e-tests.yml) | Trigger | Charts | K3S | Notes | Status | |-------------------- |----------------- |----- |---------------------- | :--------: | | nightly (schedule) | latest tag | k3d | | [![E2E](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/4826aa803d212241.svg)](https://github.com/kubewarden/helm-charts/actions/workflows/e2e-tests.yml?query=event%3Aschedule) | | | source (main) | k3d | :latest images | | | airgap (every Friday)| latest tag | k3s | | [![Airgap E2E Tests](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/f9c77376cc212242.svg)](https://github.com/kubewarden/helm-charts/actions/workflows/e2e-airgap.yml?query=event%3Aschedule) | | release (tag) | release tag | k3d | | [![E2E](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/5f815232ad212243.svg)](https://github.com/kubewarden/helm-charts/actions/workflows/e2e-tests.yml?query=event%3Aworkflow_run) | | | previous stable | k3d | upgrade to released | | | | release tag | old | oldest supported k8s | | | pull request | source (pr) | k3d | | | | manual | any | any | any | | # kubewarden-end-to-end-tests 本仓库包含运行 Kubewarden 端到端测试所需的所有文件。 `tests` 目录中存储了使用 bats 测试框架编写的测试。 `reposources` 目录包含测试执行过程中使用的所有文件,例如用于部署 Kubernetes 资源的 yaml 文件。 ## 需求 测试是使用 [bats](https://github.com/bats-core/bats-core) 编写的。 最低要求版本为 v1.7.0。因此,需要在您的环境中安装它。 为此,您可以检查操作系统的软件包仓库,或遵循 [官方文档](https://bats-core.readthedocs.io/en/stable/installation.html#installation)。 其他必需的依赖项: ``` # k3d curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash # yq - python yq 语法不同于 mikefarah binary Use mikefarah binary, github-runners and zypper default to it # 此外还需要 kubectl、helm、docker……您可以运行: make check ``` ## 设置集群和 kubewarden Makefile 包含许多目标,旨在简化测试环境的设置和任务运行: ``` # 安装 :latest 镜像及自定义参数 make cluster K3S=1.30 \ install LATEST=1 DEFAULTS_ARGS="--set recommendedPolicies.enabled=True" CONTROLLER_ARGS="-f custom.yaml" # 从本地目录安装 ln -s ../helm-charts/charts make cluster install CHARTS_LOCATION=./charts # 安装上一个稳定版本并升级到本地 chart make cluster install VERSION=prev make upgrade CHARTS_LOCATION=./charts # 删除集群 make clean ``` ## 运行测试 一旦您拥有一个安装了 Kubewarden 的集群,就可以运行测试。 ``` # 所有测试文件的 target 均由文件名自动生成 make monitor-mode-tests.bats reconfiguration-tests.bats # 运行所有测试 make tests ``` 所有测试都在指定的 `kubectl` context 上运行。因此,如果您想在现有的集群上运行测试,需要定义 context: ``` CLUSTER_CONTEXT=k3d-mycluster make basic-end-to-end-test.bats ``` 也可以查看 helm-charts 仓库,了解如何在 [Github workflow](https://github.com/kubewarden/helm-charts/blob/main/.github/workflows/e2e-tests.yml) 中运行此测试。 ## 更新策略 ``` ~ cd kwctl/e2e-tests/test-data/sigstore ~ COSIGN_PASSWORD=kubewarden cosign sign --key cosign1.key -a env=prod -a stable=true ghcr.io/kubewarden/tests/pod-privileged:v0.2.1 ~ COSIGN_PASSWORD=kubewarden cosign sign --key cosign2.key -a env=prod ghcr.io/kubewarden/tests/pod-privileged:v0.2.1 ```
标签:Chrome Headless, DevSecOps, E2E测试, Github Actions, Helm Charts, K3d, K3s, Kubernetes安全, Kubewarden, Pandas, Rancher, WebAssembly, Web截图, 上游代理, 基础架构测试, 容器安全, 应用安全, 开源框架, 持续集成, 测试矩阵, 空气隔断环境, 端到端测试, 策略引擎, 系统升级, 网络安全挑战, 请求拦截