WASM paplašinājumi
Atsevišķs Wasm būvējums, kas balstīts uz pilno ražošanas profilu, ar ierobežotiem politikas āķiem, ACME, metriku un OpenTelemetry
Ko tas dod
Atsevišķs Wasm būvējums, kas balstīts uz pilno ražošanas profilu, ar ierobežotiem politikas āķiem, ACME, metriku un OpenTelemetry.
| Funkcija | Izmanto tam |
|---|---|
| Piekļuves lēmumi | Dzīvie native HTTP/1 access-decision hooki izmanto prioritāšu secību, first-deny-wins kompozīciju un fail-closed uzvedību. |
| Header-hooki | request-headers un response-headers hooki var iestatīt vai noņemt tikai atļautus sintētiskus headerus, piemēram, policy-tier piemēru. |
| Maršruta lēmumi | route-decision hooki var tikai turpināt, liegt vai izvēlēties konfigurētus atbilstošus canary un mirror maršruta zarus. |
| Cache lēmumi | cache-lookup hooks var veikt continue, pass, bypass vai deny. cache-store hooks var veikt continue, skip storage vai deny pirms memory/disk cache rakstīšanas. |
Palaist
Izmantojiet īpašo profile-wasm arhīvu vai attēlu; parastajā pilnajā būvējumā Wasm apzināti nav iekļauts.
Oficiālajā Wasm attēlā ir izpildvide, bet nav operatora spraudņu. Pievienojiet pārbaudītos moduļus tikai lasīšanai un piesaistiet katru moduli SHA-256 kontrolsummai.
podman pull ghcr.io/valkyoth/fluxheim:v1.8.0-wasm
podman run --rm \
-v ./fluxheim.toml:/etc/fluxheim/fluxheim.toml:ro,Z \
-v /srv/infra/fluxheim/plugins:/etc/fluxheim/plugins:ro,Z \
ghcr.io/valkyoth/fluxheim:v1.8.0-wasm
Apstiprinātas spraudņu saknes
Plugin failiem jābūt absolūtiem regulāriem failiem zem apstiprinātām saknēm, bez symlink failiem vai parent paths.
[wasm]
enabled = true
plugin_roots = ["/etc/fluxheim/plugins"]
max_total_concurrent_executions = 256
max_total_preview_concurrent_executions = 32
max_total_cache_concurrent_executions = 256
[[wasm.plugins]]
name = "security_headers"
path = "/etc/fluxheim/plugins/security_headers.wasm"
sha256 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
abi = "fluxheim-policy-v1"
host_call_namespace = "fluxheim-policy-v1"
phases = ["response-headers"]
fail_mode = "fail-closed"
[[wasm.attachments]]
plugin = "security_headers"
vhost = "example"
priority = 100
phases = ["response-headers"]
Ierobežota izpilde
Fuel, memory, table, instance, compile-timeout, compile-worker un per-call watchdog limiti uztur sandbox ierobežotu.
[wasm.plugins.limits]
max_module_bytes = "1MiB"
max_compiled_artifact_bytes = "32MiB"
max_memory_bytes = "16MiB"
max_table_elements = 10000
fuel = 5000000
timeout_ms = 50
compile_timeout_ms = 500
Production piezīmes
Tikai lasāms konteinera montējums neaizsargā resursdatora failus. Glabājiet resursdatora konfigurāciju un spraudņu direktoriju uzticama īpašnieka pārvaldībā bez rakstīšanas tiesībām.
- Publiskajos spraudņu manifestos jābūt fiksētam SHA-256 kopsavilkumam. Visā procesā vienlaikus drīkst kompilēt ne vairāk kā divus moduļus. Kompilētās izvades noklusējuma ierobežojums ir 32 MiB, un tā nedrīkst pārsniegt 256 MiB.
- Glabājiet konfigurācijas failus un visus esošos augstāka līmeņa direktorijus uzticama īpašnieka pārvaldībā un neļaujiet grupai vai citiem lietotājiem tajos rakstīt.
- Piespraud release versijas vai image digestus.
- Turi secrets failos, environment vai container secrets, nevis publiskā dokumentācijā.