Why the deployment using this helm chart is not in the documentation?
What is the recommended way to deploy to Kubernetes? on the page https://backstage.io/docs/deployment/k8s/ or using this helm chart?
Is the documentation out of date or is this helm chart out of date?
Questions so trivial that they are not explained anywhere.
Hi, I wanted to try this helm chart and was asking myself the same question. I was also wondering how can I have a quick example running in kind with minimal values but I didn't find the documentation and just using helm install don't work out of the box.
@andreyolv it's mostly up to you! The chart is definitely up to date, so you are free to use it in case you prefer using helm. More information in the subchart: https://github.com/backstage/charts/tree/main/charts/backstage
The important thing is that you provide your own Docker image containing your own Backstage, customized with the plugins that are needed for your org.
Hi,
We're doing a PoC and trying to get this up and running for evaluation on Kubernetes. We followed the documentation mentioned in this thread: https://backstage.io/docs/deployment/k8s. The steps were clear until we got stuck on creating a Backstage deployment. Instead of creating a deployment file as instructed in the doc, we saw a Helm chart and installed it directly into the Kubernetes cluster under the backstage namespace.
Here's the error we received:
Loading config from MergedConfigSource{FileConfigSource{path="/app/app-config.yaml"}, EnvConfigSource{count=1}}
{"level":"info","message":"Found 1 new secrets in config that will be redacted","service":"backstage"}
{"level":"info","message":"Listening on :7007","service":"rootHttpRouter"}
{"level":"info","message":"Plugin initialization started: 'app', 'proxy', 'scaffolder', 'techdocs', 'auth', 'catalog', 'permission', 'search'","service":"backstage","type":"initialization"}
{"level":"warn","message":"Postgres search engine is not supported, skipping registration of search-backend-module-pg","plugin":"search","service":"backstage"}
{"level":"warn","message":"Permission backend started with permissions disabled. Enable permissions by setting permission.enabled=true.","plugin":"permission","service":"backstage"}
{"level":"info","message":"Configuring \"database\" as KeyStore provider","plugin":"auth","service":"backstage"}
{"level":"info","message":"Creating Local publisher for TechDocs","plugin":"techdocs","service":"backstage"}
{"level":"info","message":"Starting scaffolder with the following actions enabled fetch:plain, fetch:plain:file, fetch:template, debug:log, debug:wait, catalog:register, catalog:fetch, catalog:write, fs:delete, fs:rename","plugin":"scaffolder","service":"backstage"}
{"level":"info","message":"Performing database migration","plugin":"catalog","service":"backstage"}
{"level":"info","message":"Added DefaultCatalogCollatorFactory collator factory for type software-catalog","plugin":"search","service":"backstage"}
{"level":"info","message":"Added DefaultTechDocsCollatorFactory collator factory for type techdocs","plugin":"search","service":"backstage"}
{"level":"info","message":"Serving static app content from /app/packages/app/dist","plugin":"app","service":"backstage"}
{"level":"info","message":"Configuring auth provider: guest","plugin":"auth","service":"backstage"}
/app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:1680
throw new errors.ForwardedError(
^
ForwardedError: Plugin 'auth' startup failed; caused by Error: Failed to initialize guest auth provider, The guest provider cannot be used outside of a development environment
at /app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:1680:19
at async /app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:1679:11
... 3 lines matching cause stack trace ...
at async BackstageBackend.start (/app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:1762:5) {
cause: Error: Failed to initialize guest auth provider, The guest provider cannot be used outside of a development environment
at bindProviderRouters (/app/node_modules/@backstage/plugin-auth-backend/dist/index.cjs.js:1544:17)
at createRouter (/app/node_modules/@backstage/plugin-auth-backend/dist/index.cjs.js:2267:3)
at async Object.init [as func] (/app/node_modules/@backstage/plugin-auth-backend/dist/index.cjs.js:2335:24)
at async /app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:1679:11
at async Promise.all (index 4)
at async #doStart (/app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:1633:5)
at async BackendInitializer.start (/app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:1562:5)
at async BackstageBackend.start (/app/node_modules/@backstage/backend-app-api/dist/index.cjs.js:1762:5)
Our questions are:
- What are the minimum configurations required to successfully deploy Backstage on Kubernetes using Helm chart?
- Could you provide a sample configuration file that we can use as a reference?
Thanks.
So I had the same issue while trying to do a POC and after some trail and error this config helped me get the helm chart working
backstage:
extraEnvVars:
- name: "NODE_ENV"
value: development
appConfig:
app:
title: My Backstage App
baseUrl: http://127.0.0.1
backend:
baseUrl: http://127.0.0.1
listen:
port: 7007
cors:
origin: http://127.0.0.1
auth:
providers:
guest: {}
techdocs:
builder: 'local' # Alternatives - 'external'
generator:
runIn: 'local' # Alternatives - 'local'
publisher:
type: 'local' # Alternatives - 'googleGcs' or 'awsS3'. Read documentation for using alternatives.
resources:
limits:
memory: 1Gi
cpu: 1000m
requests:
memory: 512Mi
cpu: 150m
The helm chart documentation should really be updated as this is not straightforward
Awesome! I'll give it a try. Thanks, @RohitThomas-PI for the info.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.