Deploying the Native Node with Helm Chart¶
The Wallarm Native Node, which operates independently of NGINX, is designed for deployment with some connectors. You can run the Native Node on as a separate service or as a load balancer in your Kubernetes cluster using the Helm chart.
Use cases¶
Deploy the Native Node with Helm chart in the following cases:
-
When you deploy a Wallarm connector for MuleSoft, Cloudflare, Amazon CloudFront, Broadcom Layer7 API Gateway, Fastly and require the node to be self-hosted. This is ideal if you are already using Kubernetes management platforms like OpenShift, Amazon EKS, Azure AKS, or Google GKE. The node is set up as a load balancer with a public IP for easy traffic routing.
-
When you deploy a Wallarm connector for Kong API Gateway or Istio. The node is deployed with the clusterIP type for internal traffic, without exposing a public IP.
Requirements¶
The Kubernetes cluster for deploying the Native Node with the Helm chart must meet the following criteria:
-
Helm v3 package manager installed.
-
Inbound access from your API gateway or CDN where your APIs are running.
-
Outbound access to:
https://charts.wallarm.com
to download the Wallarm Helm charthttps://hub.docker.com/r/wallarm
to download the Docker images required for the deploymenthttps://us1.api.wallarm.com
orhttps://api.wallarm.com
for US/EU Wallarm Cloud-
IP addresses below for downloading updates to attack detection rules and API specifications, as well as retrieving precise IPs for your allowlisted, denylisted, or graylisted countries, regions, or data centers
-
If deploying with the
LoadBalancer
type, you need a domain and a trusted SSL/TLS certificate. -
In addition to the above, you should have the Administrator role assigned in Wallarm Console.
Limitations¶
-
When deploying the Wallarm service with the
LoadBalancer
type, a trusted SSL/TLS certificate is required for the domain. Self-signed certificates are not yet supported. -
Custom blocking page and blocking code configurations are not yet supported.
-
Rate limiting by the Wallarm rule is not supported.
-
Multitenancy is not supported yet.
Deployment¶
1. Prepare Wallarm token¶
To install node, you will need a token for registering the node in the Wallarm Cloud. To prepare a token:
-
Open Wallarm Console → Settings → API tokens in the US Cloud or EU Cloud.
-
Find or create API token with the
Deploy
source role. -
Copy this token.
2. Add the Wallarm Helm chart repository¶
3. Prepare the configuration file¶
Deploying the native Wallarm node as a LoadBalancer with a public IP allows you to route traffic from MuleSoft, Cloudflare, Amazon CloudFront, Broadcom Layer7 API Gateway, Fastly to this IP for security analysis and filtration.
- Register a domain for the load balancer.
- Obtain a trusted SSL/TLS certificate.
-
Create the
values.yaml
configuration file with the following minimal configuration. Choose the tab for your preferred method of applying the certificate:If you use
cert-manager
in your cluster, you can generate the SSL/TLS certificate with it.You can pull SSL/TLS certificate from an existing Kubernetes secrets in the same namespace.
The
customSecret
configuration allows you to define a certificate directly as base64-encoded values.
When deploying Wallarm as a connector for Kong API Gateway or Istio you deploy the Native Node for this connector with the ClusterIP type for internal traffic, without exposing a public IP.
Create the values.yaml
configuration file with the following minimal configuration:
4. Deploy the Wallarm service¶
5. Get the Wallarm load balancer¶
If deploying with the LoadBalancer
type:
-
Get the external IP for the Wallarm load balancer:
Find the external IP for the
native-processing
service. -
Create an A record in your DNS provider, pointing your domain to the external IP.
After the DNS propagates, you can access the service via the domain name.
6. Apply Wallarm code to an API management service¶
After deploying the node, the next step is to apply the Wallarm code to your API management platform or service in order to route traffic to the deployed node.
-
Contact sales@wallarm.com to obtain the Wallarm code bundle for your connector.
-
Follow the platform-specific instructions to apply the bundle on your API management platform:
Upgrade¶
To upgrade the node, follow the instructions.