> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Download and amend the Azure Resource Manager template for a Streaming runner

export const s_runner = "Streaming runner";

export const maia = "Maia";

export const RunnerMetadata = ({runnerType, platforms = []}) => {
  return <div style={{
    background: 'var(--colors-background-light, #f9fafb)',
    border: '1px solid var(--colors-border-default, #e5e7eb)',
    borderRadius: '12px',
    padding: '20px 28px',
    marginBottom: '28px',
    boxShadow: '0 1px 4px rgba(0,0,0,0.10)'
  }}>
      <table style={{
    width: '100%',
    borderCollapse: 'collapse'
  }}>
        <tbody>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle',
    width: '180px'
  }}>Runner type</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>{runnerType}</td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Runner platform</td>
            <td style={{
    verticalAlign: 'middle'
  }}>
              <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    gap: '8px'
  }}>
                {platforms.map((platform, i) => <span key={i} style={{
    background: '#dcfce7',
    color: '#15803d',
    border: '1px solid #bbf7d0',
    borderRadius: '9999px',
    padding: '3px 12px',
    fontSize: '0.85rem',
    fontWeight: '500',
    whiteSpace: 'nowrap'
  }}>
                    {platform} ✅
                  </span>)}
              </div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>;
};

<RunnerMetadata runnerType="Streaming" platforms={["Azure"]} />

You can download and modify the Azure ARM/ACI template used to create the {s_runner} container instance.

The template is a collection of parameters in JSON format, following the standard ARM template specification. Read [Understand the structure and syntax of ARM templates](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/syntax) in the Azure documentation for further details.

The parameters held in the template correspond exactly to the fields that you can edit on the **Custom deployment** screen, as described in [{s_runner} installation on Azure](/docs/streaming/azure-streaming-agent-install). Although modifying the template introduces an additional step to the container instance creation process and requires some additional technical knowledge, you may find this method advantageous for a number of reasons. For example, you can reuse the modified template to create additional agents that you know will have a consistent configuration.

***

## Download and edit the template

1. In {maia}, follow the steps to [create a new {s_runner}](/docs/streaming/create-streaming-agent), with **Azure** as the cloud provider.
2. On the **Runner details** screen, click the **Download** button in the **Install using ARM** section. This will download the ARM/ACI template to your browser's default download location, as a file named `arm-template.json`.
3. Edit the template using your preferred text editor.

<Warning>
  Entering invalid parameters, or deviating from the expected format of the JSON file, will likely cause your template installation to fail. Be sure you understand the implications of your edits before proceeding.
</Warning>

Once your edits are finished, you can use the edited template in Azure to deploy the agent, as described in the following section.

***

## Deploy the agent from the template

1. On the **Runner details** screen, click the **Launch** button in the **Install using ARM** section. This will open the Azure portal at the **Custom deployment** screen, in a new browser tab.
2. Click **Edit template**.
3. Copy the text from the downloaded template file you have edited, and paste it into the **Edit template** screen, overwriting the JSON data already there.
4. This will populate the **Custom deployment** screen with values from your edited template. You can modify these further if you wish, though this shouldn't be necessary if you have made all the required changes in your template.
5. Click **Review & Create**.
