Deploy Service Extensions plugins in Media CDN routes

This page describes how to Deploy Service Extensions plugins in Media CDN routes.

You can use Media CDN with Service Extensions to add custom code to the request-response processing path. Such customization unlocks a wide variety of lightweight use cases.

For more information about Service Extensions concepts, see Service Extensions overview.

Before you begin

  1. Create a Media CDN origin.
  2. Create a Media CDN service.
  3. Create a plugin by using Service Extensions.

Deploy a Service Extensions plugin in a Media CDN route

To deploy a Service Extensions plugin in a Media CDN route, follow these steps:

  1. To export the current configuration of your service to a YAML file, run the gcloud edge-cache services export command:

      gcloud edge-cache services export SERVICE_NAME \
          --destination=FILENAME.yaml
    

    Replace the following:

    • SERVICE_NAME: the name of the Media CDN service
    • FILENAME: the name of the YAML file
  2. In Cloud Shell, use a text editor to edit the YAML file.

  3. Update the routes in the file to add the wasmAction header as shown in the following example:

      name: SERVICE_NAME
      routing:
        hostRules:
        - hosts:
          - DOMAIN_NAME 
          pathMatcher: routes
        pathMatchers:
        - name: routes
          routeRules:
          - priority: '1'
            description: Route 1
            matchRules:
            - prefixMatch: /plugins
            origin: projects/PROJECT_NUMBER/locations/global/edgeCacheOrigins/ORIGIN_NAME
            routeAction:
              wasmAction: projects/PROJECT_NUMBER/locations/global/wasmActions/WASM_ACTION
    

    Replace the following:

    • SERVICE_NAME: the name of the Media CDN service
    • DOMAIN_NAME: the domain of the Media CDN service
    • PROJECT_NUMBER: the project number
    • ORIGIN_NAME: the origin for the content
    • WASM_ACTION: the Service Extensions WASM action
  4. Save the YAML file.

  5. Run the gcloud edge-cache services import command:

      gcloud edge-cache services import SERVICE_NAME \
          --source=FILENAME.yaml
    

What's next