UNPKG

mecano

Version:

Common functions for system deployment.

55 lines (51 loc) 1.27 kB
// Generated by CoffeeScript 1.11.1 var docker, util; module.exports = function(options, callback) { var cmd, cmd_images, k, ref, v; options.log({ message: "Entering Docker pull", level: 'DEBUG', module: 'mecano/lib/docker/pull' }); if (options.docker == null) { options.docker = {}; } if (options.version == null) { options.version = 'latest'; } if (options.all == null) { options.all = false; } ref = options.docker; for (k in ref) { v = ref[k]; if (options[k] == null) { options[k] = v; } } cmd_images = 'images'; cmd_images += " | grep '" + options.tag + "'"; if (!options.all) { cmd_images += " | grep '" + options.version + "'"; } if (options.tag == null) { throw Error('Missing Tag Name'); } cmd = 'pull'; cmd += options.all ? " -a " + options.tag : " " + options.tag + ":" + options.version; this.execute({ cmd: docker.wrap(options, cmd_images), code_skipped: 1 }); return this.execute({ unless: function() { return this.status(-1); }, cmd: docker.wrap(options, cmd), code_skipped: options.code_skipped }, function(err, status) { return callback(err, status); }); }; docker = require('../misc/docker'); util = require('util');