UNPKG

berlioz

Version:

Berlioz - cloud deployment and migration services

74 lines (65 loc) 1.95 kB
const BaseItem = require('../entities/base') module.exports = { name: "ExtendK8sController", canRunGlobal: ({compiler, registry, providerKind}) => { if (registry.clusters.length == 0) { return false; } if (providerKind == 'gcp' || providerKind == 'k8s') { if (registry.services.length > 0) { return true; } else { for(var cluster of registry.clusters) { if (cluster.name == 'berlioz') { return true; } } } } return false; }, globalAction: ({compiler, registry}) => { var controllerInfo = { cluster: 'berlioz', sector: 'main', name: 'ctlr' } compiler.markClusterImplicit(controllerInfo.cluster); var controllerServiceId = BaseItem.constructID('service', [ controllerInfo.cluster, controllerInfo.sector, controllerInfo.name]); if (compiler.hasItem(controllerServiceId)) { return controllerInfo; } controllerServiceId = compiler._addImpicit({ kind: 'service', sector: controllerInfo.sector, cluster: controllerInfo.cluster, name: controllerInfo.name, code: { kind: 'docker', image: 'berliozcloud/k8s-controller' }, resources: { memory: { min: 100 } }, environment: { }, nativeConfig: { imagePullPolicy: 'Always' } }) compiler.addConsumes(controllerServiceId, { service: 'agent', endpoint: 'ws' }); return controllerInfo; } }