Akamai Browser — A browser instance configured for Akamai Staging Network
In restrictive computing environments, it's difficult/impossible to test against the Akamai staging network since users may not have access to update host files. Additionally, it's not user-friendly for business users.
Here is one way to deliver on-demand Akamai browser instances with proper configuration for Akamai staging. An instance can be provisioned with a unique URL for each user.
UX
- A user requests a new instance via various avenues (chat, CI pipeline, etc)
- Automation magic
- The user receives a link to access the instance and begins spoof testing 💥
DNS
The core part of this is to configure the domain names for akamai staging. Here we use a bind9 server with zones for each domain. In the zone file, a CNAME record (the akamai staging hostname i.e “my-domain.edgekey-staging.net”) is created for each subdomain to spoof.
Akamai Browser
This is essentially a Chrome Browser with the Modheader plugin installed. noVNC is the web front-end and connects to the Chrome instance using TigerVNC.
Akamai Browser Operator
I created a helm chart to deploy the akamai browser instances. Creating an operator from this was super easy using the operator-sdk with helm plugin. Having a CRD to request an instance is pretty sweet.
Mobile apps
Creating instances for Android apps should be doable, but this is a work in progress. Not sure about iPhone apps.