gh org + devtools
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
"@backstage/plugin-catalog-graph": "^0.4.4",
|
||||
"@backstage/plugin-catalog-import": "^0.10.10",
|
||||
"@backstage/plugin-catalog-react": "^1.11.3",
|
||||
"@backstage/plugin-devtools": "^0.1.13",
|
||||
"@backstage/plugin-org": "^0.6.24",
|
||||
"@backstage/plugin-permission-react": "^0.4.22",
|
||||
"@backstage/plugin-scaffolder": "^1.19.3",
|
||||
@@ -42,6 +43,7 @@
|
||||
"@material-ui/core": "^4.12.2",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@roadiehq/backstage-plugin-argo-cd": "^2.6.4",
|
||||
"@veecode-platform/backstage-plugin-github-workflows": "^0.2.70",
|
||||
"history": "^5.0.0",
|
||||
"react": "^18.0.2",
|
||||
"react-dom": "^18.0.2",
|
||||
|
||||
@@ -38,6 +38,7 @@ import { CatalogGraphPage } from '@backstage/plugin-catalog-graph';
|
||||
import { RequirePermission } from '@backstage/plugin-permission-react';
|
||||
import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha';
|
||||
import { githubAuthApiRef } from '@backstage/core-plugin-api';
|
||||
import { DevToolsPage } from '@backstage/plugin-devtools';
|
||||
|
||||
|
||||
const app = createApp({
|
||||
@@ -64,12 +65,14 @@ const app = createApp({
|
||||
<SignInPage
|
||||
{...props}
|
||||
auto
|
||||
providers={[{
|
||||
providers={[
|
||||
'guest',
|
||||
{
|
||||
id: 'github-auth-provider',
|
||||
title: 'GitHub',
|
||||
message: 'Sign in using GitHub',
|
||||
apiRef: githubAuthApiRef,
|
||||
}, 'guest']}
|
||||
}]}
|
||||
/>
|
||||
),
|
||||
|
||||
@@ -78,6 +81,7 @@ const app = createApp({
|
||||
|
||||
const routes = (
|
||||
<FlatRoutes>
|
||||
<Route path="/devtools" element={<DevToolsPage />} />
|
||||
<Route path="/" element={<Navigate to="catalog" />} />
|
||||
<Route path="/catalog" element={<CatalogIndexPage />} />
|
||||
<Route
|
||||
|
||||
@@ -26,6 +26,7 @@ import {
|
||||
} from '@backstage/core-components';
|
||||
import MenuIcon from '@material-ui/icons/Menu';
|
||||
import SearchIcon from '@material-ui/icons/Search';
|
||||
import BuildIcon from '@material-ui/icons/Build';
|
||||
|
||||
const useSidebarLogoStyles = makeStyles({
|
||||
root: {
|
||||
@@ -83,6 +84,7 @@ export const Root = ({ children }: PropsWithChildren<{}>) => (
|
||||
to="/settings"
|
||||
>
|
||||
<SidebarSettings />
|
||||
<SidebarItem icon={BuildIcon} to="devtools" text="DevTools" />
|
||||
</SidebarGroup>
|
||||
</Sidebar>
|
||||
{children}
|
||||
|
||||
@@ -45,7 +45,6 @@ import {
|
||||
EntityCatalogGraphCard,
|
||||
} from '@backstage/plugin-catalog-graph';
|
||||
import {
|
||||
Entity,
|
||||
RELATION_API_CONSUMED_BY,
|
||||
RELATION_API_PROVIDED_BY,
|
||||
RELATION_CONSUMES_API,
|
||||
@@ -58,7 +57,40 @@ import {
|
||||
|
||||
import { TechDocsAddons } from '@backstage/plugin-techdocs-react';
|
||||
import { ReportIssue } from '@backstage/plugin-techdocs-module-addons-contrib';
|
||||
import { EntityArgoCDOverviewCard, isArgocdAvailable } from '@roadiehq/backstage-plugin-argo-cd';
|
||||
import {
|
||||
EntityArgoCDOverviewCard,
|
||||
isArgocdAvailable,
|
||||
} from '@roadiehq/backstage-plugin-argo-cd';
|
||||
import {
|
||||
GithubWorkflowsCard,
|
||||
GithubWorkflowsList,
|
||||
isGithubAvailable,
|
||||
isGithubWorkflowsAvailable,
|
||||
} from '@veecode-platform/backstage-plugin-github-workflows';
|
||||
|
||||
const WorkflowsContent = (
|
||||
<EntitySwitch>
|
||||
<EntitySwitch.Case if={isGithubActionsAvailable}>
|
||||
<GithubWorkflowsList />
|
||||
</EntitySwitch.Case>
|
||||
<EntitySwitch.Case>
|
||||
<EmptyState
|
||||
title="No CI/CD available for this entity"
|
||||
missing="info"
|
||||
description="You need to add an annotation to your component if you want to enable CI/CD for it. You can read more about annotations in Backstage by clicking the button below."
|
||||
action={
|
||||
<Button
|
||||
variant="contained"
|
||||
color="primary"
|
||||
href="https://backstage.io/docs/features/software-catalog/well-known-annotations"
|
||||
>
|
||||
Read more
|
||||
</Button>
|
||||
}
|
||||
/>
|
||||
</EntitySwitch.Case>
|
||||
</EntitySwitch>
|
||||
);
|
||||
|
||||
const techdocsContent = (
|
||||
<EntityTechdocsContent>
|
||||
@@ -73,7 +105,7 @@ const cicdContent = (
|
||||
// You can for example enforce that all components of type 'service' should use GitHubActions
|
||||
<EntitySwitch>
|
||||
<EntitySwitch.Case if={isGithubActionsAvailable}>
|
||||
<EntityGithubActionsContent view='cards' />
|
||||
<EntityGithubActionsContent />
|
||||
</EntitySwitch.Case>
|
||||
<EntitySwitch.Case>
|
||||
<EmptyState
|
||||
@@ -132,6 +164,13 @@ const overviewContent = (
|
||||
</Grid>
|
||||
</EntitySwitch.Case>
|
||||
</EntitySwitch>
|
||||
<EntitySwitch>
|
||||
<EntitySwitch.Case if={isGithubWorkflowsAvailable}>
|
||||
<Grid item lg={8} xs={12}>
|
||||
<GithubWorkflowsCard />
|
||||
</Grid>
|
||||
</EntitySwitch.Case>
|
||||
</EntitySwitch>
|
||||
<Grid item md={6}>
|
||||
<EntityAboutCard variant="gridItem" />
|
||||
</Grid>
|
||||
@@ -157,6 +196,13 @@ const serviceEntityPage = (
|
||||
<EntityLayout.Route path="/ci-cd" title="CI/CD">
|
||||
{cicdContent}
|
||||
</EntityLayout.Route>
|
||||
<EntityLayout.Route
|
||||
if={isGithubAvailable}
|
||||
path="/workflows"
|
||||
title="Workflows"
|
||||
>
|
||||
{WorkflowsContent}
|
||||
</EntityLayout.Route>
|
||||
|
||||
<EntityLayout.Route path="/api" title="API">
|
||||
<Grid container spacing={3} alignItems="stretch">
|
||||
@@ -195,7 +241,13 @@ const websiteEntityPage = (
|
||||
<EntityLayout.Route path="/ci-cd" title="CI/CD">
|
||||
{cicdContent}
|
||||
</EntityLayout.Route>
|
||||
|
||||
<EntityLayout.Route
|
||||
if={isGithubAvailable}
|
||||
path="/workflows"
|
||||
title="Workflows"
|
||||
>
|
||||
{WorkflowsContent}
|
||||
</EntityLayout.Route>
|
||||
<EntityLayout.Route path="/dependencies" title="Dependencies">
|
||||
<Grid container spacing={3} alignItems="stretch">
|
||||
<Grid item md={6}>
|
||||
|
||||
Reference in New Issue
Block a user