UNPKG

1.09 kBtext/coffeescriptView Raw
1_ = require 'lodash'
2url = require 'url'
3async = require 'async'
4request = require 'request'
5moment = require 'moment'
6debug = require('debug')('deploy-state-util:service-state-service')
7
8class GovernatorService
9 constructor: ({ config }) ->
10 @serviceStates = config['service-state']
11
12 getStatuses: ({ repo, owner, tag }, callback) =>
13 _getStatus = async.apply(@getStatus, { repo, owner, tag })
14 async.mapValues @serviceStates, _getStatus, callback
15
16 getStatus: ({ repo, owner, tag }, { hostname, username, password }, cluster, callback) =>
17 baseUrl = url.format {
18 hostname: hostname
19 protocol: 'https'
20 slashes: true
21 }
22 options = {
23 uri: "/#{owner}/#{repo}/docker_url",
24 baseUrl,
25 auth: {
26 username,
27 password,
28 },
29 }
30 debug 'get docker_url', options
31 request.get options, (error, response, body) =>
32 debug 'got docker_url', { baseUrl, body, error, statusCode: response?.statusCode }
33 return callback error if error?
34 callback null, body
35
36module.exports = GovernatorService