berlioz
Version:
Berlioz - cloud deployment and migration services
83 lines (66 loc) • 3.18 kB
JavaScript
module.exports = {
useLocalDeployer: true,
arguments: [
],
exec: function({_, args, screen, logger, localDeployer, Promise}) {
const CheckRunner = require('../../../../berlioz-common/check-runner')
var checkRunner = new CheckRunner(logger, screen);
return Promise.resolve()
.then(() => localDeployer.setup())
.then(() => {
setupGCPChecks();
// setupAWSChecks();
})
.then(() => checkRunner.run())
;
function setupGCPChecks()
{
var providerConfig = localDeployer.getProviderConfig('gcp');
var client = localDeployer.getProviderClient('gcp');
checkRunner.submit('GCP_ENABLED', {
description: 'Checks if GCP provider is enabled for local deployment',
solution: 'You can enable GCP local provider using \"berlioz local provider gcp set\". Only one (GCP/AWS) provider can be used at a time. See details at https://docs.berlioz.cloud/cli/local/#setup-using-gcp',
precheck: () => {
return _.isNotNullOrUndefined(providerConfig);
}
});
checkRunner.submit('GCP_API_SQL', {
dependencies: ['GCP_ENABLED'],
description: 'Checks if GCP Cloud SQL Admin API is enabled',
url: 'https://docs.berlioz.cloud/cloud/gcp/api-setup/#cloud-resource-manager',
checkCb: () => {
return client.Sql.queryAllInstances('local-');
}
});
checkRunner.submit('GCP_API_PUBSUB', {
dependencies: ['GCP_ENABLED'],
description: 'Checks if GCP Pub/Sub API is enabled',
url: 'https://docs.berlioz.cloud/cloud/gcp/api-setup/#cloud-resource-manager',
checkCb: () => {
return client.PubSub.queryAllTopics('local-');
}
});
checkRunner.submit('GCP_API_STORAGE', {
dependencies: ['GCP_ENABLED'],
description: 'Checks if GCP Cloud Storage API is enabled',
url: 'https://docs.berlioz.cloud/cloud/gcp/api-setup/#cloud-resource-manager',
checkCb: () => {
return client.Storage.queryAllBuckets('local-');
}
});
}
function setupAWSChecks(isEnabled)
{
var providerConfig = localDeployer.getProviderConfig('aws');
var providerClient = localDeployer.getProviderClient('aws');
checkRunner.submit('AWS_ENABLED', {
description: 'Checks if AWS provider is enabled for local deployment',
solution: 'You can enable AWS local provider using \"berlioz local provider aws set\". Only one (GCP/AWS) provider can be used at a time.',
url: 'https://docs.berlioz.cloud/cli/local/#setup-using-aws',
precheck: () => {
return _.isNotNullOrUndefined(providerConfig);
}
});
}
}
}