Configuration
Initial configuration and setup of a V3 servers of most types are handled
primarily through a program called invoker. Permanent servers, such as
NFS servers, bastions, or other accessory servers, are maintained by request
to Webscale support following their initial creation. Cluster-based servers,
such as web servers, cron servers, consumer servers, or other servers based
on the web-server image family are expected to only be configured and
maintained through their initial configuration. This is due to their transient
nature.
Invoker configuration
For invoker to run successfully, it needs three pieces of configuration:
- Bootstrap sequence locator
- Customer name
- Environment name
The primary configuration for invoker is called the “bootstrap sequence”. It is
a sequence of commands retrieved at server startup from an locator that usually
specifies an S3 bucket. For most of the history of invoker, the only way to
specify a bootstrap locator was to provide the file
/opt/webscale/invoker/etc/invoker-service-boot.cmd with a “locator”. A locator
is a URL-like string specifying the location of a resource. Most bootstrap
locators are of the form:
s3:region:customer-environment-config:/bootstrap.cmd. There are multiple
ways to populate the file for invoker, but the most typical way is to write it
using a cloud-init shell script in an AWS launch template specified by a cluster
that creates servers.
Customer and environment names which allow it to log its activity to
CloudWatch in most AWS-based environments. Similarly to the bootstrap sequence,
these are usually written by a cloud-init script in a launch template to
the file /opt/webscale/invoker/etc/invoker-service.conf.
However, beginning in release 2026.36 of the web server image, invoker can be configured entirely from its cluster metadata, by providing values for following keys. This allows for the elimination of a cloud-init script entirely.
| Key | Description |
|---|---|
| CONTAINER_IMAGE_URI | When a cluster is configured to refer to a container image, this key is automatically set. |
| WEBSCALE_BOOTSTRAP | Invoker locator to find bootstrap sequence. For example: s3:us-east-1:customer-env-config:/bootstrap.cmd |
| WEBSCALE_CUSTOMER | Customer name used for setting up CloudWatch logging |
| WEBSCALE_ENVIRONMENT | Environment name used for setting up CloudWatch logging |
| WEBSCALE_SHARE | Specifies the root of a shared file system. For example: /var/www/shared/mysite.com |
| WEBSCALE_SHARED_DIRS | Specifies which subdirectories are shared by shell, relative to the html subdirectory. For example: pub/media var |
Last modified on August 11, 2026