Air-Gapped Plugin Installation
In air-gapped or network-restricted environments, your Backstage may not be able to reach the public npm registry to install SKE plugins directly. You must first publish the plugins to an internal registry accessible from your Backstage instance, then follow the standard installation and configuration steps.
Spotify Portal for Backstage
If you are using Spotify Portal for Backstage, you will need to publish the plugins to your internal Portal Cloud instance.
Contact Spotify to request a token for publishing plugins to your cloud instance. Once you have a token, download the frontend plugin by running:
npm pack @syntasso/plugin-ske-frontend
This downloads the latest version of the plugin as a .tgz file in the current directory.
Repeat for the backend plugin:
npm pack @syntasso/plugin-ske-backend
Set the token you received from Spotify in your environment:
export PORTAL_PUBLISHING_TOKEN=<token>
Configure npm to authenticate against your Portal registry:
npm config set //<company>.spotifyportal.com/api/plugin-installer/registry/:_authToken=$PORTAL_PUBLISHING_TOKEN
Publish each plugin to your Portal instance, replacing <version> with the version printed by npm pack:
npm publish syntasso-plugin-ske-frontend-<version>.tgz --registry https://<company>.spotifyportal.com/api/plugin-installer/registry/npm
npm publish syntasso-plugin-ske-backend-<version>.tgz --registry https://<company>.spotifyportal.com/api/plugin-installer/registry/npm
Passing --registry directly ensures the tarball is published to your Portal instance regardless of any registry configuration inside the plugin's own package.json.
