WASM-viðbætur
Sérstök Wasm-smíð byggð á fulla framleiðslusniðinu, með afmörkuðum stefnukrókum, ACME, mæligögnum og OpenTelemetry
Hvað það gefur þér
Sérstök Wasm-smíð byggð á fulla framleiðslusniðinu, með afmörkuðum stefnukrókum, ACME, mæligögnum og OpenTelemetry.
| Eiginleiki | Notaðu það fyrir |
|---|---|
| Aðgangsákvarðanir | Lifandi native HTTP/1 access-decision-hookar nota forgangsröð, first-deny-wins-samsetningu og fail-closed-hegðun. |
| Header-hookar | request-headers og response-headers hookar geta aðeins sett eða fjarlægt leyfða tilbúna headera, eins og policy-tier-dæmið. |
| Leiðarákvarðanir | route-decision-hooks geta aðeins haldið áfram, hafnað eða valið stilltar samsvarandi canary- og mirror-leiðargreinar. |
| Cache ákvarðanir | cache-lookup hooks geta gert continue, pass, bypass eða deny. cache-store hooks geta gert continue, skip storage eða deny áður en skrifað er í memory/disk cache. |
Keyra
Notaðu sérstaka profile-wasm-safnið eða -myndina; venjulega fulla smíðin er viljandi án Wasm.
Opinbera Wasm-myndin inniheldur keyrsluumhverfið en engar viðbætur rekstraraðila. Tengdu yfirfarnar einingar skrifvarðar og festu hverja einingu 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
Godkända pluginrötter
Pluginfiler måste vara absoluta, reguljära filer under godkända rötter, utan symlinkade filer eller överordnade sökvägar.
[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"]
Begränsad körning
Gränser för fuel, minne, tabell, instans, kompilerings-timeout, kompileringsarbetare och watchdog per anrop håller sandboxen begränsad.
[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-athugasemdir
Skrifvarin gámatenging verndar ekki skrárnar á hýslinum. Haltu hýsilstillingum og viðbótamöppu undir traustu eignarhaldi án skrifheimilda.
- Opinber viðbótarmyndrit verða að innihalda fast SHA-256-samantektargildi. Í öllu ferlinu eru í mesta lagi tvær einingar þýddar samtímis. Þýdd úttak hefur sjálfgefin mörk 32 MiB og má ekki fara yfir 256 MiB.
- Haltu stillingarskrám og öllum fyrirliggjandi yfirmöppum undir traustu eignarhaldi og tryggðu að hópar eða aðrir notendur geti ekki skrifað í þær.
- Festu release-útgáfur eða image digest.
- Hafðu leyndarmál í skrám, umhverfi eða container secrets, ekki í public docs.