@hybridless/hybridless 0.0.82 → 0.0.84-alpha10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/core/DepsManager.js +90 -0
- package/core/DepsManager.js.map +1 -0
- package/core/Docker.js +76 -0
- package/core/Docker.js.map +1 -0
- package/core/Globals.js +110 -0
- package/core/Globals.js.map +1 -0
- package/core/Logger.js +82 -0
- package/core/Logger.js.map +1 -0
- package/index.js +397 -0
- package/index.js.map +1 -0
- package/options.js +87 -0
- package/options.js.map +1 -0
- package/options.json +7013 -6888
- package/package.json +2 -2
- package/resources/BaseEvents/FunctionBaseEvent.js +20 -0
- package/resources/BaseEvents/FunctionBaseEvent.js.map +1 -0
- package/resources/BaseEvents/FunctionContainerBaseEvent.js +187 -0
- package/resources/BaseEvents/FunctionContainerBaseEvent.js.map +1 -0
- package/resources/Function.js +229 -0
- package/resources/Function.js.map +1 -0
- package/resources/FunctionBatchJobEvent.js +104 -0
- package/resources/FunctionBatchJobEvent.js.map +1 -0
- package/resources/FunctionHttpdTaskEvent.js +116 -0
- package/resources/FunctionHttpdTaskEvent.js.map +1 -0
- package/resources/FunctionLambdaContainerEvent.js +201 -0
- package/resources/FunctionLambdaContainerEvent.js.map +1 -0
- package/resources/FunctionLambdaEvent.js +161 -0
- package/resources/FunctionLambdaEvent.js.map +1 -0
- package/resources/FunctionProcessTaskEvent.js +89 -0
- package/resources/FunctionProcessTaskEvent.js.map +1 -0
- package/resources/FunctionScheduledTaskEvent.js +89 -0
- package/resources/FunctionScheduledTaskEvent.js.map +1 -0
- package/resources/assets/job-batch/Dockerfile-Job-Nodejs10 +13 -0
- package/resources/assets/job-batch/Dockerfile-Job-Nodejs12 +13 -0
- package/resources/assets/job-batch/Dockerfile-Job-Nodejs14 +13 -0
- package/resources/assets/job-batch/Index-Job-NodejsX +24 -0
- package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Java11 +8 -0
- package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Java8 +8 -0
- package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Java8al12 +8 -0
- package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Nodejs10 +7 -0
- package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Nodejs12 +7 -0
- package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Nodejs14 +7 -0
- package/resources/assets/task-httpd/Dockerfile-Httpd-Nodejs10 +15 -0
- package/resources/assets/task-httpd/Dockerfile-Httpd-PHP5 +9 -0
- package/resources/assets/task-httpd/Dockerfile-Httpd-PHP7 +9 -0
- package/resources/assets/task-httpd/Index-Httpd-NodejsX +15 -0
- package/resources/assets/task-httpd/healthCheck.php +1 -0
- package/resources/assets/task-process/Dockerfile-Process-Nodejs10 +10 -0
- package/resources/assets/task-process/Dockerfile-Process-Nodejs13 +10 -0
- package/resources/assets/task-scheduled/Dockerfile-Scheduled-Nodejs10 +10 -0
- package/resources/assets/task-scheduled/Dockerfile-Scheduled-Nodejs13 +10 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.FunctionProcessTaskEvent = void 0;
|
|
13
|
+
const FunctionContainerBaseEvent_1 = require("./BaseEvents/FunctionContainerBaseEvent");
|
|
14
|
+
const options_1 = require("../options");
|
|
15
|
+
const Globals_1 = require("../core/Globals");
|
|
16
|
+
const BPromise = require("bluebird");
|
|
17
|
+
class FunctionProcessTaskEvent extends FunctionContainerBaseEvent_1.FunctionContainerBaseEvent {
|
|
18
|
+
constructor(plugin, func, event, index) {
|
|
19
|
+
super(plugin, func, event, index);
|
|
20
|
+
}
|
|
21
|
+
getContainerFiles() {
|
|
22
|
+
const event = this.event;
|
|
23
|
+
const customDockerFile = event.dockerFile;
|
|
24
|
+
const serverlessDir = this.plugin.serverless.config.servicePath;
|
|
25
|
+
const additionalDockerFiles = (event.additionalDockerFiles || []).map((file) => {
|
|
26
|
+
return { name: file.from, dir: serverlessDir, dest: file.to };
|
|
27
|
+
});
|
|
28
|
+
let safeDir = __dirname.split('/');
|
|
29
|
+
safeDir.splice(safeDir.length - 1, 1);
|
|
30
|
+
safeDir = safeDir.join('/');
|
|
31
|
+
const isNodeJS = (event && event.runtime && event.runtime.toLowerCase().indexOf('node') != -1);
|
|
32
|
+
const isJava = (event && event.runtime && event.runtime.toLowerCase().indexOf('java') != -1);
|
|
33
|
+
const isPureContainer = (event.runtime == options_1.OFunctionProcessTaskRuntime.container);
|
|
34
|
+
if (isNodeJS) {
|
|
35
|
+
return [
|
|
36
|
+
(customDockerFile ?
|
|
37
|
+
{ name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' } :
|
|
38
|
+
{ name: Globals_1.default.Process_ImageByRuntime(event.runtime), dir: safeDir + '/resources/assets', dest: 'Dockerfile' }),
|
|
39
|
+
(this.plugin.options.disableWebpack ?
|
|
40
|
+
{ name: '.', dir: serverlessDir, dest: '/usr/src/app' } :
|
|
41
|
+
{ name: '.webpack/service', dir: serverlessDir, dest: '/usr/src/app' }),
|
|
42
|
+
...additionalDockerFiles
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
else if (isJava) {
|
|
46
|
+
return [
|
|
47
|
+
(customDockerFile ?
|
|
48
|
+
{ name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' } :
|
|
49
|
+
{ name: Globals_1.default.Process_ImageByRuntime(event.runtime), dir: safeDir + '/resources/assets', dest: 'Dockerfile' }),
|
|
50
|
+
{ name: 'target/classes', dir: serverlessDir, dest: 'target/classes' },
|
|
51
|
+
{ name: 'target/dependency', dir: serverlessDir, dest: 'target/dependency' },
|
|
52
|
+
...additionalDockerFiles
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
else if (isPureContainer) {
|
|
56
|
+
return [
|
|
57
|
+
{ name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' },
|
|
58
|
+
...additionalDockerFiles
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
throw new Error(`Unrecognized Process event type ${event.runtime}!`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
getContainerEnvironments() {
|
|
66
|
+
const event = this.event;
|
|
67
|
+
const isNodeJS = (event && event.runtime && event.runtime.toLowerCase().indexOf('node') != -1);
|
|
68
|
+
return Object.assign(Object.assign(Object.assign({ 'ENTRYPOINT': this.func.getEntrypoint(this.event), 'ENTRYPOINT_FUNC': this.func.getEntrypointFunction(this.event) }, (isNodeJS ? { 'AWS_NODEJS_CONNECTION_REUSE_ENABLED': 1 } : {})), (event.newRelicKey ? {
|
|
69
|
+
'NEW_RELIC_APP_NAME': `${this.plugin.getName()}-${this.func.getName()}-${this.plugin.stage}`,
|
|
70
|
+
'NEW_RELIC_LICENSE_KEY': event.newRelicKey,
|
|
71
|
+
'NEW_RELIC_ENABLED': true,
|
|
72
|
+
'NEW_RELIC_NO_CONFIG_FILE': true,
|
|
73
|
+
} : {
|
|
74
|
+
'NEW_RELIC_ENABLED': false
|
|
75
|
+
})), { 'STAGE': this.plugin.stage, 'AWS_REGION': { "Ref": "AWS::Region" }, 'AWS_ACCOUNT_ID': { "Ref": "AWS::AccountId" } });
|
|
76
|
+
}
|
|
77
|
+
getClusterTask() {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
const TaskName = this._getTaskName();
|
|
80
|
+
const ECRRepoFullURL = yield this.getContainerImageURL();
|
|
81
|
+
const event = this.event;
|
|
82
|
+
return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
resolve(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ name: TaskName, cpu: (event.cpu || Globals_1.default.Process_DefaultCPU), memory: (event.memory || this.func.funcOptions.memory || Globals_1.default.Process_DefaultMemory), ec2LaunchType: !!event.ec2LaunchType }, (!!event.ec2LaunchType && event.daemonType ? { daemonEc2Type: true } : {})), (!event.ec2LaunchType ? { disablePublicIPAssign: true } : {})), { taskRoleArn: (event.role || { 'Fn::GetAtt': ['IamRoleLambdaExecution', 'Arn'] }), image: `${ECRRepoFullURL}` }), (event.entrypoint ? { entrypoint: event.entrypoint } : {})), { desiredCount: (event.concurrency || Globals_1.default.Process_DefaultConcurrency), environment: Object.assign(Object.assign({}, this.plugin.getEnvironmentIvars()), this.getContainerEnvironments()), logsMultilinePattern: (event.logsMultilinePattern || Globals_1.default.DefaultLogsMultilinePattern) }), (event.logsRetentionInDays && event.logsRetentionInDays != 'null' ? { logsRetentionInDays: event.logsRetentionInDays } : {})), (event.placementStrategies && event.placementStrategies != 'null' ? { placementStrategies: event.placementStrategies } : {})), (event.placementConstraints && event.placementConstraints != 'null' ? { placementConstraints: event.placementConstraints } : {})), (event.capacityProviderStrategy && event.capacityProviderStrategy != 'null' ? { capacityProviderStrategy: event.capacityProviderStrategy } : {})), (event.propagateTags && event.propagateTags != 'null' ? { propagateTags: event.propagateTags } : {})));
|
|
84
|
+
}));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.FunctionProcessTaskEvent = FunctionProcessTaskEvent;
|
|
89
|
+
//# sourceMappingURL=FunctionProcessTaskEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionProcessTaskEvent.js","sourceRoot":"","sources":["../src/resources/FunctionProcessTaskEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.FunctionScheduledTaskEvent = void 0;
|
|
13
|
+
const FunctionContainerBaseEvent_1 = require("./BaseEvents/FunctionContainerBaseEvent");
|
|
14
|
+
const options_1 = require("../options");
|
|
15
|
+
const Globals_1 = require("../core/Globals");
|
|
16
|
+
const BPromise = require("bluebird");
|
|
17
|
+
class FunctionScheduledTaskEvent extends FunctionContainerBaseEvent_1.FunctionContainerBaseEvent {
|
|
18
|
+
constructor(plugin, func, event, index) {
|
|
19
|
+
super(plugin, func, event, index);
|
|
20
|
+
}
|
|
21
|
+
getContainerFiles() {
|
|
22
|
+
const event = this.event;
|
|
23
|
+
const customDockerFile = this.event.dockerFile;
|
|
24
|
+
const serverlessDir = this.plugin.serverless.config.servicePath;
|
|
25
|
+
const additionalDockerFiles = (this.event.additionalDockerFiles || []).map((file) => {
|
|
26
|
+
return { name: file.from, dir: serverlessDir, dest: file.to };
|
|
27
|
+
});
|
|
28
|
+
let safeDir = __dirname.split('/');
|
|
29
|
+
safeDir.splice(safeDir.length - 1, 1);
|
|
30
|
+
safeDir = safeDir.join('/');
|
|
31
|
+
const isNodeJS = (event && event.runtime && event.runtime.toLowerCase().indexOf('node') != -1);
|
|
32
|
+
const isJava = (event && event.runtime && event.runtime.toLowerCase().indexOf('java') != -1);
|
|
33
|
+
const isPureContainer = (event.runtime == options_1.OFunctionScheduledTaskRuntime.container);
|
|
34
|
+
if (isNodeJS) {
|
|
35
|
+
return [
|
|
36
|
+
(customDockerFile ?
|
|
37
|
+
{ name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' } :
|
|
38
|
+
{ name: Globals_1.default.Scheduled_ImageByRuntime(event.runtime), dir: safeDir + '/resources/assets', dest: 'Dockerfile' }),
|
|
39
|
+
(this.plugin.options.disableWebpack ?
|
|
40
|
+
{ name: '.', dir: serverlessDir, dest: '/usr/src/app' } :
|
|
41
|
+
{ name: '.webpack/service', dir: serverlessDir, dest: '/usr/src/app' }),
|
|
42
|
+
...additionalDockerFiles
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
if (isJava) {
|
|
46
|
+
return [
|
|
47
|
+
(customDockerFile ?
|
|
48
|
+
{ name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' } :
|
|
49
|
+
{ name: Globals_1.default.Scheduled_ImageByRuntime(event.runtime), dir: safeDir + '/resources/assets', dest: 'Dockerfile' }),
|
|
50
|
+
{ name: 'target/classes', dir: serverlessDir, dest: 'target/classes' },
|
|
51
|
+
{ name: 'target/dependency', dir: serverlessDir, dest: 'target/dependency' },
|
|
52
|
+
...additionalDockerFiles
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
else if (isPureContainer) {
|
|
56
|
+
return [
|
|
57
|
+
{ name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' },
|
|
58
|
+
...additionalDockerFiles
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
throw new Error(`Unrecognized Scheduled event type ${event.runtime}!`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
getContainerEnvironments() {
|
|
66
|
+
const event = this.event;
|
|
67
|
+
const isNodeJS = (event && event.runtime && event.runtime.toLowerCase().indexOf('node') != -1);
|
|
68
|
+
return Object.assign(Object.assign(Object.assign({ 'ENTRYPOINT': this.func.getEntrypoint(this.event), 'ENTRYPOINT_FUNC': this.func.getEntrypointFunction(this.event) }, (isNodeJS ? { 'AWS_NODEJS_CONNECTION_REUSE_ENABLED': 1 } : {})), (event.newRelicKey ? {
|
|
69
|
+
'NEW_RELIC_APP_NAME': `${this.plugin.getName()}-${this.func.getName()}-${this.plugin.stage}`,
|
|
70
|
+
'NEW_RELIC_LICENSE_KEY': event.newRelicKey,
|
|
71
|
+
'NEW_RELIC_ENABLED': true,
|
|
72
|
+
'NEW_RELIC_NO_CONFIG_FILE': true,
|
|
73
|
+
} : {
|
|
74
|
+
'NEW_RELIC_ENABLED': false
|
|
75
|
+
})), { 'STAGE': this.plugin.stage, 'AWS_REGION': { "Ref": "AWS::Region" }, 'AWS_ACCOUNT_ID': { "Ref": "AWS::AccountId" } });
|
|
76
|
+
}
|
|
77
|
+
getClusterTask() {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
const TaskName = this._getTaskName();
|
|
80
|
+
const ECRRepoFullURL = yield this.getContainerImageURL();
|
|
81
|
+
const event = this.event;
|
|
82
|
+
return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
resolve(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ name: TaskName, cpu: (event.cpu || Globals_1.default.Scheduled_DefaultCPU), memory: (event.memory || this.func.funcOptions.memory || Globals_1.default.Scheduled_DefaultMemory), disablePublicIPAssign: true, ec2LaunchType: !!event.ec2LaunchType }, (!!event.ec2LaunchType && event.daemonType ? { daemonEc2Type: true } : {})), { taskRoleArn: (event.role || { 'Fn::GetAtt': ['IamRoleLambdaExecution', 'Arn'] }), image: `${ECRRepoFullURL}` }), (event.entrypoint ? { entrypoint: event.entrypoint } : {})), { desiredCount: 0, environment: Object.assign(Object.assign({}, this.plugin.getEnvironmentIvars()), this.getContainerEnvironments()) }), (event.placementStrategies && event.placementStrategies != 'null' ? { placementStrategies: event.placementStrategies } : {})), (event.placementConstraints && event.placementConstraints != 'null' ? { placementConstraints: event.placementConstraints } : {})), (event.capacityProviderStrategy && event.capacityProviderStrategy != 'null' ? { capacityProviderStrategy: event.capacityProviderStrategy } : {})), (event.propagateTags && event.propagateTags != 'null' ? { propagateTags: event.propagateTags } : {})), { logsMultilinePattern: (event.logsMultilinePattern || Globals_1.default.DefaultLogsMultilinePattern) }), (event.logsRetentionInDays && event.logsRetentionInDays != 'null' ? { logsRetentionInDays: event.logsRetentionInDays } : {})), { schedulerRate: event.schedulerRate, schedulerConcurrency: (event.concurrency || Globals_1.default.Scheduled_DefaultConcurrency) }), (event.schedulerInput ? { schedulerInput: event.schedulerInput } : {})));
|
|
84
|
+
}));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.FunctionScheduledTaskEvent = FunctionScheduledTaskEvent;
|
|
89
|
+
//# sourceMappingURL=FunctionScheduledTaskEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionScheduledTaskEvent.js","sourceRoot":"","sources":["../src/resources/FunctionScheduledTaskEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/node:10-alpine
|
|
2
|
+
|
|
3
|
+
# Copy files
|
|
4
|
+
COPY /usr/src/app/ /usr/src/app/
|
|
5
|
+
COPY proxy.js /usr/src/hybridless-runtime/proxy.js
|
|
6
|
+
|
|
7
|
+
# Set the working directory
|
|
8
|
+
WORKDIR /usr/src/app
|
|
9
|
+
|
|
10
|
+
RUN cd /usr/src/hybridless-runtime/ && npm i -S @hybridless/runtime-nodejs-httpd@latest
|
|
11
|
+
|
|
12
|
+
# Run the specified command within the container.
|
|
13
|
+
ENTRYPOINT node ../hybridless-runtime/proxy.js
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/node:12-alpine
|
|
2
|
+
|
|
3
|
+
# Copy files
|
|
4
|
+
COPY /usr/src/app/ /usr/src/app/
|
|
5
|
+
COPY proxy.js /usr/src/hybridless-runtime/proxy.js
|
|
6
|
+
|
|
7
|
+
# Set the working directory
|
|
8
|
+
WORKDIR /usr/src/app
|
|
9
|
+
|
|
10
|
+
RUN cd /usr/src/hybridless-runtime/ && npm i -S @hybridless/runtime-nodejs-httpd@latest
|
|
11
|
+
|
|
12
|
+
# Run the specified command within the container.
|
|
13
|
+
ENTRYPOINT node ../hybridless-runtime/proxy.js
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/node:14-alpine
|
|
2
|
+
|
|
3
|
+
# Copy files
|
|
4
|
+
COPY /usr/src/app/ /usr/src/app/
|
|
5
|
+
COPY proxy.js /usr/src/hybridless-runtime/proxy.js
|
|
6
|
+
|
|
7
|
+
# Set the working directory
|
|
8
|
+
WORKDIR /usr/src/app
|
|
9
|
+
|
|
10
|
+
RUN cd /usr/src/hybridless-runtime/ && npm i -S @hybridless/runtime-nodejs-httpd@latest
|
|
11
|
+
|
|
12
|
+
# Run the specified command within the container.
|
|
13
|
+
ENTRYPOINT node -e ../hybridless-runtime/proxy.js
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//Interruption handler
|
|
2
|
+
process.on('SIGINT', function() {
|
|
3
|
+
console.log("Caught interrupt signal");
|
|
4
|
+
process.exit(1);
|
|
5
|
+
});
|
|
6
|
+
//Execution scope
|
|
7
|
+
(async () => {
|
|
8
|
+
//Get inputs
|
|
9
|
+
let input = {};
|
|
10
|
+
try { input = JSON.parse(process.argv[2]); }
|
|
11
|
+
catch (e) { console.log('[Hybridless Runtime] - Error while decoding inputEvent parameter!', e); }
|
|
12
|
+
|
|
13
|
+
//Init lambda event and call it
|
|
14
|
+
const LambdaEvent = require("@hybridless/runtime-nodejs-httpd").LambdaEvent;
|
|
15
|
+
const functionPath = `${__dirname}/../app/${process.env.ENTRYPOINT}`
|
|
16
|
+
const lambda = new LambdaEvent({ payload: input }, functionPath, process.env.ENTRYPOINT_FUNC);
|
|
17
|
+
//Callout
|
|
18
|
+
const resp = await lambda.invoke();
|
|
19
|
+
|
|
20
|
+
//Return
|
|
21
|
+
console.log(resp);
|
|
22
|
+
if (resp.getCode && resp.getCode() == 200) process.exit(0);
|
|
23
|
+
else process.exit(1);
|
|
24
|
+
})();
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
FROM public.ecr.aws/lambda/java:11
|
|
2
|
+
|
|
3
|
+
# Copy function code and runtime dependencies from Maven layout
|
|
4
|
+
COPY target/classes ${LAMBDA_TASK_ROOT}
|
|
5
|
+
COPY target/dependency/* ${LAMBDA_TASK_ROOT}/lib/
|
|
6
|
+
|
|
7
|
+
#
|
|
8
|
+
ENTRYPOINT /lambda-entrypoint.sh "$ENTRYPOINT::${ENTRYPOINT_FUNC:-handleRequest}"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
FROM public.ecr.aws/lambda/java:8
|
|
2
|
+
|
|
3
|
+
# Copy function code and runtime dependencies from Maven layout
|
|
4
|
+
COPY target/classes ${LAMBDA_TASK_ROOT}
|
|
5
|
+
COPY target/dependency/* ${LAMBDA_TASK_ROOT}/lib/
|
|
6
|
+
|
|
7
|
+
#
|
|
8
|
+
ENTRYPOINT /lambda-entrypoint.sh "$ENTRYPOINT::${ENTRYPOINT_FUNC:-handleRequest}"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
FROM public.ecr.aws/lambda/java:8al12
|
|
2
|
+
|
|
3
|
+
# Copy function code and runtime dependencies from Maven layout
|
|
4
|
+
COPY target/classes ${LAMBDA_TASK_ROOT}
|
|
5
|
+
COPY target/dependency/* ${LAMBDA_TASK_ROOT}/lib/
|
|
6
|
+
|
|
7
|
+
#
|
|
8
|
+
ENTRYPOINT /lambda-entrypoint.sh "$ENTRYPOINT::${ENTRYPOINT_FUNC:-handleRequest}"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/node:10-alpine
|
|
2
|
+
|
|
3
|
+
# Copy files
|
|
4
|
+
COPY /usr/src/app/ /usr/src/app/
|
|
5
|
+
COPY proxy.js /usr/src/httpd/proxy.js
|
|
6
|
+
|
|
7
|
+
# Set the working directory
|
|
8
|
+
WORKDIR /usr/src/app
|
|
9
|
+
|
|
10
|
+
RUN cd /usr/src/httpd/ && npm i -S @hybridless/runtime-nodejs-httpd@latest
|
|
11
|
+
|
|
12
|
+
EXPOSE $PORT
|
|
13
|
+
|
|
14
|
+
# Run the specified command within the container.
|
|
15
|
+
ENTRYPOINT node ../httpd/proxy.js
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/webdevops/php-nginx:alpine-php5
|
|
2
|
+
|
|
3
|
+
# customize fastcgi
|
|
4
|
+
RUN echo proxy_buffer_size 128k; >> /opt/docker/etc/nginx/vhost.common.d/10-php.conf
|
|
5
|
+
RUN echo proxy_buffers 4 256k; >> /opt/docker/etc/nginx/vhost.common.d/10-php.conf
|
|
6
|
+
RUN echo proxy_busy_buffers_size 256k; >> /opt/docker/etc/nginx/vhost.common.d/10-php.conf
|
|
7
|
+
|
|
8
|
+
# Copy files
|
|
9
|
+
COPY /app/ /app/
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/webdevops/php-nginx:alpine-php7
|
|
2
|
+
|
|
3
|
+
# customize fastcgi
|
|
4
|
+
RUN echo proxy_buffer_size 128k; >> /opt/docker/etc/nginx/conf.d/10-php.conf
|
|
5
|
+
RUN echo proxy_buffers 4 256k; >> /opt/docker/etc/nginx/conf.d/10-php.conf
|
|
6
|
+
RUN echo proxy_busy_buffers_size 256k; >> /opt/docker/etc/nginx/conf.d/10-php.conf
|
|
7
|
+
|
|
8
|
+
# Copy files
|
|
9
|
+
COPY /app/ /app/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const Runtime = require("@hybridless/runtime-nodejs-httpd");
|
|
2
|
+
const runtimeInstance = new Runtime({
|
|
3
|
+
host: '0.0.0.0',
|
|
4
|
+
port: process.env.PORT,
|
|
5
|
+
timeout: process.env.TIMEOUT,
|
|
6
|
+
cors: (process.env.CORS ? JSON.parse(process.env.CORS) : null),
|
|
7
|
+
function: {
|
|
8
|
+
path: process.env.ENTRYPOINT,
|
|
9
|
+
handler: process.env.ENTRYPOINT_FUNC,
|
|
10
|
+
preload: true
|
|
11
|
+
},
|
|
12
|
+
healthCheckRoute: process.env.HEALTH_ROUTE,
|
|
13
|
+
baseDir: `${__dirname}/../app/`
|
|
14
|
+
});
|
|
15
|
+
runtimeInstance.start();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?php echo('Healthy!'); ?>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/node:10-alpine
|
|
2
|
+
|
|
3
|
+
# Copy files
|
|
4
|
+
COPY /usr/src/app/ /usr/src/app/
|
|
5
|
+
|
|
6
|
+
# Set the working directory
|
|
7
|
+
WORKDIR /usr/src/app
|
|
8
|
+
|
|
9
|
+
# Run the specified command within the container.
|
|
10
|
+
ENTRYPOINT node -e "require('./$ENTRYPOINT').$ENTRYPOINT_FUNC()"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/node:13-alpine
|
|
2
|
+
|
|
3
|
+
# Copy files
|
|
4
|
+
COPY /usr/src/app/ /usr/src/app/
|
|
5
|
+
|
|
6
|
+
# Set the working directory
|
|
7
|
+
WORKDIR /usr/src/app
|
|
8
|
+
|
|
9
|
+
# Run the specified command within the container.
|
|
10
|
+
ENTRYPOINT node -e "require('./$ENTRYPOINT').$ENTRYPOINT_FUNC()"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/node:10-alpine
|
|
2
|
+
|
|
3
|
+
# Copy files
|
|
4
|
+
COPY /usr/src/app/ /usr/src/app/
|
|
5
|
+
|
|
6
|
+
# Set the working directory
|
|
7
|
+
WORKDIR /usr/src/app
|
|
8
|
+
|
|
9
|
+
# Run the specified command within the container.
|
|
10
|
+
ENTRYPOINT node -e "require('./$ENTRYPOINT').$ENTRYPOINT_FUNC()"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
FROM ghcr.io/hybridless/node:13-alpine
|
|
2
|
+
|
|
3
|
+
# Copy files
|
|
4
|
+
COPY /usr/src/app/ /usr/src/app/
|
|
5
|
+
|
|
6
|
+
# Set the working directory
|
|
7
|
+
WORKDIR /usr/src/app
|
|
8
|
+
|
|
9
|
+
# Run the specified command within the container.
|
|
10
|
+
ENTRYPOINT node -e "require('./$ENTRYPOINT').$ENTRYPOINT_FUNC()"
|