Fixing issue #1050 - two issues found, one with running automations in self host throwing an error when trying to access cloud resources (Dynamo) and secondly the worker pool does not have access to resources in the main server instance, therefore need to re-init when running an external action (get manifest, to download the package).
This commit is contained in:
parent
f01e9998b8
commit
1f92d09d7f
|
@ -14,7 +14,6 @@ exports.fetchInfo = async ctx => {
|
|||
}
|
||||
|
||||
exports.save = async ctx => {
|
||||
console.trace("DID A SAVE!")
|
||||
const db = new CouchDB(BUILDER_CONFIG_DB)
|
||||
const { type } = ctx.request.body
|
||||
if (type === HostingTypes.CLOUD && ctx.request.body._rev) {
|
||||
|
|
|
@ -53,6 +53,10 @@ module.exports.getAction = async function(actionName) {
|
|||
if (BUILTIN_ACTIONS[actionName] != null) {
|
||||
return BUILTIN_ACTIONS[actionName]
|
||||
}
|
||||
// worker pools means that a worker may not have manifest
|
||||
if (env.CLOUD && MANIFEST == null) {
|
||||
MANIFEST = await module.exports.init()
|
||||
}
|
||||
// env setup to get async packages
|
||||
if (!MANIFEST || !MANIFEST.packages || !MANIFEST.packages[actionName]) {
|
||||
return null
|
||||
|
@ -86,8 +90,10 @@ module.exports.init = async function() {
|
|||
? Object.assign(MANIFEST.packages, BUILTIN_DEFINITIONS)
|
||||
: BUILTIN_DEFINITIONS
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
Sentry.captureException(err)
|
||||
}
|
||||
return MANIFEST
|
||||
}
|
||||
|
||||
module.exports.DEFINITIONS = BUILTIN_DEFINITIONS
|
||||
|
|
|
@ -34,7 +34,7 @@ module.exports.init = function() {
|
|||
actions.init().then(() => {
|
||||
triggers.automationQueue.process(async job => {
|
||||
try {
|
||||
if (env.CLOUD && job.data.automation) {
|
||||
if (env.CLOUD && job.data.automation && !env.SELF_HOSTED) {
|
||||
job.data.automation.apiKey = await updateQuota(job.data.automation)
|
||||
}
|
||||
if (env.BUDIBASE_ENVIRONMENT === "PRODUCTION") {
|
||||
|
|
|
@ -50,6 +50,9 @@ exports.Properties = {
|
|||
}
|
||||
|
||||
exports.getAPIKey = async appId => {
|
||||
if (env.SELF_HOSTED) {
|
||||
return { apiKey: null }
|
||||
}
|
||||
return apiKeyTable.get({ primary: appId })
|
||||
}
|
||||
|
||||
|
@ -63,7 +66,7 @@ exports.getAPIKey = async appId => {
|
|||
*/
|
||||
exports.update = async (apiKey, property, usage) => {
|
||||
// don't try validate in builder
|
||||
if (!env.CLOUD) {
|
||||
if (!env.CLOUD || env.SELF_HOSTED) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
|
|
Loading…
Reference in New Issue