SShortSingh.
Back to feed

Guide: Deploying SafeLine WAF as a Kubernetes Workload to Protect Apps

0
·59 views

SafeLine is a containerized, reverse-proxy web application firewall that can be deployed on Kubernetes like any standard workload. It sits between the cluster's Ingress or LoadBalancer and upstream application services, inspecting all incoming traffic before it reaches protected apps. The setup involves creating a Deployment and Service for SafeLine, then pointing existing Ingress rules at it instead of directly at individual applications. Each protected app is registered in the SafeLine management console using its internal Kubernetes Service DNS address as the upstream. The free Community Edition supports up to 10 applications at 800 requests per second.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingHacker News ·

The Qlobe: A Rotating Quine Art Piece from 2010

A 2010 blog post introduces the Qlobe, a rotating quine, which is a self-reproducing artistic or programmatic object. The article is shared on Hacker News, where it received 4 points and no comments at the time of capture. The source text provides little detail beyond the title and metadata, so specifics about the design and construction are not described. The post appeared on the blog mamememo.blogspot.com and was published in September 2010. Readers are directed to the original blog post for the full description.

0
ProgrammingDEV Community ·

US LTL Freight Class Density Scale Changed in July 2025, Many Calculators Outdated

The National Motor Freight Traffic Association rewrote the density scale used to determine freight class for most US less-than-truckload shipments, effective July 19, 2025. The revised scale expanded from 11 to 13 density-based classes, and many commodities that once carried a fixed class now classify by density alone. The developer of CheckFreightClass reports that numerous online calculators still rely on the old table, some even producing a class 500 result that the current scale cannot generate. The article explains that density is calculated by dividing weight by volume, including pallets and overhang, and recommends classing each piece individually rather than blending densities. It also advises shippers to verify outputs against published test cases, since boundary values are where calculators most often diverge.

0
ProgrammingDEV Community ·

Flutter developers target jank-free 120Hz rendering with DevTools profiling and leak fixes

Modern 120Hz phones leave only about 8.3 milliseconds per frame, so even small delays cause visible stutter. Flutter splits work between the UI thread, which runs Dart logic and layout, and the raster thread, which sends draw calls to the GPU, and either exceeding the budget drops a frame. Developers are advised to profile on physical devices in Profile Mode rather than Debug Mode, using DevTools' frame chart, CPU profiler and timeline. The article highlights costly patterns such as saveLayer triggered by Opacity widgets, excessive rebuilds from top-level state changes, and repaints that RepaintBoundary can isolate. It also warns that uncancelled stream subscriptions and listeners can cause memory leaks that eventually stall the app.

0
ProgrammingDEV Community ·

Fixing nginx 'host not found in upstream' error in Docker

An nginx container in Docker can exit immediately with a 'host not found in upstream' error when the backend hostname cannot be resolved at startup. nginx resolves each proxy_pass hostname once when it launches, so it refuses to run if Docker's DNS cannot answer for that name. A test on Docker Engine 29.9.2 reproduced the failure, and the same error is widely reported in community forums. The main cause is that the backend container is not running or is not on the same user-defined network as nginx, since the default bridge network provides no container name resolution. Solutions include attaching both containers to one user-defined network, using the correct service name or alias, or adding a resolver directive to let nginx start without the backend and track IP changes.