berlioz
Version:
Berlioz - cloud deployment and migration services
63 lines (54 loc) • 1.62 kB
JavaScript
module.exports = {
name: "ExtendGrafana",
canRunGlobal: ({compiler, registry}) => {
if (registry.services.length == 0)
{
if (!registry.findByNaming('cluster', ['sprt']))
{
return false;
}
}
var policy = registry.resolvePolicy('extend-grafana');
return policy.value;
},
globalAction: ({compiler, registry}) => {
var grafanaCfg = {
kind: 'service',
sector: 'main',
cluster: 'sprt',
name: 'grfna',
code: {
kind: 'docker',
image: 'berliozcloud/grafana'
},
provides: {
default: {
port: 3000,
protocol: 'http'
}
},
resources: {
memory: {
min: 250
}
}
}
compiler.markClusterImplicit(grafanaCfg.cluster);
var grafanaId = compiler._addImpicit(grafanaCfg)
if (compiler.findByNaming('service', [grafanaCfg.cluster, grafanaCfg.sector, 'prmts'])) {
compiler.addConsumes(grafanaId, {
service: 'prmts',
endpoint: 'server'
});
}
compiler.addConsumes(grafanaId, {
sector: 'main', // TODO : maybe not needed
meta: true
});
compiler.addClusterProvided(grafanaCfg.cluster, "grfna", {
service: 'grfna',
sector: 'main',
public: true
})
}
}