Plugins Overview
The DevEx Platform includes 13 custom plugins that extend Backstage functionality for GCP, GitHub, Vault, and development workflows.
Plugin Categories
Frontend Plugins
Homepage Links
Package: @internal/plugin-homepage-links
The main dashboard plugin providing customizable sections:
| Section | Purpose |
|---|---|
OnboardingSection | Group-specific onboarding links |
TeamLinksSection | Team documentation and resources |
GitRepoSection | GitHub repositories (saved + auto-detected) |
GcpProjectsSection | GCP projects with billing data |
PullRequestsSection | Open PRs with diff viewer |
Key Components:
GithubTeamsBar- Team/user filter chipsCollapsibleSection- Drag-and-drop card wrapperDiffViewer- PR diff display using react-diff-viewReviewerSelector- Interactive reviewer selection
Claude Flow
Package: @internal/plugin-claude-flow
AI-assisted development environment integration:
| Component | Purpose |
|---|---|
SessionList | List AI development sessions |
CreateSessionForm | Create new AI sessions |
SessionDetail | Session details and interaction |
Gemini Agent
Package: @internal/plugin-gemini-agent
AI coding agent powered by Gemini CLI with A2A protocol:
| Component | Purpose |
|---|---|
SessionList | Table of agent sessions with status chips |
LaunchForm | Session creation with credential selection |
AgentConsole | Chat panel, activity bar, logs drawer |
Features:
- Shareable launch URLs with auto-launch
- Interactive mode with configurable TTL
- Real-time chat with message queueing
- Credential injection (GitHub, Google, Vault, API keys)
Vault Secrets
Package: @internal/backstage-plugin-vault-secrets
Secret management interface:
| Component | Purpose |
|---|---|
VaultSecretsPage | Main secrets page |
SecretsList | Display stored secrets |
CreateSecretEditor | Create new secrets |
EditSecretEditor | Modify existing secrets |
Terraform Cloud
Package: @internal/plugin-terraform-cloud
Terraform Cloud workspace visualization:
| Component | Purpose |
|---|---|
TerraformCloudPage | Main TFC page |
TerraformCloudComponent | Workspace status |
Mockup
Package: @internal/plugin-mockup
UI mockup and prototyping canvas:
| Component | Purpose |
|---|---|
MockupCanvas | Draggable component canvas |
MockupPage | Mockup management |
MockupPalette | Component palette |
PropertiesPanel | Component properties |
Backend Plugins
Homepage Links Backend
Package: @internal/plugin-homepage-links-backend
Persists user homepage preferences:
- Database: Knex migrations for link storage
- Services:
LinksStore,UrlNormalizer - API: CRUD operations for links and preferences
Homepage Repos Backend
Package: @internal/plugin-homepage-repos-backend
GitHub repository operations:
- Integration: GitHub API via @octokit/rest
- Features: Repository search, saved repos
Homepage GCP Projects Backend
Package: @internal/plugin-homepage-gcp-projects-backend
GCP project enumeration:
- Integration: GCP Resource Manager, BigQuery
- Features: Project listing, billing data
Claude Flow Backend
Package: @internal/plugin-claude-flow-backend
AI session management:
| Service | Purpose |
|---|---|
SessionService | Session lifecycle |
DockerService | Container management |
VaultSecretsService | Secret injection |
TemplateService | Session templates |
DatabaseService | Persistence |
AuthorizationService | Access control |
Features:
- Docker container management
- Node PTY integration
- Git operations
- Database migrations
Vault Secrets Backend
Package: @internal/backstage-plugin-vault-secrets-backend
HashiCorp Vault integration:
- Client: Vault API client
- Auth: Google Auth Library support
- Operations: Secret read/write/list
Terraform Cloud Backend
Package: @internal/plugin-terraform-cloud-backend
Terraform Cloud operations:
- Features: Workspace management, run status
- Services: TFC API integration
Terraform State Backend
Package: @internal/plugin-terraform-state-backend
Terraform state file management (largest plugin):
| Directory | Size | Purpose |
|---|---|---|
/services | 244KB | State operations |
/providers | 72KB | Multiple cloud providers |
/models | 52KB | Data models |
/__tests__ | 60KB | Test fixtures |
Features:
- GCP Cloud Storage integration
- Multi-tenant architecture
- Comprehensive validation
Gemini Agent Backend
Package: @internal/plugin-gemini-agent-backend
AI coding agent container orchestration:
| Service | Purpose |
|---|---|
GeminiAgentService | Cloud Run backend (production) |
LocalContainerService | Podman backend (local dev) |
QueueProcessor | Async message delivery |
ChatLogStore | Session + message persistence |
CredentialService | Credential collection |
Features:
- Dual backend: Cloud Run (prod) and Podman (local)
- Background message queue with retry logic
- A2A JSON-RPC protocol integration
- Credential injection from OAuth, Vault, and config
Mockup Backend
Package: @internal/plugin-mockup-backend
Mockup persistence:
- Database: Knex migrations
- Services: Mockup storage and retrieval
Plugin Development
Creating a New Plugin
# Frontend plugin
cd backstage
yarn new --select plugin
# Backend plugin
yarn new --select backend-plugin
Plugin Structure
plugins/my-plugin/
├── src/
│ ├── plugin.ts # Plugin definition
│ ├── routes.ts # Route references
│ ├── api.ts # API client
│ └── components/ # UI components
├── package.json
└── README.md
Backend Plugin Structure
plugins/my-plugin-backend/
├── src/
│ ├── plugin.ts # Plugin definition
│ ├── router.ts # Express routes
│ ├── services/ # Business logic
│ └── models.ts # Data models
├── package.json
└── README.md
Related Documentation
Frontend Plugins
- Homepage Links - Customizable dashboard with multiple sections
- Claude Flow - AI-assisted development environment
- Gemini Agent - AI coding agent with A2A containers
- Vault Secrets - Secret management interface
- Terraform Cloud - TFC workspace visualization
- Mockup - UI mockup and prototyping canvas
Backend Plugins
- Homepage Links Backend - User preferences and link persistence
- Homepage Repos Backend - GitHub repository management
- Homepage GCP Projects Backend - GCP project management with billing
- Claude Flow Backend - AI session management and Docker orchestration
- Gemini Agent - Gemini Agent backend, testing, and troubleshooting
- Vault Secrets Backend - HashiCorp Vault integration
- Terraform Cloud Backend - TFC API proxy with Vault tokens
- Terraform State Backend - State ingestion for catalog
- Mockup Backend - Mockup persistence and versioning
Other
- Backstage Application - Application overview