Deploying a shared script runner
A can be added to each you install in your cloud infrastructure. You should follow the documentation to create a , but additionally set the following optional parameters. The specific method to set these will depend on your platform and deployment method, but the parameters remain the same in every case. This process assumes you’re deploying a new . To add a to an existing instance, read Adding the to an existing Maia runner.-
Enable Script Runner: Set to
trueto deploy the service. No resources are created when set tofalse. If this parameter is set tofalse(the default), then the following three parameter settings are irrelevant and ignored. -
Script Runner Size: The size determines CPU and memory available for running scripts. This is independent of the size, and should be sized purely based on the volume and complexity of scripts you will push to this runner. Select from
small(the default),medium,large, andxlarge, based on the following: -
Script Runner Container Image URL: The container image for the . Use an image that corresponds to your platform requirements:
-
Runner Authorized SSH Keys: Enter the SSH public keys that the will trust. For example, use the following command to create an SSH key pair:
Adding the shared script runner to an existing Maia runner
Your existing instances can be updated to include the , without redeploying the underlying infrastructure. This requires a minimum version of11.445.2. Runner versions before 11.445.2 should be updated to a newer version before adding the .
The process for adding the depends on the deployment orchestrator (Kubernetes or otherwise).
Kubernetes deployments (EKS, AKS, GKE)
The default way to configure the is to add ascriptRunner: block to your Helm values file. You can add this block to your existing my-values.yaml file, or use a separate YAML file dedicated to configuration. Set the following values:
-
enabled: true. -
Image repo (
image.repository). -
SSH keypair (
authorizedKeysandprivateKey). The chart does not auto-generate these. For keys that span multiple lines, use the YAML|block scalar syntax: -
Cloud-specific service account (
serviceAccount.roleArnfor AWS,clientIdfor Azure, andserviceAccountEmailfor Google Cloud).
scriptRunner block, including the image repository, tag, resource sizing, and cloud-specific fields, in the runner Helm chart’s values.yaml file.
Then apply the values file:
helm upgrade --set and --set-file, without editing a values file.
The Helm chart handles everything else: deploys the new pod, creates the service account, and enables networking. The existing pod gets a rolling restart to inject MTLN_SCRIPT_RUNNER_HOST.
The
scriptRunner block was added to the Helm chart on May 29, 2026. If you’re on an older chart version, you may need to update your chart before the scriptRunner block is available.Non-Kubernetes deployments (ECS, Azure Container Apps)
Addenable_script_runner = true to the existing terraform.tfvars and run terraform apply. All new resources are created automatically.
In ECS, enabling Service Connect triggers a rolling replacement of existing runner tasks.
In Azure Container Apps, the deployment name must be no more than 11 characters, or the plan will fail.
Managing a shared script runner
You can stop and restart the service from within the cloud platform. Read your appropriate platform documentation for instructions on stopping and starting services. Matillion may issue updates from time to time. To update to a newer version, restart the service. This automatically pulls the newmaia-script-runner:latest image from the appropriate image repository.
Importing libraries
The includes the Python Standard Library for Python version3.12.x. No other libraries are included by default, but you can import any other Python 3-compatible library. You’ll need to install the required libraries in your cloud storage (Amazon S3 bucket, Azure Blob Storage container, or GCS bucket) and specify that location in the environment variable EXTENSION_LIBRARY_LOCATION. For more information, read Installing Python libraries. To use these additional Python libraries, you’ll need to include appropriate imports in your Python script, following standard Python practice.
Default user
The default user for the ismtln.