Skip to content

Commit

Permalink
chore: refactor task automation
Browse files Browse the repository at this point in the history
Signed-off-by: OurchitectureIO <97544811+ourchitectureio@users.noreply.github.com>
  • Loading branch information
ourchitectureio committed Mar 24, 2024
1 parent e192a0b commit a590eac
Show file tree
Hide file tree
Showing 58 changed files with 3,389 additions and 3,847 deletions.
3 changes: 2 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
**/.vscode
**/.wireit
**/.yarn/releases
**/src/systems/dev/backstage/ourstage

src/systems/dev/backstage

# File patterns.
**/*.drawio
Expand Down
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"editor.defaultFormatter": "foxundermoon.shell-format"
},
"[dotenv]": {
"editor.formatOnSave": false,
"editor.defaultFormatter": "foxundermoon.shell-format"
},
"[dockerfile]": {
Expand Down
2 changes: 2 additions & 0 deletions makefile
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,8 @@ upgrade:
@echo "Upgrading independent projects..."
@cd ./src/systems/dev/backstage/ourstage && make $@
@echo "Successfully upgraded independent projects."
.PHONY: update
update: upgrade

.PHONY: clean
clean:
Expand Down
7 changes: 6 additions & 1 deletion src/systems/dev/backstage/ourstage/.dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@
**/dist-types
**/node_modules

packages/backend/*.containerfile
*.containerfile

tasks

packages/backend/dev.containerfile
packages/backend/prod.containerfile

*.log

Expand Down
4 changes: 2 additions & 2 deletions src/systems/dev/backstage/ourstage/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module.exports = {
root: true,
};
root: true,
}
2 changes: 0 additions & 2 deletions src/systems/dev/backstage/ourstage/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,5 +52,3 @@ site

# E2E test reports
e2e-test-report/

.nexus-npm-password
2 changes: 0 additions & 2 deletions src/systems/dev/backstage/ourstage/.prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,3 @@ dist
dist-types
coverage
.vscode

.nexus-npm-password
10 changes: 10 additions & 0 deletions src/systems/dev/backstage/ourstage/.prettierrc.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import spotifyPrettierConfig from '@spotify/prettier-config'

export default {
...spotifyPrettierConfig,
printWidth: 80,
semi: false,
singleQuote: true,
tabWidth: 4,
trailingComma: 'es5',
}
6 changes: 4 additions & 2 deletions src/systems/dev/backstage/ourstage/.yarnrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ enableGlobalCache: true
# Do not track.
enableTelemetry: false

httpTimeout: 300000

logFilters:
- level: discard
pattern: '*react* is listed by your project with version*'
- level: discard
pattern: '*react* is listed by your project with version*'

nmHoistingLimits: none

Expand Down
74 changes: 37 additions & 37 deletions src/systems/dev/backstage/ourstage/app-config.production.yaml
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
app:
# Should be the same as backend.baseUrl when using the `app-backend` plugin.
baseUrl: http://localhost:7007
# Should be the same as backend.baseUrl when using the `app-backend` plugin.
baseUrl: http://localhost:7007

backend:
# Note that the baseUrl should be the URL that the browser and other clients
# should use when communicating with the backend, i.e. it needs to be
# reachable not just from within the backend host, but from all of your
# callers. When its value is "http://localhost:7007", it's strictly private
# and can't be reached by others.
baseUrl: http://localhost:7007
# The listener can also be expressed as a single <host>:<port> string. In this case we bind to
# all interfaces, the most permissive setting. The right value depends on your specific deployment.
listen: ':7007'
# Note that the baseUrl should be the URL that the browser and other clients
# should use when communicating with the backend, i.e. it needs to be
# reachable not just from within the backend host, but from all of your
# callers. When its value is "http://localhost:7007", it's strictly private
# and can't be reached by others.
baseUrl: http://localhost:7007
# The listener can also be expressed as a single <host>:<port> string. In this case we bind to
# all interfaces, the most permissive setting. The right value depends on your specific deployment.
listen: ':7007'

# # config options: https://node-postgres.com/api/client
# database:
# client: pg
# connection:
# host: ${POSTGRES_HOST}
# port: ${POSTGRES_PORT}
# user: ${POSTGRES_USER}
# password: ${POSTGRES_PASSWORD}
# # https://node-postgres.com/features/ssl
# # you can set the sslmode configuration option via the `PGSSLMODE` environment variable
# # see https://www.postgresql.org/docs/current/libpq-ssl.html Table 33.1. SSL Mode Descriptions (e.g. require)
# # ssl:
# # ca: # if you have a CA file and want to verify it you can uncomment this section
# # $file: <file-path>/ca/server.crt
# # config options: https://node-postgres.com/api/client
# database:
# client: pg
# connection:
# host: ${POSTGRES_HOST}
# port: ${POSTGRES_PORT}
# user: ${POSTGRES_USER}
# password: ${POSTGRES_PASSWORD}
# # https://node-postgres.com/features/ssl
# # you can set the sslmode configuration option via the `PGSSLMODE` environment variable
# # see https://www.postgresql.org/docs/current/libpq-ssl.html Table 33.1. SSL Mode Descriptions (e.g. require)
# # ssl:
# # ca: # if you have a CA file and want to verify it you can uncomment this section
# # $file: <file-path>/ca/server.crt

catalog:
# Overrides the default list locations from app-config.yaml as these contain example data.
# See https://backstage.io/docs/features/software-catalog/#adding-components-to-the-catalog for more details
# on how to get entities into the catalog.
locations:
# Ourchitecture entities catalog.
- type: url
target: https://github.com/ourchitecture/monorepo/blob/main/src/systems/dev/backstage/catalog/catalog-info.yaml
# Overrides the default list locations from app-config.yaml as these contain example data.
# See https://backstage.io/docs/features/software-catalog/#adding-components-to-the-catalog for more details
# on how to get entities into the catalog.
locations:
# Ourchitecture entities catalog.
- type: url
target: https://github.com/ourchitecture/monorepo/blob/main/src/systems/dev/backstage/catalog/catalog-info.yaml

# Ourstage entities catalog.
# NOTE: file locations are relative to the backend process,
# typically `packages/backend`.
- type: file
target: ./catalog-info.yaml
# Ourstage entities catalog.
# NOTE: file locations are relative to the backend process,
# typically `packages/backend`.
- type: file
target: ./catalog-info.yaml
146 changes: 73 additions & 73 deletions src/systems/dev/backstage/ourstage/app-config.yaml
Original file line number Diff line number Diff line change
@@ -1,95 +1,95 @@
app:
title: Ourstage
baseUrl: http://localhost:3000
title: Ourstage
baseUrl: http://localhost:3000

organization:
name: Ourchitecture
name: Ourchitecture

backend:
# Used for enabling authentication, secret is shared by all backend plugins
# See https://backstage.io/docs/auth/service-to-service-auth for
# information on the format
# auth:
# keys:
# - secret: ${BACKEND_SECRET}
baseUrl: http://localhost:7007
listen:
port: 7007
# Uncomment the following host directive to bind to specific interfaces
# host: 127.0.0.1
csp:
connect-src:
- "'self'"
- 'http:'
- 'https:'
# Content-Security-Policy directives follow the Helmet format: https://helmetjs.github.io/#reference
img-src:
- "'self'"
- 'data:'
- 'https://avatars.githubusercontent.com'
- 'https://media.licdn.com'
# Default Helmet Content-Security-Policy values can be removed by setting the key to false
cors:
origin: http://localhost:3000
methods: [GET, HEAD, PATCH, POST, PUT, DELETE]
credentials: true
# This is for local development only, it is not recommended to use this in production
# The production database configuration is stored in app-config.production.yaml
database:
client: better-sqlite3
connection: ':memory:'
# workingDirectory: /tmp # Use this to configure a working directory for the scaffolder, defaults to the OS temp-dir
# Used for enabling authentication, secret is shared by all backend plugins
# See https://backstage.io/docs/auth/service-to-service-auth for
# information on the format
# auth:
# keys:
# - secret: ${BACKEND_SECRET}
baseUrl: http://localhost:7007
listen:
port: 7007
# Uncomment the following host directive to bind to specific interfaces
# host: 127.0.0.1
csp:
connect-src:
- "'self'"
- 'http:'
- 'https:'
# Content-Security-Policy directives follow the Helmet format: https://helmetjs.github.io/#reference
img-src:
- "'self'"
- 'data:'
- 'https://avatars.githubusercontent.com'
- 'https://media.licdn.com'
# Default Helmet Content-Security-Policy values can be removed by setting the key to false
cors:
origin: http://localhost:3000
methods: [GET, HEAD, PATCH, POST, PUT, DELETE]
credentials: true
# This is for local development only, it is not recommended to use this in production
# The production database configuration is stored in app-config.production.yaml
database:
client: better-sqlite3
connection: ':memory:'
# workingDirectory: /tmp # Use this to configure a working directory for the scaffolder, defaults to the OS temp-dir

integrations:
github:
- host: github.com
# This is a Personal Access Token or PAT from GitHub. You can find out how to generate this token, and more information
# about setting up the GitHub integration here: https://backstage.io/docs/getting-started/configuration#setting-up-a-github-integration
token: ${GITHUB_TOKEN}
### Example for how to add your GitHub Enterprise instance using the API:
# - host: ghe.example.net
# apiBaseUrl: https://ghe.example.net/api/v3
# token: ${GHE_TOKEN}
github:
- host: github.com
# This is a Personal Access Token or PAT from GitHub. You can find out how to generate this token, and more information
# about setting up the GitHub integration here: https://backstage.io/docs/getting-started/configuration#setting-up-a-github-integration
token: ${GITHUB_TOKEN}
### Example for how to add your GitHub Enterprise instance using the API:
# - host: ghe.example.net
# apiBaseUrl: https://ghe.example.net/api/v3
# token: ${GHE_TOKEN}

proxy:
### Example for how to add a proxy endpoint for the frontend.
### A typical reason to do this is to handle HTTPS and CORS for internal services.
# endpoints:
# '/test':
# target: 'https://example.com'
# changeOrigin: true
### Example for how to add a proxy endpoint for the frontend.
### A typical reason to do this is to handle HTTPS and CORS for internal services.
# endpoints:
# '/test':
# target: 'https://example.com'
# changeOrigin: true

# Reference documentation http://backstage.io/docs/features/techdocs/configuration
# Note: After experimenting with basic setup, use CI/CD to generate docs
# and an external cloud storage when deploying TechDocs for production use-case.
# https://backstage.io/docs/features/techdocs/how-to-guides#how-to-migrate-from-techdocs-basic-to-recommended-deployment-approach
techdocs:
builder: 'local' # Alternatives - 'external'
generator:
runIn: 'local' # Alternatives - 'local'
publisher:
type: 'local' # Alternatives - 'googleGcs' or 'awsS3'. Read documentation for using alternatives.
builder: 'local' # Alternatives - 'external'
generator:
runIn: 'local' # Alternatives - 'local'
publisher:
type: 'local' # Alternatives - 'googleGcs' or 'awsS3'. Read documentation for using alternatives.

auth:
# see https://backstage.io/docs/auth/ to learn about auth providers
providers: {}
# see https://backstage.io/docs/auth/ to learn about auth providers
providers: {}

scaffolder:
# see https://backstage.io/docs/features/software-templates/configuration for software template options
# see https://backstage.io/docs/features/software-templates/configuration for software template options

catalog:
import:
entityFilename: catalog-info.yaml
pullRequestBranchName: backstage-integration
rules:
- allow: [Component, Group, User, System, API, Resource, Location]
locations:
# Ourchitecture entities catalog.
- type: url
target: https://github.com/ourchitecture/monorepo/blob/main/src/systems/dev/backstage/catalog/catalog-info.yaml
import:
entityFilename: catalog-info.yaml
pullRequestBranchName: backstage-integration
rules:
- allow: [Component, Group, User, System, API, Resource, Location]
locations:
# Ourchitecture entities catalog.
- type: url
target: https://github.com/ourchitecture/monorepo/blob/main/src/systems/dev/backstage/catalog/catalog-info.yaml

# Ourstage entities catalog.
# NOTE: file locations are relative to the backend process,
# typically `packages/backend`.
- type: file
target: ../../catalog-info.yaml
# Ourstage entities catalog.
# NOTE: file locations are relative to the backend process,
# typically `packages/backend`.
- type: file
target: ../../catalog-info.yaml
2 changes: 1 addition & 1 deletion src/systems/dev/backstage/ourstage/backstage.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "1.23.0"
"version": "1.23.0"
}
38 changes: 19 additions & 19 deletions src/systems/dev/backstage/ourstage/catalog-info.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,33 @@
apiVersion: backstage.io/v1alpha1
kind: System
metadata:
annotations:
backstage.io/techdocs-ref: dir:.
name: ourstage
description: The Ourchitecture Developer Portal
annotations:
backstage.io/techdocs-ref: dir:.
name: ourstage
description: The Ourchitecture Developer Portal
spec:
owner: ourchitecture
owner: ourchitecture
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: ourstage-web
description: Ourstage Developer Portal website
name: ourstage-web
description: Ourstage Developer Portal website
spec:
consumesApis:
- ourstage-api
lifecycle: experimental
owner: ourchitecture
system: ourstage
type: website
consumesApis:
- ourstage-api
lifecycle: experimental
owner: ourchitecture
system: ourstage
type: website
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: ourstage-service
description: Ourstage Developer Portal Service
name: ourstage-service
description: Ourstage Developer Portal Service
spec:
lifecycle: experimental
owner: ourchitecture
system: ourstage
type: service
lifecycle: experimental
owner: ourchitecture
system: ourstage
type: service
Loading

0 comments on commit a590eac

Please sign in to comment.