UNPKG

briareus

Version:

Briareus assists with Feature Branch deploys to ECS

58 lines (51 loc) 1.49 kB
'use strict' const AWS = require('aws-sdk'); const _ = require('lodash'); let action = module.exports = function (pipeline, payload, cb) { const route53 = new AWS.Route53(); const params = { ChangeBatch: { Changes: [ { Action: "UPSERT", ResourceRecordSet: { Name: payload.endpoint.host, AliasTarget: { DNSName: payload.alb.dnsName, EvaluateTargetHealth: false, HostedZoneId: payload.alb.canonicalHostedZoneId }, Type: 'A' } }, { Action: "UPSERT", ResourceRecordSet: { Name: `*.${payload.endpoint.host}`, AliasTarget: { DNSName: payload.alb.dnsName, EvaluateTargetHealth: false, HostedZoneId: payload.alb.canonicalHostedZoneId }, Type: 'A' } } ], Comment: `Briarius DNS Records. payload: ${payload.uuid}` }, HostedZoneId: payload.hostedZoneId }; route53.changeResourceRecordSets(params, (err, data) => { if (err) return cb(err); const patches = _.map(params.ChangeBatch.Changes, (change) => { return { op: 'add', path: '/assets/dnsRecords/-', value: change.ResourceRecordSet } }); cb(null, patches); }); }; action.waiting = 'Creating DNS records for endpoints'; action.done = 'DNS records for endpoints have been created';