Skip to main content

Getting Started

EaaS (Edge as a Service) lets you control Akamai edge delivery and security through a single JSON configuration per tenant. This guide covers the config structure and key concepts to get you started.

What's in a Tenant Config

A tenant config has three main areas. Each is optional — only configure what you need.

Quick Start

The smallest useful config routes traffic to your origin:

tenant.jsonJSON
{
"tenant_id": "my-app",
"delivery_config": {
  "version": "1.0",
  "onClientRequest": {
    "features": {
      "route": {
        "rules": [{
          "args": { "originId": "default_eaas" },
          "pm_variables": {
            "RT_ORIGIN_DNS": "origin.example.com",
            "RT_ORIGIN_HOST_HEADER": "origin.example.com"
          }
        }]
      }
    }
  }
}
}

From here, add caching rules, security policies, headers, and other features as needed.

Key Concepts

Available Features

Click a feature name to see its full documentation and examples.

FeatureEvent HandlersDescription
caching
onClientRequest
Control how content is cached with flexible TTL rules and behaviors
downstreamCaching
onClientRequest
Control how edge servers instruct client browsers and intermediate proxies to cache content.
compression
onClientRequestonClientResponse
Enable gzip compression for specified content types to reduce bandwidth
setVariable
onClientRequestonOriginResponseonClientResponse
Set custom variables that can be used for logging and conditional processing
removeVary
onClientRequest
Remove or control the Vary response header to improve cache efficiency
tieredDistribution
onClientRequest
Configure tiered distribution settings for optimized content delivery
route
onClientRequest
Route requests to different origins based on path patterns
redirect
onClientRequest
Configure HTTP redirects with custom status codes and destination URLs
allowPost
onClientRequest
Enable or disable POST requests with rule-based conditions
allowPut
onClientRequest
Enable or disable PUT requests
allowDelete
onClientRequest
Enable or disable DELETE requests with rule-based conditions
allowPatch
onClientRequest
Enable or disable PATCH requests
respondWith
onClientRequestonClientResponse
Return custom responses without contacting the origin
setHeaders
onClientRequestonClientResponseonOriginResponse
Add, modify, or remove HTTP headers in requests and responses
http2
onClientRequest
No longer supported in tenant file. HTTP/2 is enabled by default for all tenants.
http3
onClientRequest
No longer supported in tenant file. HTTP/3 is enabled by default for all tenants.
webSockets
onClientRequest
Enable WebSocket support with conditional rules
chunkedTransferEncoding
onClientRequest
Enable or disable chunked transfer encoding
hsts
onClientRequest
Configure HTTP Strict Transport Security headers to enforce secure connections
originIpAcl
onClientRequest
Configure origin IP access control lists. [https://techdocs.akamai.com/origin-ip-acl/docs/welcome](https://techdocs.akamai.com/origin-ip-acl/docs/welcome)
breadcrumbs
onClientRequest
Enable breadcrumb tracking for debugging and monitoring
cacheTag
onOriginResponse
Tag cached content for easier invalidation
tenantTag
onClientRequest
Legacy tenant identification. Use top-level tenant_id instead
readTimeout
onClientRequest
Configure timeout for reading from origin with rule-based support
firstByteTimeout
onClientRequest
Configure timeout for first byte from origin with rule-based support
connectTimeout
onClientRequest
Configure timeout for establishing connection to origin (integer seconds, or rules object for conditional timeouts)

Next Steps