Skip to content

Commit

Permalink
Initial repo setup
Browse files Browse the repository at this point in the history
Signed-off-by: Paul Schultz <[email protected]>
  • Loading branch information
schultzp2020 committed Jan 23, 2023
1 parent a2edf7c commit b522883
Show file tree
Hide file tree
Showing 24 changed files with 23,241 additions and 1 deletion.
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.mdx]
trim_trailing_whitespace = false
94 changes: 94 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# source code
*.php eol=lf
*.css eol=lf
*.sass eol=lf
*.scss eol=lf
*.less eol=lf
*.styl eol=lf
*.js eol=lf
*.ts eol=lf
*.jsx eol=lf
*.tsx eol=lf
*.coffee eol=lf
*.json eol=lf
*.htm eol=lf
*.html eol=lf
*.xml eol=lf
*.svg eol=lf
*.txt eol=lf
*.ini eol=lf
*.inc eol=lf
*.pl eol=lf
*.rb eol=lf
*.py eol=lf
*.scm eol=lf
*.sql eol=lf
*.sh eol=lf
*.bat eol=lf

# templates
*.ejs eol=lf
*.hbt eol=lf
*.jade eol=lf
*.haml eol=lf
*.hbs eol=lf
*.dot eol=lf
*.tmpl eol=lf
*.phtml eol=lf

# server config
.htaccess eol=lf

# git config
.gitattributes eol=lf
.gitignore eol=lf
.gitconfig eol=lf

# code analysis config
.jshintrc eol=lf
.jscsrc eol=lf
.jshintignore eol=lf
.csslintrc eol=lf

# misc config
*.yaml eol=lf
*.yml eol=lf
.editorconfig eol=lf

# build config
*.npmignore eol=lf
*.bowerrc eol=lf

# Heroku
Procfile eol=lf
.slugignore eol=lf

# Documentation
*.md eol=lf
LICENSE eol=lf
AUTHORS eol=lf

#
## These files are binary and should be left untouched
#

# (binary is a macro for -eol=lf -diff)
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.mov binary
*.mp4 binary
*.mp3 binary
*.flv binary
*.fla binary
*.swf binary
*.gz binary
*.zip binary
*.7z binary
*.ttf binary
*.eot binary
*.woff binary
*.pyc binary
*.pdf binary
65 changes: 65 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Stage 1 - Create yarn install skeleton layer
FROM registry.access.redhat.com/ubi9/nodejs-18:latest AS packages

#WORKDIR /app
COPY package.json yarn.lock ./

COPY packages packages

USER 0

RUN chgrp -R 0 /opt/app-root/src && \
chmod -R g=u /opt/app-root/src

USER 1001

RUN npm install -g yarn && \
fix-permissions ./ && \
find packages -mindepth 2 -maxdepth 2 \! -name "package.json" -exec rm -rf {} \+

# Stage 2 - Install dependencies and build packages
FROM registry.access.redhat.com/ubi9/nodejs-18:latest AS build

COPY --from=packages /opt/app-root/src .

RUN fix-permissions ./ && \
yarn install --frozen-lockfile --network-timeout 600000 && rm -rf "$(yarn cache dir)"

COPY . .

USER 0

RUN chgrp -R 0 /opt/app-root/src && \
chmod -R g=u /opt/app-root/src

USER 1001

RUN yarn tsc
RUN yarn --cwd packages/backend build

# Stage 3 - Build the actual backend image and install production dependencies
FROM registry.access.redhat.com/ubi9/nodejs-18-minimal:latest

USER 0

RUN microdnf install -y gzip && microdnf clean all

USER 1001

# Copy the install dependencies from the build stage and context
COPY --from=build /opt/app-root/src/yarn.lock /opt/app-root/src/package.json /opt/app-root/src/packages/backend/dist/skeleton.tar.gz ./
RUN tar xzf skeleton.tar.gz && rm skeleton.tar.gz

RUN npm install -g yarn && \
yarn install --frozen-lockfile --production --network-timeout 600000 && rm -rf "$(yarn cache dir)"

# Copy the built packages from the build stage
COPY --from=build /opt/app-root/src/packages/backend/dist/bundle.tar.gz .
RUN tar xzf bundle.tar.gz && rm bundle.tar.gz

# Copy any other files that we need at runtime
COPY app-config.yaml ./

RUN fix-permissions ./

CMD ["node", "packages/backend", "--config", "app-config.yaml"]
23 changes: 23 additions & 0 deletions charts/backstage/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
9 changes: 9 additions & 0 deletions charts/backstage/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: v2
name: backstage
description: A helm chart for deploying Backstage
version: 0.1.6
appVersion: "v1.7.0"
kubeVersion: ">= 1.19.0-0"
home: https://github.com/janus-idp/helm-backstage
annotations:
charts.openshift.io/name: backstage
88 changes: 88 additions & 0 deletions charts/backstage/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# backstage

![Version: 0.1.6](https://img.shields.io/badge/Version-0.1.6-informational?style=flat-square) ![AppVersion: v1.7.0](https://img.shields.io/badge/AppVersion-v1.7.0-informational?style=flat-square)

A helm chart for deploying Backstage

**Homepage:** <https://github.com/janus-idp/helm-backstage>

## Installation

This chart can be installed to an individual namespace by first adding the chart repository, creating a new namespace (or using an existing namespace) and installing the chart by executing the following commands:

```shell
helm repo add janus-idp-backstage https://janus-idp.github.io/helm-backstage
helm create namespace backstage
helm upgrade -i backstage -n backstage janus-idp-backstage/backstage --set backstage.baseUrl=<BASE_URL>
```

The preceding command will create a new namespace called `backstage` and install the chart with a release name of `backstage`. At a minimum, the required parameter `backstage.baseUrl` refers to the URL that should be used to access the Backstage user interface.

## Uninstallation

To remove a previously installed chart, execute the following command:

```shell
helm uninstall <RELEASE>
```

Replace `<RELEASE>` with the name of the Helm release that was used when installing the chart.

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| additionalConfig | object | `{}` | |
| backstage.baseUrl | string | `""` | |
| backstage.catalog.locations[0].target | string | `"https://github.com/backstage/backstage/blob/master/packages/catalog-model/examples/all-components.yaml"` | |
| backstage.catalog.locations[0].type | string | `"url"` | |
| backstage.catalog.rules[0].allow[0] | string | `"Component"` | |
| backstage.catalog.rules[0].allow[1] | string | `"System"` | |
| backstage.catalog.rules[0].allow[2] | string | `"API"` | |
| backstage.catalog.rules[0].allow[3] | string | `"Resource"` | |
| backstage.catalog.rules[0].allow[4] | string | `"Location"` | |
| backstage.companyname | string | `"Red Hat Backstage Helm Chart"` | |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"Always"` | |
| image.registry | string | `"ghcr.io"` | |
| image.repository | string | `"janus-idp/redhat-backstage-build"` | |
| image.version | string | `"latest"` | |
| imagePullSecrets | list | `[]` | |
| ingress.className | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.tls.secretName | string | `""` | |
| name | string | `"backstage"` | |
| nameOverride | string | `""` | |
| postgres.database_host | string | `""` | |
| postgres.database_name | string | `"postgres"` | |
| postgres.database_password | string | `""` | |
| postgres.database_port | int | `5432` | |
| postgres.database_user | string | `"postgres"` | |
| postgres.existingSecret | string | `""` | |
| postgres.external | bool | `false` | |
| postgres.image.pullPolicy | string | `"Always"` | |
| postgres.image.registry | string | `"quay.io"` | |
| postgres.image.repository | string | `"fedora/postgresql-13"` | |
| postgres.image.version | string | `"13"` | |
| postgres.resources.limits.cpu | string | `"400m"` | |
| postgres.resources.limits.memory | string | `"596Mi"` | |
| postgres.resources.requests.cpu | string | `"100m"` | |
| postgres.resources.requests.memory | string | `"128Mi"` | |
| postgres.secretKeys.adminPasswordKey | string | `""` | |
| postgres.serviceAccount.annotations | object | `{}` | |
| postgres.serviceAccount.create | bool | `true` | |
| postgres.serviceAccount.name | string | `""` | |
| postgres.storage.enabled | bool | `true` | |
| postgres.storage.size | string | `"2Gi"` | |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| route.annotations | object | `{}` | |
| route.enabled | bool | `true` | |
| route.termination | string | `"edge"` | |
| securityContext | object | `{}` | |
| service.port | int | `8080` | |
| service.targetPort | int | `7007` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.name | string | `""` | |
37 changes: 37 additions & 0 deletions charts/backstage/chart_schema.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: str()
home: str(required=False)
version: str()
appVersion: any(str(), num(), required=False)
description: str(required=False)
keywords: list(str(), required=False)
sources: list(str(), required=False)
maintainers: list(include('maintainer'), required=False)
dependencies: list(include('dependency'), required=False)
icon: str(required=False)
engine: str(required=False)
condition: str(required=False)
tags: str(required=False)
deprecated: bool(required=False)
apiVersion: str()
kubeVersion: str(required=False)
type: str(required=False)
annotations: map(str(), str(), required=False)
---
maintainer:
name: str(required=False)
email: str(required=False)
url: str(required=False)
---
dependency:
name: str()
version: str()
repository: str()
condition: str(required=False)
tags: list(str(), required=False)
enabled: bool(required=False)
import-values: any(list(str()), list(include('import-value')), required=False)
alias: str(required=False)
---
import-value:
child: str()
parent: str()
7 changes: 7 additions & 0 deletions charts/backstage/ci/ci-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
backstage:
baseUrl: http://backstage.localhost
route:
enabled: false
ingress:
enabled: true
3 changes: 3 additions & 0 deletions charts/backstage/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Deployment of Backstage Complete!

Access the frontend: {{ .Values.backstage.baseUrl }}
Loading

0 comments on commit b522883

Please sign in to comment.