apiVersion: rhdh.redhat.com/v1alpha1 kind: Backstage metadata: name: my-rhdh spec: application: image: quay.io/rhdh/rhdh-hub-rhel9:1.0-200 imagePullSecrets: - rhdh-pull-secret appConfig: configMaps: - name: app-config-rhdh dynamicPluginsConfigMapName: dynamic-plugins-rhdh extraEnvs: secrets: - name: secrets-rhdh --- apiVersion: v1 kind: ConfigMap metadata: name: app-config-rhdh data: "app-config-rhdh.yaml": | backend: auth: keys: - secret: "${BACKEND_SECRET}" auth: # see https://backstage.io/docs/auth/ to learn about auth providers environment: development providers: github: development: clientId: '${GH_CLIENT_ID}' clientSecret: '${GH_CLIENT_SECRET}' --- apiVersion: v1 kind: Secret metadata: name: secrets-rhdh stringData: # generated with the command below (from https://backstage.io/docs/auth/service-to-service-auth/#setup): # node -p 'require("crypto").randomBytes(24).toString("base64")' BACKEND_SECRET: "R2FxRVNrcmwzYzhhN3l0V1VRcnQ3L1pLT09WaVhDNUEK" # notsecret GH_ORG: "my-gh-org" GH_CLIENT_ID: "my GH client ID" GH_CLIENT_SECRET: "my GH client secret" --- apiVersion: v1 kind: ConfigMap metadata: name: dynamic-plugins-rhdh data: dynamic-plugins.yaml: | includes: - dynamic-plugins.default.yaml plugins: - package: './dynamic-plugins/dist/backstage-plugin-catalog-backend-module-github-dynamic' disabled: false pluginConfig: catalog: providers: github: myorg: organization: '${GH_ORG}' schedule: # supports cron, ISO duration, "human duration" (used below) frequency: { minutes: 30} # supports ISO duration, "human duration (used below) timeout: { minutes: 3} initialDelay: { seconds: 15}