Skip to main content

Deployments vs. tags

Every subgraph you push to Goldsky has two kinds of endpoints:
  • Deployment — a specific, immutable version of a subgraph, identified by name/version (for example, poap-subgraph/1.0.0). Each goldsky subgraph deploy creates a new deployment.
  • Tag — a mutable, named alias that points at a deployment (for example, prodpoap-subgraph/2.0.0). Tags give you a stable GraphQL endpoint that you can repoint to a new version without changing your application code.
You can list each independently with the Goldsky CLI:
If --filter deployments returns no results but you know you have subgraphs in your project, they may have been published only through tags (for example, via a CI workflow that tags on deploy). Run goldsky subgraph list with no filter to see everything, or --filter tags to inspect tagged endpoints.

Create a tag

First, create a tag using the Goldsky CLI and associate it with your subgraph.
We’ve now created a new tag called prod. Now our GraphQL endpoint will use the word prod instead of the version number. You should see the new GraphQL endpoint listed in your terminal after running the command. Let’s say you’ve upgraded your poap-subgraph to verison 2.0.0 and want to start querying it with your prod GraphQL endpoint. It’s as simple as creating the tag again on the new version.
Like before, you should see the GraphQL endpoint after running this command, and it should be the same as before. Now your queries will be routed to the 2.0.0 version of the subgraph seamlessly