EIO's Backstage
EIO's internal developer portal built on Backstage.
$ brew install nvm
$ nvm install 20
$ nvm use v20
$ corepack enable<<<<<<< Updated upstream
# Install dependencies
=======
$ npx @backstage/create-app@latestBackstage has an extensive list of existing plugins and each with its directions on how to install and configure it in backstage. The first plugin added to our app is the kubernetes plugin following the instructions here and modifying the code accordingly.
The standard Backstage Dockerfile failed to build so it was modified to support Yarn 4 (modern yarn). These were added to handle the modern package manager and resolve "permission denied" errors:
-
Corepack: Enabled to automatically detect and use the specific Yarn version defined in package.json.
-
Permission Fix: Explicitly defined COREPACK_HOME so the node user can download and execute Yarn binaries without
EACCESerrors. -
Unified Cache: Optimized the build cache to speed up dependency installation.
# Define cache location for Yarn 4 binaries
ENV COREPACK_HOME=/home/node/.cache/corepack
# Enable corepack (must be run as root)
RUN corepack enable
# switch to node user and ensure cache directory exists
USER node
RUN mkdir -p /home/node/.cache/corepack
The image is built, tagged and pushed to the rancherlabs dockerhub repo:
$ docker build -t rancherlabs/custom-backstage:v1.0.0 .
$ docker push rancherlabs/custom-backstage:v1.0.0This image is referenced in the backstage helmrelease in the cluster's repository.
Ensure you're using Node 18 or 20:
$ nvm use 20
$ node --version # Should show v20.x.xUse Backstage's official upgrade tool to update all @backstage/* packages:
$ npx @backstage/cli versions:bumpThis command will:
- Check for updates to all Backstage packages
- Update
package.jsonand workspace packages - Show you the version changes
- Provide a link to the upgrade helper for breaking changes
# Install updated dependencies
>>>>>>> Stashed changes
$ yarn install
# Start backend and frontend
$ yarn startVisit http://localhost:3000
# Build backend
$ yarn workspace backend build
# Build Docker image
$ docker build -t rancherlabs/backstage:v1.45.0 .
# Push to registry
$ docker push rancherlabs/backstage:v1.45.0Update image tag in infrastructure/backstage/helmrelease.yaml to deploy.
# Update packages
$ npx @backstage/cli versions:bump
# Install and verify
$ yarn install
$ yarn tsc
$ yarn workspace backend build
# Test locally before deploying
$ yarn startCheck upgrade helper for breaking changes.
- Kubernetes: View deployment status and pod information
- Catalog: Service catalog with GitHub integration
- TechDocs: Documentation site generator
- Scaffolder: Software templates for self-service
See Backstage plugins for available integrations.