diff --git a/charts/budibase/templates/app-service-deployment.yaml b/charts/budibase/templates/app-service-deployment.yaml index 492f244d79..bf1b672d37 100644 --- a/charts/budibase/templates/app-service-deployment.yaml +++ b/charts/budibase/templates/app-service-deployment.yaml @@ -158,6 +158,8 @@ spec: - name: ELASTIC_APM_SERVER_URL value: {{ .Values.globals.elasticApmServerUrl | quote }} {{ end }} + - name: CDN_URL + value: {{ .Values.globals.cdnUrl }} image: budibase/apps:{{ .Values.globals.appVersion }} imagePullPolicy: Always diff --git a/charts/budibase/templates/worker-service-deployment.yaml b/charts/budibase/templates/worker-service-deployment.yaml index c72398f825..df692a0723 100644 --- a/charts/budibase/templates/worker-service-deployment.yaml +++ b/charts/budibase/templates/worker-service-deployment.yaml @@ -147,6 +147,8 @@ spec: - name: ELASTIC_APM_SERVER_URL value: {{ .Values.globals.elasticApmServerUrl | quote }} {{ end }} + - name: CDN_URL + value: {{ .Values.globals.cdnUrl }} image: budibase/worker:{{ .Values.globals.appVersion }} imagePullPolicy: Always diff --git a/charts/budibase/values.yaml b/charts/budibase/values.yaml index 5c4004cb57..a2a761aa86 100644 --- a/charts/budibase/values.yaml +++ b/charts/budibase/values.yaml @@ -98,6 +98,7 @@ globals: # if createSecrets is set to false, you can hard-code your secrets here internalApiKey: "" jwtSecret: "" + cdnUrl: "" smtp: enabled: false diff --git a/packages/server/src/environment.js b/packages/server/src/environment.js index ef8e674a86..72baab9167 100644 --- a/packages/server/src/environment.js +++ b/packages/server/src/environment.js @@ -46,6 +46,7 @@ module.exports = { AWS_REGION: process.env.AWS_REGION, MINIO_ACCESS_KEY: process.env.MINIO_ACCESS_KEY, MINIO_SECRET_KEY: process.env.MINIO_SECRET_KEY, + CDN_URL: process.env.CDN_URL || "https://cdn.budi.live", REDIS_URL: process.env.REDIS_URL, REDIS_PASSWORD: process.env.REDIS_PASSWORD, INTERNAL_API_KEY: process.env.INTERNAL_API_KEY, diff --git a/packages/server/src/utilities/index.js b/packages/server/src/utilities/index.js index 38e15b5f58..9b51e0e628 100644 --- a/packages/server/src/utilities/index.js +++ b/packages/server/src/utilities/index.js @@ -5,8 +5,6 @@ const { generateMetadataID } = require("../db/utils") const Readable = require("stream").Readable const { getAppDB } = require("@budibase/backend-core/context") -const BB_CDN = "https://cdn.budi.live" - exports.wait = ms => new Promise(resolve => setTimeout(resolve, ms)) exports.isDev = env.isDev @@ -40,7 +38,7 @@ exports.objectStoreUrl = () => { // can use a relative url for this as all goes through the proxy (this is hosted in minio) return OBJ_STORE_DIRECTORY } else { - return BB_CDN + return env.CDN_URL } } diff --git a/packages/server/src/utilities/plugins.js b/packages/server/src/utilities/plugins.js index 202a349b16..139639e814 100644 --- a/packages/server/src/utilities/plugins.js +++ b/packages/server/src/utilities/plugins.js @@ -13,7 +13,7 @@ exports.enrichPluginURLs = plugins => { // In self host we need to prefix the path, as the bucket name is not part // of the bucket path. In cloud, it's already part of the bucket path. - let jsUrl = cloud ? "https://cdn.budi.live/" : `/${bucket}/` + let jsUrl = cloud ? `${env.CDN_URL}/` : `/${bucket}/` jsUrl += ProPlugins.getBucketPath(plugin.name) jsUrl += jsFileName return { ...plugin, jsUrl } diff --git a/packages/worker/src/api/controllers/global/configs.js b/packages/worker/src/api/controllers/global/configs.js index 54de62a2aa..5be6141c3f 100644 --- a/packages/worker/src/api/controllers/global/configs.js +++ b/packages/worker/src/api/controllers/global/configs.js @@ -22,8 +22,6 @@ const { const { events } = require("@budibase/backend-core") const { checkAnyUserExists } = require("../../../utilities/users") -const BB_TENANT_CDN = "https://tenants.cdn.budi.live" - const getEventFns = async (db, config) => { const fns = [] const type = config.type @@ -350,7 +348,7 @@ exports.upload = async function (ctx) { if (env.SELF_HOSTED) { url = `/${bucket}/${key}` } else { - url = `${BB_TENANT_CDN}/${key}` + url = `${env.CDN_URL}/${key}` } cfgStructure.config[`${name}`] = url diff --git a/packages/worker/src/environment.ts b/packages/worker/src/environment.ts index 5b39ce6655..c9eabdfdb4 100644 --- a/packages/worker/src/environment.ts +++ b/packages/worker/src/environment.ts @@ -42,6 +42,7 @@ const env = { ACCOUNT_PORTAL_URL: process.env.ACCOUNT_PORTAL_URL, PLATFORM_URL: process.env.PLATFORM_URL, APPS_URL: process.env.APPS_URL, + CDN_URL: process.env.CDN_URL || "https://tenants.cdn.budi.live", // ports // prefer worker port to generic port PORT: process.env.WORKER_PORT || process.env.PORT,