zephyr-agent
Version:
Zephyr plugin agent
88 lines (87 loc) • 3.72 kB
JavaScript
;
var __webpack_require__ = {};
(()=>{
__webpack_require__.d = (exports1, getters, values)=>{
var define = (defs, kind)=>{
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
enumerable: true,
[kind]: defs[key]
});
};
define(getters, "get");
define(values, "value");
};
})();
(()=>{
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
})();
(()=>{
__webpack_require__.r = (exports1)=>{
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
value: 'Module'
});
Object.defineProperty(exports1, '__esModule', {
value: true
});
};
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
zeUploadSnapshot: ()=>zeUploadSnapshot
});
const external_crypto_namespaceObject = require("crypto");
const index_js_namespaceObject = require("../errors/index.js");
const upload_snapshot_js_namespaceObject = require("../http/upload-snapshot.js");
const picocolor_js_namespaceObject = require("../logging/picocolor.js");
async function zeUploadSnapshot(zephyr_engine, { snapshot }) {
const zeStart = Date.now();
const application_uid = zephyr_engine.application_uid;
const logger = await zephyr_engine.logger;
const buildEnv = zephyr_engine.env.isCI ? 'ci' : 'local';
const envs = process.env;
const ze_envs = {};
for (const [key, value] of Object.entries(envs))if (key.startsWith('ZE_PUBLIC_') && 'string' == typeof value) ze_envs[key] = value;
const zeVarsEntries = Object.entries(ze_envs);
if (zeVarsEntries.length > 0) {
const sortedVariables = zeVarsEntries.map(([key, value])=>`${key}=${value}`).sort().join('\n');
const canonicalString = `${application_uid}\n${sortedVariables}`;
const hash = (0, external_crypto_namespaceObject.createHash)('sha256');
hash.update(canonicalString, 'utf-8');
snapshot.ze_envs_hash = hash.digest('hex');
zephyr_engine.ze_env_vars = ze_envs;
zephyr_engine.ze_env_vars_hash = snapshot.ze_envs_hash;
}
const edgeTodo = await (0, upload_snapshot_js_namespaceObject.uploadSnapshot)({
body: snapshot,
application_uid
});
const worker_version = edgeTodo?.worker_version;
if ('string' == typeof worker_version && worker_version.length > 0) {
zephyr_engine.worker_version = worker_version;
snapshot.worker_version = snapshot.worker_version ?? worker_version;
}
const versionUrl = edgeTodo?.urls?.version;
if (!versionUrl) {
logger({
level: 'error',
action: 'snapshot:upload:failed',
message: `failed uploading of ${buildEnv} snapshot to zephyr`
});
throw new index_js_namespaceObject.ZephyrError(index_js_namespaceObject.ZeErrors.ERR_SNAPSHOT_UPLOADS_NO_RESULTS);
}
logger({
level: 'info',
action: 'snapshot:upload:done',
message: `Uploaded ${(0, picocolor_js_namespaceObject.green)(buildEnv)} snapshot in ${(0, picocolor_js_namespaceObject.yellow)(`${Date.now() - zeStart}`)}ms`
});
return versionUrl;
}
exports.zeUploadSnapshot = __webpack_exports__.zeUploadSnapshot;
for(var __rspack_i in __webpack_exports__)if (-1 === [
"zeUploadSnapshot"
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
Object.defineProperty(exports, '__esModule', {
value: true
});
//# sourceMappingURL=ze-upload-snapshot.js.map