Zgjerime WASM
Ndërtim i posaçëm Wasm i bazuar te profili i plotë i prodhimit, me pika politike të kufizuara, ACME, metrika edhe OpenTelemetry
Çfarë të jep
Ndërtim i posaçëm Wasm i bazuar te profili i plotë i prodhimit, me pika politike të kufizuara, ACME, metrika edhe OpenTelemetry.
| Veçoria | Përdore për |
|---|---|
| Vendime hyrjeje | Native HTTP/1 access-decision hooks live përdorin rend përparësie, first-deny-wins edhe sjellje fail-closed. |
| Header-hooks | request-headers edhe response-headers hooks mund të vendosin ose heqin vetëm headers sintetike të lejuara, si shembulli policy-tier. |
| Vendime route | route-decision hooks mund vetëm të vazhdojnë, të refuzojnë apo të zgjedhin degë route canary edhe mirror të konfiguruara që përputhen. |
| Vendime cache | cache-lookup hooks mund të bëjnë continue, pass, bypass ose deny. cache-store hooks mund të bëjnë continue, skip storage ose deny para shkrimeve memory/disk cache. |
Ekzekuto
Përdor arkivin ose imazhin e posaçëm profile-wasm; ndërtimi i zakonshëm i plotë qëllimisht rri pa Wasm.
Imazhi zyrtar Wasm e përmban runtime-in, po jo plugin-et e operatorit. Monto modulet e kontrolluara vetëm për lexim edhe fikso çdo modul me SHA-256.
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
Rrënjë pluginash të miratuara
Kartelat e plugin-it duhen me qenë kartela të rregullta me udhë absolute nën rrënjë të miratuara, pa lidhje simbolike ose udhë prind.
[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"]
Ekzekutim i kufizuar
Fuel, memory, table, instance, compile-timeout, compile-worker and per-call watchdog limits keep the sandbox bounded.
[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
Shënime prodhimi
Montimi vetëm për lexim i kontejnerit nuk i mbron file-t e host-it. Mbaji konfigurimin e host-it edhe direktorinë e plugin-eve nën pronësi të besuar pa të drejtë shkrimi.
- Manifestet publike të plugin-eve duan një digest SHA-256 të fiksuar. Në tërë procesin kompilohen njëherësh jo më shumë se dy module. Dalja e kompiluar ka kufi të parazgjedhur 32 MiB edhe nuk mund të kalojë 256 MiB.
- Mbaji skedarët e konfigurimit edhe çdo direktori prind që ekziston nën pronësi të besuar, pa të drejtë shkrimi për grupin a përdorues të tjerë.
- Fikso versionet e publikimit ose image digests.
- Mbaji sekretet në skedarë, environment ose container secrets, jo në dokumente publike.