Skip to content

Commit cf28141

Browse files
sfvishalguptaclaude
andcommitted
feat(catalog): standardize Backstage catalog integration with resource dependencies
Updates catalog-info.yaml to follow current Backstage standards: - Migrate namespace from 'arc' to 'default' - Update owner to proper group format (group:default/sf_refarch_admins) - Add SonarQube project key annotation (ready for SonarCloud setup) - Add 4 infrastructure resource dependencies (postgres, github, aws, snyk) - Add Location document to register resource entities Creates catalog-resources.yaml with Resource entities for: - PostgreSQL database for catalog storage - GitHub integration for auth and sync - AWS deployment platform - Snyk security scanning Updates mkdocs.yml with proper metadata and creates docs/index.md for TechDocs. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 831f5d9 commit cf28141

4 files changed

Lines changed: 165 additions & 6 deletions

File tree

catalog-info.yaml

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,38 @@
11
apiVersion: backstage.io/v1alpha1
22
kind: Component
33
metadata:
4-
name: sourcefuse-backstage
5-
namespace: arc
6-
description: SourceFuse boilerplate BackStage implementation
4+
name: backstage
5+
namespace: default
6+
description: SourceFuse ARC Backstage platform with GitHub integration, scaffolding templates, and catalog management
77
annotations:
8-
github.com/project-slug: sourcefuse/sourcefuse-backstage
8+
github.com/project-slug: sourcefuse/backstage
99
backstage.io/techdocs-ref: dir:.
10+
sonarqube.org/project-key: sourcefuse-cloud/sourcefuse_backstage
11+
tags:
12+
- typescript
13+
- nodejs
14+
- backstage
15+
- platform
16+
links:
17+
- url: https://github.com/sourcefuse/backstage
18+
title: GitHub Repository
19+
icon: github
1020
spec:
1121
type: website
12-
owner: sourcefuse
1322
lifecycle: production
23+
owner: group:default/sf_refarch_admins
24+
dependsOn:
25+
- resource:default/backstage-postgres
26+
- resource:default/github-integration
27+
- resource:default/aws-deployment
28+
- resource:default/snyk-security
29+
---
30+
apiVersion: backstage.io/v1alpha1
31+
kind: Location
32+
metadata:
33+
name: backstage-resources
34+
namespace: default
35+
description: Infrastructure and external service resources for backstage
36+
spec:
37+
targets:
38+
- ./catalog-resources.yaml

catalog-resources.yaml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Infrastructure and external service resources for backstage
2+
---
3+
apiVersion: backstage.io/v1alpha1
4+
kind: Resource
5+
metadata:
6+
name: backstage-postgres
7+
namespace: default
8+
description: PostgreSQL database for Backstage catalog and metadata storage
9+
tags:
10+
- postgresql
11+
- database
12+
spec:
13+
type: database
14+
lifecycle: production
15+
owner: group:default/sf_refarch_admins
16+
system: backstage
17+
---
18+
apiVersion: backstage.io/v1alpha1
19+
kind: Resource
20+
metadata:
21+
name: github-integration
22+
namespace: default
23+
description: GitHub integration for authentication, authorization, and catalog sync
24+
tags:
25+
- github
26+
- authentication
27+
- integration
28+
spec:
29+
type: external-service
30+
lifecycle: production
31+
owner: group:default/sf_refarch_admins
32+
system: backstage
33+
---
34+
apiVersion: backstage.io/v1alpha1
35+
kind: Resource
36+
metadata:
37+
name: aws-deployment
38+
namespace: default
39+
description: AWS cloud platform for container deployment and infrastructure
40+
tags:
41+
- aws
42+
- cloud
43+
- deployment
44+
spec:
45+
type: external-service
46+
lifecycle: production
47+
owner: group:default/sf_refarch_admins
48+
system: backstage
49+
---
50+
apiVersion: backstage.io/v1alpha1
51+
kind: Resource
52+
metadata:
53+
name: snyk-security
54+
namespace: default
55+
description: Snyk security scanning service for vulnerability detection
56+
tags:
57+
- snyk
58+
- security
59+
- scanning
60+
spec:
61+
type: external-service
62+
lifecycle: production
63+
owner: group:default/sf_refarch_admins
64+
system: backstage

docs/index.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Backstage
2+
3+
This is the SourceFuse ARC Backstage implementation. It comes packaged with
4+
- GitHub integration for authentication and authorization
5+
- ARC Templates for
6+
- Microservices
7+
- Lambdas
8+
- IaC
9+
- UI
10+
- Reference architectures of example apps, i.e. telemedecine applications
11+
12+
13+
## Getting Started
14+
We rely on `nvm` for Node Version Management and `yarn` for package management.
15+
```shell
16+
nvm install
17+
yarn install
18+
npm run build:all
19+
```
20+
21+
## Local Environment Configuration
22+
Create a file named `.env.local`. Populate the values below with the ones appropriate for your GitHub organization.
23+
```text
24+
BASE_URL='http://localhost:7007'
25+
FRONTEND_BASE_URL='http://localhost:3000'
26+
POSTGRES_USER=postgres
27+
POSTGRES_PASSWORD=changeme
28+
AUTH_GITHUB_CLIENT_ID=GitHub app client_id
29+
AUTH_GITHUB_CLIENT_SECRET=GitHub app client secret
30+
PGADMIN_DEFAULT_EMAIL=pgadmin4@pgadmin.org
31+
PGADMIN_DEFAULT_PASSWORD=admin
32+
PGADMIN_PORT=5050
33+
PGADMIN_LISTEN_ADDRESS=0.0.0.0
34+
INTEGRATION_GITHUB_APP_ID=GitHub app App ID
35+
INTEGRATION_GITHUB_WEBHOOK_URL=https://smee.io/pvDM8sHcDxmhMLvfxax
36+
ENABLE_GITHUB_SYNC=Set true or false if you want to sync with github
37+
INTEGRATION_GITHUB_CLIENT_ID=GitHub app client_id
38+
INTEGRATION_GITHUB_CLIENT_SECRET=GitHub app client secret
39+
INTEGRATION_GITHUB_WEBHOOK_SECRET=GitHub app webhook secret
40+
AWS_ACCOUNT_ID=AWS Account ID to Push the Image
41+
IMAGE_TAG=Tag for the Docker Image
42+
REPO_CREATOR_TEAM=Github team having scaffolding access
43+
GITHUB_ORGANIZATION=Github organization
44+
```
45+
46+
Load the variables into a shell session for ease.
47+
48+
```shell
49+
export $(cat .env.local | xargs)
50+
```
51+
Copy the cert into a file named `github_private_key.pem` in the root of the project. Load the certificate into your shell session.
52+
53+
```shell
54+
export INTEGRATION_GITHUB_PRIVATE_KEY=`cat ./github_private_key.pem`
55+
```
56+
Run the entire stack in Docker.
57+
```shell
58+
docker-compose up --build
59+
```
60+
61+
You can also specify the environment file, just be sure to handle the formatting of the RSA private key correctly.
62+
```shell
63+
docker-compose --env-file=.env.local up --build
64+
```

mkdocs.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
site_name: sourcefuse-backstage
1+
site_name: backstage
2+
site_description: SourceFuse ARC Backstage platform with GitHub integration, scaffolding templates, and catalog management
3+
repo_url: https://github.com/sourcefuse/backstage
24
docs_dir: docs
5+
6+
nav:
7+
- Home: index.md
8+
39
plugins:
410
- techdocs-core

0 commit comments

Comments
 (0)