ZH
EUR
免费版免费 安装

GitOps

Keep ToutWAF's policy as files in Git: export, validate, compare, test, simulate, then apply and publish from CI. An Ansible role installs the nodes; the Terraform provider is not shipped yet.

All functions

Where to find it in the console : Command line: toutwafctl policy and toutwafctl test; console: Policies (versions, comparison, approval).

What it is for

Policy in Git

Export the current configuration as YAML, version it, change it through pull requests and review changes like code.

Detect drift

policy diff exits with code 3 when changes are pending, like git diff --exit-code: a nightly job sees whether someone changed the console.

Test before applying

Schema and DSL validation, rule tests with JUnit output, simulation on stored real traffic.

Roll back

Policy versions can be listed, published and rolled back with one command; each version has its comparison.

A typical workflow

The same commands serve GitHub Actions, GitLab CI, Jenkins and others.

1. Export

toutwafctl policy export -o policy.yaml, as YAML or JSON, for everything or for one site.

2. Validate

toutwafctl policy validate -f policy.yaml: the schema and the DSL are checked.

3. Compare

toutwafctl policy diff -f policy.yaml: 0 for no change, 3 with changes pending, 1 if the file is invalid.

4. Test and simulate

toutwafctl test and toutwafctl simulate, with a JUnit report for CI.

5. Apply and publish

toutwafctl policy apply -f policy.yaml --publish --comment “PR 123”. Without --prune, apply only adds and changes; with --prune it deletes what is absent from the file.

6. A minimal token

The CI token carries only policy:read, policy:write, policy:publish, apps:read, rules:read (and exceptions:write if the file contains exceptions), with an expiry.

What exists

Covered by the product's tests.

  • Export, validation, comparison, apply, publish and rollback on the command line.
  • Four-eyes approval before a version goes live, in the console.
  • An Ansible role that wraps the installer: version, group, enrolment token, policy and node configuration, with validation before writing.
  • A Helm chart with the policy as a hot-reloaded ConfigMap.

What does not exist yet

Said plainly.

  • The Terraform provider is a skeleton: the REST client works, but not the Terraform resource layer. Meanwhile call toutwafctl from Terraform or manage the policy file as code.
  • No published GitHub Action exists: the workflow above (a few toutwafctl commands) is the supported pattern.
  • The Kubernetes operator is a skeleton: the resource definitions and the translation library exist, not the controller or its image.

What is not done, or not proven

We prefer to say it plainly.

  • The Ansible role, Helm chart and manifest files come with your ToutWAF distribution, not in the public repository, which holds binaries and installers only.
  • A simulation replays stored events; it does not prove what will happen on future traffic.
  • “apply --prune” deletes objects: read the comparison before using it in CI.

Use cases

A policy reviewed like code

Every change goes through a pull request, tests and a simulation before being published.

A fleet driven from Git

Nodes are installed by Ansible with a policy in group variables, validated before it is written.

Watch for drift

A nightly job compares the file with the console and warns if the gap is not zero.

What is included, by edition

The basics are free; the advanced options need a paid offer. An option under licence stays visible in the console, locked, never hidden.

版本免费 包含在所有方案中,包括两个免费方案(Free 和 Free +)Pro 及以上 付费方案:在控制台中可见,无许可证时被锁定。从 Pro 起,另有标注 Agency 或 Enterprise 的除外

规则、策略与发布

  • 策略即代码:在 CI 中导出、校验、比对并应用 YAML 或 JSON免费
  • 版本管理、结构化差异比对,一步回滚免费
  • 版本上线前需第二人审批(四眼原则)免费

集成

  • 用于 Git 和 CI 的策略文件、Ansible 角色、Helm Chart,以及面向 Terraform 的 API 客户端免费

随时都可以把高级选项恢复为默认值。付费许可证结束后会发生什么,见定价页的常见问题:48 小时宽限期、48 小时只读,之后 WAF 防护关闭,直到续订。

价格 Read the documentation

今天就为您的应用加上一道防护盾

把它安装在您自己的服务器上,或来信咨询许可证事宜。

Learn more in the documentation