Default input for read input override to use cloud secret managers
parent
c0be6bf4d7
commit
e92396db8f
|
|
@ -295,8 +295,6 @@ class BuildParameters {
|
||||||
readInputOverrideCommand: cloud_runner_options_1.default.readInputOverrideCommand(),
|
readInputOverrideCommand: cloud_runner_options_1.default.readInputOverrideCommand(),
|
||||||
readInputFromOverrideList: cloud_runner_options_1.default.readInputFromOverrideList(),
|
readInputFromOverrideList: cloud_runner_options_1.default.readInputFromOverrideList(),
|
||||||
kubeStorageClass: cloud_runner_options_1.default.kubeStorageClass,
|
kubeStorageClass: cloud_runner_options_1.default.kubeStorageClass,
|
||||||
checkDependencyHealthOverride: cloud_runner_options_1.default.checkDependencyHealthOverride,
|
|
||||||
startDependenciesOverride: cloud_runner_options_1.default.startDependenciesOverride,
|
|
||||||
cacheKey: cloud_runner_options_1.default.cacheKey,
|
cacheKey: cloud_runner_options_1.default.cacheKey,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
@ -654,7 +652,14 @@ class CloudRunnerOptions {
|
||||||
return CloudRunnerOptions.getInput('readInputFromOverrideList') || '';
|
return CloudRunnerOptions.getInput('readInputFromOverrideList') || '';
|
||||||
}
|
}
|
||||||
static readInputOverrideCommand() {
|
static readInputOverrideCommand() {
|
||||||
return CloudRunnerOptions.getInput('readInputOverrideCommand') || '';
|
const value = CloudRunnerOptions.getInput('readInputOverrideCommand');
|
||||||
|
if (value === 'gcp-secret-manager') {
|
||||||
|
return 'gcloud secrets versions access 1 --secret="{0}"';
|
||||||
|
}
|
||||||
|
else if (value === 'aws-secret-manager') {
|
||||||
|
return 'aws secretsmanager get-secret-value --secret-id {0}';
|
||||||
|
}
|
||||||
|
return value || '';
|
||||||
}
|
}
|
||||||
static get cloudRunnerBranch() {
|
static get cloudRunnerBranch() {
|
||||||
return CloudRunnerOptions.getInput('cloudRunnerBranch') || 'cloud-runner-develop';
|
return CloudRunnerOptions.getInput('cloudRunnerBranch') || 'cloud-runner-develop';
|
||||||
|
|
@ -692,12 +697,6 @@ class CloudRunnerOptions {
|
||||||
static get kubeStorageClass() {
|
static get kubeStorageClass() {
|
||||||
return CloudRunnerOptions.getInput('kubeStorageClass') || '';
|
return CloudRunnerOptions.getInput('kubeStorageClass') || '';
|
||||||
}
|
}
|
||||||
static get checkDependencyHealthOverride() {
|
|
||||||
return CloudRunnerOptions.getInput('checkDependencyHealthOverride') || '';
|
|
||||||
}
|
|
||||||
static get startDependenciesOverride() {
|
|
||||||
return CloudRunnerOptions.getInput('startDependenciesOverride') || '';
|
|
||||||
}
|
|
||||||
static get cacheKey() {
|
static get cacheKey() {
|
||||||
return CloudRunnerOptions.getInput('cacheKey') || CloudRunnerOptions.branch;
|
return CloudRunnerOptions.getInput('cacheKey') || CloudRunnerOptions.branch;
|
||||||
}
|
}
|
||||||
|
|
@ -2738,7 +2737,6 @@ const async_wait_until_1 = __importDefault(__nccwpck_require__(41299));
|
||||||
const kubernetes_job_spec_factory_1 = __importDefault(__nccwpck_require__(3610));
|
const kubernetes_job_spec_factory_1 = __importDefault(__nccwpck_require__(3610));
|
||||||
const kubernetes_service_account_1 = __importDefault(__nccwpck_require__(47319));
|
const kubernetes_service_account_1 = __importDefault(__nccwpck_require__(47319));
|
||||||
const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
|
const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
|
||||||
const depdency_override_service_1 = __importDefault(__nccwpck_require__(69862));
|
|
||||||
class Kubernetes {
|
class Kubernetes {
|
||||||
constructor(buildParameters) {
|
constructor(buildParameters) {
|
||||||
this.buildGuid = '';
|
this.buildGuid = '';
|
||||||
|
|
@ -2783,9 +2781,6 @@ class Kubernetes {
|
||||||
this.pvcName = `unity-builder-pvc-${buildGuid}`;
|
this.pvcName = `unity-builder-pvc-${buildGuid}`;
|
||||||
this.cleanupCronJobName = `unity-builder-cronjob-${buildGuid}`;
|
this.cleanupCronJobName = `unity-builder-cronjob-${buildGuid}`;
|
||||||
this.serviceAccountName = `service-account-${buildGuid}`;
|
this.serviceAccountName = `service-account-${buildGuid}`;
|
||||||
if (yield depdency_override_service_1.default.CheckHealth()) {
|
|
||||||
yield depdency_override_service_1.default.TryStartDependencies();
|
|
||||||
}
|
|
||||||
yield kubernetes_storage_1.default.createPersistentVolumeClaim(buildParameters, this.pvcName, this.kubeClient, this.namespace);
|
yield kubernetes_storage_1.default.createPersistentVolumeClaim(buildParameters, this.pvcName, this.kubeClient, this.namespace);
|
||||||
yield kubernetes_service_account_1.default.createServiceAccount(this.serviceAccountName, this.namespace, this.kubeClient);
|
yield kubernetes_service_account_1.default.createServiceAccount(this.serviceAccountName, this.namespace, this.kubeClient);
|
||||||
}
|
}
|
||||||
|
|
@ -4345,53 +4340,6 @@ class CloudRunnerSystem {
|
||||||
exports.CloudRunnerSystem = CloudRunnerSystem;
|
exports.CloudRunnerSystem = CloudRunnerSystem;
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 69862:
|
|
||||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
||||||
const cloud_runner_system_1 = __nccwpck_require__(99393);
|
|
||||||
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(96552));
|
|
||||||
class DependencyOverrideService {
|
|
||||||
static CheckHealth() {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
if (cloud_runner_options_1.default.checkDependencyHealthOverride) {
|
|
||||||
try {
|
|
||||||
yield cloud_runner_system_1.CloudRunnerSystem.Run(cloud_runner_options_1.default.checkDependencyHealthOverride);
|
|
||||||
}
|
|
||||||
catch (_a) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
static TryStartDependencies() {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
if (cloud_runner_options_1.default.startDependenciesOverride) {
|
|
||||||
yield cloud_runner_system_1.CloudRunnerSystem.Run(cloud_runner_options_1.default.startDependenciesOverride);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports["default"] = DependencyOverrideService;
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 64121:
|
/***/ 64121:
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -12,9 +12,9 @@
|
||||||
"lint": "prettier --check \"src/**/*.{js,ts}\" && eslint src/**/*.ts",
|
"lint": "prettier --check \"src/**/*.{js,ts}\" && eslint src/**/*.ts",
|
||||||
"format": "prettier --write \"src/**/*.{js,ts}\"",
|
"format": "prettier --write \"src/**/*.{js,ts}\"",
|
||||||
"cli": "yarn ts-node src/index.ts -m cli",
|
"cli": "yarn ts-node src/index.ts -m cli",
|
||||||
"gcp-secrets-tests": "cross-env cloudRunnerCluster=aws cloudRunnerTests=true readInputOverrideCommand=\"gcloud secrets versions access 1 --secret=\"{0}\"\" populateOverride=true readInputFromOverrideList=UNITY_EMAIL,UNITY_SERIAL,UNITY_PASSWORD yarn test -i -t \"cloud runner\"",
|
"gcp-secrets-tests": "cross-env cloudRunnerCluster=aws cloudRunnerTests=true readInputOverrideCommand=\"gcp-secret-manager\" populateOverride=true readInputFromOverrideList=UNITY_EMAIL,UNITY_SERIAL,UNITY_PASSWORD yarn test -i -t \"cloud runner\"",
|
||||||
"gcp-secrets-cli": "cross-env cloudRunnerTests=true readInputOverrideCommand=\"gcloud secrets versions access 1 --secret=\"{0}\"\" yarn ts-node src/index.ts -m cli --populateOverride true --readInputFromOverrideList UNITY_EMAIL,UNITY_SERIAL,UNITY_PASSWORD",
|
"gcp-secrets-cli": "cross-env cloudRunnerTests=true readInputOverrideCommand=\"gcp-secret-manager\" yarn ts-node src/index.ts -m cli --populateOverride true --readInputFromOverrideList UNITY_EMAIL,UNITY_SERIAL,UNITY_PASSWORD",
|
||||||
"aws-secrets-cli": "cross-env cloudRunnerTests=true readInputOverrideCommand=\"aws secretsmanager get-secret-value --secret-id {0}\" yarn ts-node src/index.ts -m cli --populateOverride true --readInputFromOverrideList UNITY_EMAIL,UNITY_SERIAL,UNITY_PASSWORD",
|
"aws-secrets-cli": "cross-env cloudRunnerTests=true readInputOverrideCommand=\"aws-secret-manager\" yarn ts-node src/index.ts -m cli --populateOverride true --readInputFromOverrideList UNITY_EMAIL,UNITY_SERIAL,UNITY_PASSWORD",
|
||||||
"cli-aws": "cross-env cloudRunnerCluster=aws yarn run test-cli",
|
"cli-aws": "cross-env cloudRunnerCluster=aws yarn run test-cli",
|
||||||
"cli-k8s": "cross-env cloudRunnerCluster=k8s yarn run test-cli",
|
"cli-k8s": "cross-env cloudRunnerCluster=k8s yarn run test-cli",
|
||||||
"test-cli": "cross-env cloudRunnerTests=true yarn ts-node src/index.ts -m cli --projectPath test-project",
|
"test-cli": "cross-env cloudRunnerTests=true yarn ts-node src/index.ts -m cli --projectPath test-project",
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,6 @@ class BuildParameters {
|
||||||
public customJobHooks!: string;
|
public customJobHooks!: string;
|
||||||
public readInputFromOverrideList!: string;
|
public readInputFromOverrideList!: string;
|
||||||
public readInputOverrideCommand!: string;
|
public readInputOverrideCommand!: string;
|
||||||
public checkDependencyHealthOverride!: string;
|
|
||||||
public startDependenciesOverride!: string;
|
|
||||||
public cacheKey!: string;
|
public cacheKey!: string;
|
||||||
|
|
||||||
public postBuildSteps!: string;
|
public postBuildSteps!: string;
|
||||||
|
|
@ -138,8 +136,6 @@ class BuildParameters {
|
||||||
readInputOverrideCommand: CloudRunnerOptions.readInputOverrideCommand(),
|
readInputOverrideCommand: CloudRunnerOptions.readInputOverrideCommand(),
|
||||||
readInputFromOverrideList: CloudRunnerOptions.readInputFromOverrideList(),
|
readInputFromOverrideList: CloudRunnerOptions.readInputFromOverrideList(),
|
||||||
kubeStorageClass: CloudRunnerOptions.kubeStorageClass,
|
kubeStorageClass: CloudRunnerOptions.kubeStorageClass,
|
||||||
checkDependencyHealthOverride: CloudRunnerOptions.checkDependencyHealthOverride,
|
|
||||||
startDependenciesOverride: CloudRunnerOptions.startDependenciesOverride,
|
|
||||||
cacheKey: CloudRunnerOptions.cacheKey,
|
cacheKey: CloudRunnerOptions.cacheKey,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,15 @@ class CloudRunnerOptions {
|
||||||
}
|
}
|
||||||
|
|
||||||
static readInputOverrideCommand() {
|
static readInputOverrideCommand() {
|
||||||
return CloudRunnerOptions.getInput('readInputOverrideCommand') || '';
|
const value = CloudRunnerOptions.getInput('readInputOverrideCommand');
|
||||||
|
|
||||||
|
if (value === 'gcp-secret-manager') {
|
||||||
|
return 'gcloud secrets versions access 1 --secret="{0}"';
|
||||||
|
} else if (value === 'aws-secret-manager') {
|
||||||
|
return 'aws secretsmanager get-secret-value --secret-id {0}';
|
||||||
|
}
|
||||||
|
|
||||||
|
return value || '';
|
||||||
}
|
}
|
||||||
|
|
||||||
static get cloudRunnerBranch() {
|
static get cloudRunnerBranch() {
|
||||||
|
|
@ -133,14 +141,6 @@ class CloudRunnerOptions {
|
||||||
return CloudRunnerOptions.getInput('kubeStorageClass') || '';
|
return CloudRunnerOptions.getInput('kubeStorageClass') || '';
|
||||||
}
|
}
|
||||||
|
|
||||||
static get checkDependencyHealthOverride(): string {
|
|
||||||
return CloudRunnerOptions.getInput('checkDependencyHealthOverride') || '';
|
|
||||||
}
|
|
||||||
|
|
||||||
static get startDependenciesOverride(): string {
|
|
||||||
return CloudRunnerOptions.getInput('startDependenciesOverride') || '';
|
|
||||||
}
|
|
||||||
|
|
||||||
static get cacheKey(): string {
|
static get cacheKey(): string {
|
||||||
return CloudRunnerOptions.getInput('cacheKey') || CloudRunnerOptions.branch;
|
return CloudRunnerOptions.getInput('cacheKey') || CloudRunnerOptions.branch;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ import KubernetesJobSpecFactory from './kubernetes-job-spec-factory';
|
||||||
import KubernetesServiceAccount from './kubernetes-service-account';
|
import KubernetesServiceAccount from './kubernetes-service-account';
|
||||||
import CloudRunnerLogger from '../../services/cloud-runner-logger';
|
import CloudRunnerLogger from '../../services/cloud-runner-logger';
|
||||||
import { CoreV1Api } from '@kubernetes/client-node';
|
import { CoreV1Api } from '@kubernetes/client-node';
|
||||||
import DependencyOverrideService from '../../services/depdency-override-service';
|
|
||||||
|
|
||||||
class Kubernetes implements ProviderInterface {
|
class Kubernetes implements ProviderInterface {
|
||||||
private kubeConfig: k8s.KubeConfig;
|
private kubeConfig: k8s.KubeConfig;
|
||||||
|
|
@ -68,9 +67,6 @@ class Kubernetes implements ProviderInterface {
|
||||||
this.pvcName = `unity-builder-pvc-${buildGuid}`;
|
this.pvcName = `unity-builder-pvc-${buildGuid}`;
|
||||||
this.cleanupCronJobName = `unity-builder-cronjob-${buildGuid}`;
|
this.cleanupCronJobName = `unity-builder-cronjob-${buildGuid}`;
|
||||||
this.serviceAccountName = `service-account-${buildGuid}`;
|
this.serviceAccountName = `service-account-${buildGuid}`;
|
||||||
if (await DependencyOverrideService.CheckHealth()) {
|
|
||||||
await DependencyOverrideService.TryStartDependencies();
|
|
||||||
}
|
|
||||||
await KubernetesStorage.createPersistentVolumeClaim(
|
await KubernetesStorage.createPersistentVolumeClaim(
|
||||||
buildParameters,
|
buildParameters,
|
||||||
this.pvcName,
|
this.pvcName,
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
import { CloudRunnerSystem } from './cloud-runner-system';
|
|
||||||
import CloudRunnerOptions from '../cloud-runner-options';
|
|
||||||
|
|
||||||
class DependencyOverrideService {
|
|
||||||
public static async CheckHealth() {
|
|
||||||
if (CloudRunnerOptions.checkDependencyHealthOverride) {
|
|
||||||
try {
|
|
||||||
await CloudRunnerSystem.Run(CloudRunnerOptions.checkDependencyHealthOverride);
|
|
||||||
} catch {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
public static async TryStartDependencies() {
|
|
||||||
if (CloudRunnerOptions.startDependenciesOverride) {
|
|
||||||
await CloudRunnerSystem.Run(CloudRunnerOptions.startDependenciesOverride);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export default DependencyOverrideService;
|
|
||||||
Loading…
Reference in New Issue