Skip to content

Commit 3adb9bb

Browse files
authored
Merge branch 'main' into fix-CVE-2026-12143
2 parents bb302d2 + c7f0beb commit 3adb9bb

109 files changed

Lines changed: 20929 additions & 9682 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
'@red-hat-developer-hub/backstage-plugin-boost': minor
3+
'@red-hat-developer-hub/backstage-plugin-boost-backend': patch
4+
'@red-hat-developer-hub/backstage-plugin-boost-common': patch
5+
'@red-hat-developer-hub/backstage-plugin-boost-node': patch
6+
'@red-hat-developer-hub/backstage-plugin-boost-backend-module-kagenti': patch
7+
'@red-hat-developer-hub/backstage-plugin-boost-backend-module-llamastack': patch
8+
'@red-hat-developer-hub/backstage-plugin-boost-responses-api-toolkit': patch
9+
'@red-hat-developer-hub/backstage-plugin-boost-toolscope': patch
10+
---
11+
12+
Scaffold AI Catalog frontend plugin, dev app, and dev backend. Adds NFS-only frontend plugin with PageBlueprint, EntityCardBlueprint/EntityContentBlueprint stubs, isAiAsset filter, useAiAssets hook, i18n scaffold, and sample catalog fixtures. Adds boost frontend package to pluginPackages in all boost-family packages.

workspaces/boost/AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Agents, tools, models, MCP servers, and vector stores are Backstage catalog enti
7272

7373
| Package | Purpose |
7474
| --------------------------------- | -------------------------------------------------------------------- |
75-
| `boost-frontend` | Chat UI, agent gallery, admin panels, composable routable extensions |
75+
| `boost` | Chat UI, agent gallery, admin panels, composable routable extensions |
7676
| `boost-common` | Shared types, permissions (browser-safe, `common-library` role) |
7777
| `boost-node` | `boostAiProviderServiceRef`, extension points (`node-library` role) |
7878
| `boost-backend` | Core routes, services, middleware, ProviderManager |

workspaces/boost/README.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ workspaces/boost/
2828
│ ├── design.md # Architecture decisions
2929
│ ├── tasks.md # Implementation task breakdown
3030
│ └── specs/ # Behavioral specs (Given/When/Then scenarios)
31-
└── plugins/ # Plugin packages (not yet created)
31+
└── plugins/ # Plugin packages
3232
```
3333

3434
**`specifications/`** contains the product-level requirements — what Boost must do and why. The PRDs are organized by capability area: AI chat, agent discovery, platform architecture, security, and operations.
@@ -39,22 +39,33 @@ All specs are currently in **draft** status (pre-implementation). They will be m
3939

4040
## Plugins
4141

42-
| Plugin | Description |
43-
| ------------- | ----------- |
44-
| _coming soon_ | |
42+
| Plugin | Package | Description |
43+
| ------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------- |
44+
| boost | `@red-hat-developer-hub/backstage-plugin-boost` | Frontend plugin — AI Catalog browse page and entity extensions |
45+
| boost-backend | `@red-hat-developer-hub/backstage-plugin-boost-backend` | Backend plugin — chat, agent lifecycle, MCP, admin APIs |
46+
| boost-common | `@red-hat-developer-hub/backstage-plugin-boost-common` | Shared types and permissions |
47+
| boost-node | `@red-hat-developer-hub/backstage-plugin-boost-node` | Node library — service refs and extension points |
48+
| boost-backend-module-llamastack | `@red-hat-developer-hub/backstage-plugin-boost-backend-module-llamastack` | Llama Stack provider module |
49+
| boost-backend-module-kagenti | `@red-hat-developer-hub/backstage-plugin-boost-backend-module-kagenti` | Kagenti provider module |
50+
| llamastack-entity-provider | `@red-hat-developer-hub/backstage-plugin-llamastack-entity-provider` | Llama Stack catalog entity provider |
51+
| kagenti-entity-provider | `@red-hat-developer-hub/backstage-plugin-kagenti-entity-provider` | Kagenti catalog entity provider |
4552

4653
## Compatibility
4754

4855
This workspace is aligned with **Backstage 1.52.0** (see [`backstage.json`](backstage.json)).
4956

5057
## Development
5158

59+
The workspace includes a dev app (`packages/app`) and dev backend (`packages/backend`) for local development.
60+
5261
```bash
5362
# Install dependencies
5463
yarn install
5564

56-
# Start the dev server
65+
# Start the dev app + backend
5766
yarn start
67+
# Frontend: http://localhost:3000 (AI Catalog at /ai-catalog)
68+
# Backend: http://localhost:7007
5869

5970
# Run tests
6071
yarn test:all

workspaces/boost/app-config.yaml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
app:
2+
title: Boost Dev
3+
baseUrl: http://localhost:3000
4+
packages: all
5+
extensions:
6+
- app/routes:
7+
config:
8+
redirects:
9+
- from: /
10+
to: /ai-catalog
11+
12+
organization:
13+
name: Red Hat
14+
15+
backend:
16+
baseUrl: http://localhost:7007
17+
listen:
18+
port: 7007
19+
cors:
20+
origin: http://localhost:3000
21+
methods: [GET, HEAD, PATCH, POST, PUT, DELETE]
22+
credentials: true
23+
database:
24+
client: better-sqlite3
25+
connection: ':memory:'
26+
cache:
27+
store: memory
28+
auth:
29+
dangerouslyDisableDefaultAuthPolicy: true
30+
31+
auth:
32+
environment: development
33+
providers:
34+
guest: {}
35+
36+
techdocs:
37+
builder: 'local'
38+
generator:
39+
runIn: 'local'
40+
publisher:
41+
type: 'local'
42+
43+
catalog:
44+
import:
45+
entityFilename: catalog-info.yaml
46+
pullRequestBranchName: backstage-integration
47+
rules:
48+
- allow:
49+
- Component
50+
- System
51+
- Group
52+
- Resource
53+
- Location
54+
- Template
55+
- API
56+
- AiResource
57+
locations:
58+
- type: file
59+
target: ../../fixtures/ai-catalog-fixtures.yaml
60+
rules:
61+
- allow: [AiResource, API, Component, Resource]
62+
63+
boost:
64+
security:
65+
mode: 'development-only-no-auth'
66+
67+
model:
68+
baseUrl: ${BOOST_MODEL_BASE_URL:-http://localhost:8080/v1}
69+
name: ${BOOST_MODEL:-default}
70+
71+
providers:
72+
llamastack:
73+
baseUrl: ${LLAMASTACK_BASE_URL:-http://localhost:8321}
74+
75+
kagenti:
76+
baseUrl: ${KAGENTI_BASE_URL:-http://localhost:8080}
77+
namespaces:
78+
- ${KAGENTI_NAMESPACE:-default}
79+
80+
kagenti:
81+
auth:
82+
tokenEndpoint: ${KAGENTI_TOKEN_ENDPOINT:-}
83+
clientId: ${KAGENTI_CLIENT_ID:-}
84+
clientSecret: ${KAGENTI_CLIENT_SECRET:-}
85+
86+
entityProviders:
87+
kagenti:
88+
baseUrl: ${KAGENTI_BASE_URL:-http://localhost:8080}
89+
namespaces:
90+
- ${KAGENTI_NAMESPACE:-default}
91+
agentRefreshIntervalSeconds: 300
92+
toolRefreshIntervalSeconds: 300
Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
---
2+
# AI Catalog sample fixtures — one entity per AI asset category.
3+
# Used by the dev app for local development and testing.
4+
5+
# ---------------------------------------------------------------------------
6+
# AiResource / skill
7+
# ---------------------------------------------------------------------------
8+
apiVersion: backstage.io/v1alpha1
9+
kind: AiResource
10+
metadata:
11+
name: code-review-skill
12+
title: Code Review Skill
13+
description: Automated code review that checks for common issues, security vulnerabilities, and style violations.
14+
tags:
15+
- code-review
16+
- security
17+
- quality
18+
annotations:
19+
rhdh.io/ai-asset-category: skill
20+
rhdh.io/ai-asset-version: '1.2.0'
21+
rhdh.io/ai-asset-source: github
22+
backstage.io/techdocs-ref: dir:.
23+
links:
24+
- url: https://github.com/example/code-review-skill
25+
title: Source Repository
26+
spec:
27+
type: skill
28+
lifecycle: production
29+
owner: team-ai-platform
30+
disciplines:
31+
- software-engineering
32+
categories:
33+
- code-quality
34+
agents:
35+
- component:default/developer-assistant
36+
37+
---
38+
# ---------------------------------------------------------------------------
39+
# AiResource / rule
40+
# ---------------------------------------------------------------------------
41+
apiVersion: backstage.io/v1alpha1
42+
kind: AiResource
43+
metadata:
44+
name: no-hardcoded-secrets-rule
45+
title: No Hardcoded Secrets
46+
description: Ensures that secrets, API keys, and credentials are never committed to source code repositories.
47+
tags:
48+
- security
49+
- compliance
50+
- secrets
51+
annotations:
52+
rhdh.io/ai-asset-category: rule
53+
rhdh.io/ai-asset-version: '2.0.1'
54+
rhdh.io/ai-asset-source: internal
55+
spec:
56+
type: rule
57+
lifecycle: production
58+
owner: team-security
59+
category: security
60+
rationale: Hardcoded secrets in source code can be extracted by attackers, leading to credential compromise and unauthorized access to systems.
61+
62+
---
63+
# ---------------------------------------------------------------------------
64+
# API / mcp-server
65+
# ---------------------------------------------------------------------------
66+
apiVersion: backstage.io/v1alpha1
67+
kind: API
68+
metadata:
69+
name: github-mcp-server
70+
title: GitHub MCP Server
71+
description: Model Context Protocol server providing GitHub repository context, pull request data, and issue tracking integration.
72+
tags:
73+
- github
74+
- mcp
75+
- context
76+
annotations:
77+
rhdh.io/ai-asset-category: mcp-server
78+
rhdh.io/ai-asset-version: '0.9.0'
79+
rhdh.io/ai-asset-source: registry
80+
spec:
81+
type: mcp-server
82+
lifecycle: experimental
83+
owner: team-integrations
84+
definition: |
85+
openapi: 3.0.0
86+
info:
87+
title: GitHub MCP Server
88+
version: 0.9.0
89+
remotes:
90+
- url: https://mcp.example.com/github
91+
transport: streamable-http
92+
93+
---
94+
# ---------------------------------------------------------------------------
95+
# Component / ai-agent
96+
# ---------------------------------------------------------------------------
97+
apiVersion: backstage.io/v1alpha1
98+
kind: Component
99+
metadata:
100+
name: developer-assistant
101+
title: Developer Assistant Agent
102+
description: An AI agent that helps developers with code generation, debugging, architecture decisions, and documentation.
103+
tags:
104+
- agent
105+
- developer
106+
- assistant
107+
annotations:
108+
rhdh.io/ai-asset-category: agent
109+
rhdh.io/ai-asset-version: '3.1.0'
110+
rhdh.io/ai-asset-source: internal
111+
spec:
112+
type: ai-agent
113+
lifecycle: production
114+
owner: team-ai-platform
115+
116+
---
117+
# ---------------------------------------------------------------------------
118+
# Resource / ai-model
119+
# ---------------------------------------------------------------------------
120+
apiVersion: backstage.io/v1alpha1
121+
kind: Resource
122+
metadata:
123+
name: granite-3-code
124+
title: Granite 3 Code
125+
description: IBM Granite 3 code model optimized for code generation, completion, and explanation tasks.
126+
tags:
127+
- model
128+
- code-generation
129+
- ibm
130+
annotations:
131+
rhdh.io/ai-asset-category: model
132+
rhdh.io/ai-asset-version: '3.0.0'
133+
rhdh.io/ai-asset-source: model-registry
134+
spec:
135+
type: ai-model
136+
lifecycle: production
137+
owner: team-ml-ops
138+
139+
---
140+
# ---------------------------------------------------------------------------
141+
# Resource / ai-tool
142+
# ---------------------------------------------------------------------------
143+
apiVersion: backstage.io/v1alpha1
144+
kind: Resource
145+
metadata:
146+
name: web-search-tool
147+
title: Web Search Tool
148+
description: A tool that performs web searches and returns structured results for AI agent consumption.
149+
tags:
150+
- tool
151+
- search
152+
- web
153+
annotations:
154+
rhdh.io/ai-asset-category: tool
155+
rhdh.io/ai-asset-version: '1.0.0'
156+
rhdh.io/ai-asset-source: kagenti
157+
spec:
158+
type: ai-tool
159+
lifecycle: experimental
160+
owner: team-integrations
161+
162+
---
163+
# ---------------------------------------------------------------------------
164+
# Resource / vector-store
165+
# ---------------------------------------------------------------------------
166+
apiVersion: backstage.io/v1alpha1
167+
kind: Resource
168+
metadata:
169+
name: docs-vector-store
170+
title: Documentation Vector Store
171+
description: Vector store containing embeddings of internal documentation, runbooks, and knowledge base articles.
172+
tags:
173+
- vector-store
174+
- documentation
175+
- rag
176+
annotations:
177+
rhdh.io/ai-asset-category: vector-store
178+
rhdh.io/ai-asset-version: '1.1.0'
179+
rhdh.io/ai-asset-source: internal
180+
spec:
181+
type: vector-store
182+
lifecycle: production
183+
owner: team-ai-platform
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
schema: spec-driven
2+
created: 2026-06-30
3+
status: draft

0 commit comments

Comments
 (0)