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
85caa27855
commit
9b59b47d9e
|
@ -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