in pkg/controller/ingress/ingress_controller.go [371:402]
func (r *ReconcileIngress) attachTGToASG(instance *extensionsv1beta1.Ingress) error {
asgNames, targetGroupARN, err := r.getASGsAndTargetGroup(instance)
if err != nil {
return err
}
stackName := instance.ObjectMeta.Name
for _, asgName := range asgNames {
existingTargetGroupARNs, err := r.getTargetGroupsFromASG(asgName)
if err != nil {
r.log.Error("error describing ASG", zap.String("stackName", stackName), zap.String("asgName", asgName))
return err
}
if contains(existingTargetGroupARNs, targetGroupARN) {
r.log.Info("targetGroupARN already attached to ASG", zap.String("stackName", stackName), zap.String("asgName", asgName), zap.String("targetGroupARN", targetGroupARN))
} else {
r.log.Info("attaching targetGroupARN to ASG", zap.String("stackName", stackName), zap.String("asgName", asgName), zap.String("targetGroupARN", targetGroupARN))
_, err = r.autoscalingSvc.AttachLoadBalancerTargetGroups(&autoscaling.AttachLoadBalancerTargetGroupsInput{
AutoScalingGroupName: aws.String(asgName),
TargetGroupARNs: aws.StringSlice([]string{targetGroupARN}),
})
if err != nil {
r.log.Error("error attaching targetGroupARN to ASG", zap.String("stackName", stackName), zap.String("asgName", asgName), zap.String("targetGroupARN", targetGroupARN))
return err
}
}
}
return nil
}