@catladder/pipeline
Version:
Panter workflow for cloud CI/CD and DevOps
97 lines (96 loc) • 3.69 kB
JavaScript
;
var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = {
enumerable: true,
get: function () {
return m[k];
}
};
}
Object.defineProperty(o, k2, desc);
} : function (o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
});
var __exportStar = this && this.__exportStar || function (m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __read = this && this.__read || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
} catch (error) {
e = {
error: error
};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __importDefault = this && this.__importDefault || function (mod) {
return mod && mod.__esModule ? mod : {
"default": mod
};
};
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.KUBERNETES_DEPLOY_TYPE = void 0;
var slugify_1 = __importDefault(require("slugify"));
var __1 = require("..");
var BashExpression_1 = require("../../bash/BashExpression");
var additionalSecretKeys_1 = require("./additionalSecretKeys");
var deployJob_1 = require("./deployJob");
__exportStar(require("./cloudSql"), exports);
exports.KUBERNETES_DEPLOY_TYPE = {
jobs: deployJob_1.createKubernetesDeployJobs,
defaults: function () {
return {};
},
additionalSecretKeys: additionalSecretKeys_1.additionalKubernetesSecretKeys,
getAdditionalEnvVars: function (_a) {
var _b;
var componentName = _a.componentName,
fullConfig = _a.fullConfig,
deployConfigRaw = _a.deployConfigRaw,
env = _a.env,
reviewSlug = _a.reviewSlug,
envType = _a.envType;
var KUBE_APP_NAME_PREFIX = envType === "review" && reviewSlug ? reviewSlug.concat("-") : "";
var KUBE_APP_NAME = KUBE_APP_NAME_PREFIX.concat(componentName);
var KUBE_NAMESPACE = (0, __1.getKubernetesNamespace)(fullConfig, env);
var componentSlug = (0, slugify_1.default)(componentName);
var domainCanonical = deployConfigRaw && ((_b = deployConfigRaw.cluster) === null || _b === void 0 ? void 0 : _b.domainCanonical) ||
// for convenience, we allow clusters to define a canonical domain, because a cluster has a fixed ip and you will usually have a domain pointing to that cluster
fullConfig.domainCanonical || "panter.cloud";
var HOSTNAME_INTERNAL = (0, BashExpression_1.joinBashExpressions)(__spreadArray(__spreadArray([componentSlug], __read(envType === "review" && reviewSlug ? [reviewSlug] : []), false), [env, fullConfig.appName, fullConfig.customerName, domainCanonical], false), "."); // default for kubernetes and rest
return {
KUBE_NAMESPACE: KUBE_NAMESPACE,
KUBE_APP_NAME: KUBE_APP_NAME,
KUBE_APP_NAME_PREFIX: KUBE_APP_NAME_PREFIX,
HOSTNAME_INTERNAL: HOSTNAME_INTERNAL
};
}
};