Apollo Rover - Publish Subgraph Schema

Octopus.Script exported 2023-10-23 by parkerholladay belongs to ‘Apollo GraphQL’ category.

Publish subgraph schema to Apollo Studio. This should be run after successfully deploying a subgraph service.

The script installs the Apollo Rover CLI and runs the rover subgraph publish command.

Parameters

When steps based on the template are included in a project’s deployment process, the parameters below can be set.

Apollo Rover Version

ApolloRoverVersion =

The version of the Apollo Rover CLI to use for running rover subgraph publish. May be either semver (i.e. 0.19.1), latest, or empty

Apollo Key

ApolloKey =

The API key to Apollo Studio

Apollo Graph Ref

ApolloGraphRef =

The Apollo Studio graph variant

Subgraph Name

ApolloSubgraphName =

The name of the subgraph

Subgraph Url

ApolloSubgraphUrl =

The graphql endpoint url for the subgraph

Schema Package

ApolloSchemaPackage =

The package containing the schema file

Schema

ApolloSchema = ./SchemaPackage/schema.graphql

The path to the schema file

Script body

Steps based on this template will execute the following Bash script.

APOLLO_KEY=$(get_octopusvariable "ApolloKey")
APOLLO_GRAPH_REF=$(get_octopusvariable "ApolloGraphRef")
SUBGRAPH_NAME=$(get_octopusvariable "ApolloSubgraphName")
SUBGRAPH_URL=$(get_octopusvariable "ApolloSubgraphUrl")
SCHEMA=$(get_octopusvariable "ApolloSchema")
ver=$(get_octopusvariable "ApolloRoverVersion")

[ -z "$ver" ] || [ "$ver" == "latest" ] && ROVER_VERSION="latest" || ROVER_VERSION="v$ver"

missing_params=()

[ -z "$APOLLO_KEY" ] && missing_params+=("ApolloKey")
[ -z "$APOLLO_GRAPH_REF" ] && missing_params+=("ApolloGraphRef")
[ -z "$SUBGRAPH_NAME" ] && missing_params+=("SubgraphName")
[ -z "$SUBGRAPH_URL" ] && missing_params+=("SubgraphUrl")
[ -z "$SCHEMA" ] && missing_params+=("Schema")

if [ -n "$missing_params" ]; then
  >&2 echo "Missing parameters: ${missing_params[@]}"
  exit 1
fi

curl -sSL https://rover.apollo.dev/nix/$ROVER_VERSION -o installer

if [ "$(head -n1 installer)" != "#!/bin/bash" ]; then
  >&2 echo "There was a problem fetching $ROVER_VERSION of Rover CLI:"
  >&2 cat installer
  rm installer
  exit 1
fi

sh installer --force 2>&1
rm installer

APOLLO_KEY=$APOLLO_KEY ~/.rover/bin/rover subgraph publish $APOLLO_GRAPH_REF \
  --name $SUBGRAPH_NAME \
  --routing-url $SUBGRAPH_URL \
  --schema $SCHEMA \
  2>&1

Provided under the Apache License version 2.0.

Report an issue

To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.

{
  "Id": "51536440-5e87-4cc7-a254-acb673f9c2c8",
  "Name": "Apollo Rover - Publish Subgraph Schema",
  "Description": "Publish subgraph schema to Apollo Studio. This should be run after successfully deploying a subgraph service.\n\nThe script installs the [Apollo Rover CLI](https://apollographql.com/docs/rover) and runs the `rover subgraph publish` command.",
  "Version": 1,
  "ExportedAt": "2023-10-23T18:58:06.459Z",
  "ActionType": "Octopus.Script",
  "Author": "parkerholladay",
  "Packages": [
    {
      "Name": "SchemaPackage",
      "AcquisitionLocation": "Server",
      "Properties": {
        "Extract": "True",
        "SelectionMode": "deferred",
        "PackageParameterName": "ApolloSchemaPackage",
        "Purpose": ""
      }
    }
  ],
  "Parameters": [
    {
      "Name": "ApolloRoverVersion",
      "Label": "Apollo Rover Version",
      "HelpText": "The version of the Apollo Rover CLI to use for running `rover subgraph publish`.\nMay be either semver (i.e. `0.19.1`), `latest`, or empty",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    },
    {
      "Name": "ApolloKey",
      "Label": "Apollo Key",
      "HelpText": "The API key to Apollo Studio",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "Sensitive"
      }
    },
    {
      "Name": "ApolloGraphRef",
      "Label": "Apollo Graph Ref",
      "HelpText": "The Apollo Studio graph variant",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    },
    {
      "Name": "ApolloSubgraphName",
      "Label": "Subgraph Name",
      "HelpText": "The name of the subgraph",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    },
    {
      "Name": "ApolloSubgraphUrl",
      "Label": "Subgraph Url",
      "HelpText": "The graphql endpoint url for the subgraph",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    },
    {
      "Name": "ApolloSchemaPackage",
      "Label": "Schema Package",
      "HelpText": "The package containing the schema file",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "Package"
      }
    },
    {
      "Name": "ApolloSchema",
      "Label": "Schema",
      "HelpText": "The path to the schema file",
      "DefaultValue": "./SchemaPackage/schema.graphql",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    }
  ],
  "Properties": {
    "Octopus.Action.Script.ScriptSource": "Inline",
    "Octopus.Action.Script.Syntax": "Bash",
    "Octopus.Action.Script.ScriptBody": "APOLLO_KEY=$(get_octopusvariable \"ApolloKey\")\nAPOLLO_GRAPH_REF=$(get_octopusvariable \"ApolloGraphRef\")\nSUBGRAPH_NAME=$(get_octopusvariable \"ApolloSubgraphName\")\nSUBGRAPH_URL=$(get_octopusvariable \"ApolloSubgraphUrl\")\nSCHEMA=$(get_octopusvariable \"ApolloSchema\")\nver=$(get_octopusvariable \"ApolloRoverVersion\")\n\n[ -z \"$ver\" ] || [ \"$ver\" == \"latest\" ] && ROVER_VERSION=\"latest\" || ROVER_VERSION=\"v$ver\"\n\nmissing_params=()\n\n[ -z \"$APOLLO_KEY\" ] && missing_params+=(\"ApolloKey\")\n[ -z \"$APOLLO_GRAPH_REF\" ] && missing_params+=(\"ApolloGraphRef\")\n[ -z \"$SUBGRAPH_NAME\" ] && missing_params+=(\"SubgraphName\")\n[ -z \"$SUBGRAPH_URL\" ] && missing_params+=(\"SubgraphUrl\")\n[ -z \"$SCHEMA\" ] && missing_params+=(\"Schema\")\n\nif [ -n \"$missing_params\" ]; then\n  >&2 echo \"Missing parameters: ${missing_params[@]}\"\n  exit 1\nfi\n\ncurl -sSL https://rover.apollo.dev/nix/$ROVER_VERSION -o installer\n\nif [ \"$(head -n1 installer)\" != \"#!/bin/bash\" ]; then\n  >&2 echo \"There was a problem fetching $ROVER_VERSION of Rover CLI:\"\n  >&2 cat installer\n  rm installer\n  exit 1\nfi\n\nsh installer --force 2>&1\nrm installer\n\nAPOLLO_KEY=$APOLLO_KEY ~/.rover/bin/rover subgraph publish $APOLLO_GRAPH_REF \\\n  --name $SUBGRAPH_NAME \\\n  --routing-url $SUBGRAPH_URL \\\n  --schema $SCHEMA \\\n  2>&1\n"
  },
  "Category": "Apollo GraphQL",
  "HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/apollo-rover-publish-subgraph-schema.json",
  "Website": "/step-templates/51536440-5e87-4cc7-a254-acb673f9c2c8",
  "Logo": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAwnpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVDbDcMgDPxnio7gV8CMQxIqdYOOX4MhCm1P4mx81mEc6vv1DI8GQgmyJY05RjBIlkzFEgVH6YwgnTuOqeFaD5dAVmKL7FeNo3/W8TLwUCzbbkZ6DGFfhSzDX7+MyAO3iVp+DqM8jJhcwGFQ/FsQs6b7F/YKK9RPaCS6jv1zT7a9c7N3mKgyMhgziw/A7XDgYgIaAydrRGsoralX5iS2kH97mggffeVZeWaW2jMAAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1OlohUHO4g4RKxOdlERx1qFIlQItUKrDiaXfghNGpIUF0fBteDgx2LVwcVZVwdXQRD8AHF1cVJ0kRL/lxRaxHhw3I939x537wChXmaa1REHNN0208mEmM2tiKFX9CCECIYxIjPLmJWkFHzH1z0CfL2L8Sz/c3+OXjVvMSAgEseZYdrE68TTm7bBeZ84wkqySnxOPG7SBYkfua54/Ma56LLAMyNmJj1HHCEWi22stDErmRrxFHFU1XTKF7Ieq5y3OGvlKmvek78wnNeXl7hOcwhJLGAREkQoqGIDZdiI0aqTYiFN+wkf/6Drl8ilkGsDjBzzqECD7PrB/+B3t1ZhcsJLCieAzhfH+RgFQrtAo+Y438eO0zgBgs/Ald7yV+rAzCfptZYWPQL6toGL65am7AGXO8DAkyGbsisFaQqFAvB+Rt+UA/pvge5Vr7fmPk4fgAx1lboBDg6BsSJlr/m8u6u9t3/PNPv7AaP6crr25tsMAAANemlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDpiMjcyNjZkZC02NTBhLTQ1MmEtYmQ4OC03Y2UwODUxYWE0ODIiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NWY2ODE0NGMtZGE4Zi00N2JlLWFhYWItZDRhZDMxODNlNTQxIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YWFmOTNkYzAtOTE1Yi00NTZhLTlhYmEtYTNjYjNkYmU3MmIwIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJNYWMgT1MiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjk5Mzg5MjQ2MzI4NTI2IgogICBHSU1QOlZlcnNpb249IjIuMTAuMzQiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMzoxMTowN1QxMzozNDowNC0wNzowMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjM6MTE6MDdUMTM6MzQ6MDQtMDc6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxOGYzZDg4YS1hZmVlLTQxMzktYTA1NC1kYjQ0YTJkMDJhZDQiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTWFjIE9TKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMy0xMS0wN1QxMzozNDowNi0wNzowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz7fGQWdAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5wsHFCIGeGxgiwAAHy1JREFUeNrtnXmYXFWZ/z9vdWejs5B0V3UCYRnSVUDSVQiICIIBZQlL2AOCCijKA8y4DKKO84ygzuOIiuI4+lMRWVxRFoGEEUT2TUGWVHVYqjpAAgKp6iSEkHRCuuv9/XEvI5NJnarqPlV17+3zfZ5+As+9dZdzzve+y3kXcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcPg7xA1B89HV09sei8XGqWobEKtyehnYoqrDA/19Q270HEEigXgyPQvYCdgF6PL/dgE6/f+eAWwPTKhyqc3Aq8AgUPT/+01gBVAC+lV1xUB/31o36o4gQZMEsVgsNl5Vp4vIXqqaBg4A5gLdQAcwrsGPsQnYALwG5IBngEeBpcBaVd080N+nbrYcQZqCRCozTlXnAvsAC4C9gB6gLWCPOgQsBx4D7gCeGhoaWrb2hWccWRxBrKpK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",
  "$Meta": {
    "Type": "ActionTemplate"
  }
}

History

Page updated on Monday, October 23, 2023