mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
80 lines
2.3 KiB
Go
80 lines
2.3 KiB
Go
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
package api
|
|
|
|
/*
|
|
func createSubDomain(subDomain string, target string) {
|
|
|
|
if utils.Cfg.AWSSettings.Route53AccessKeyId == "" {
|
|
return
|
|
}
|
|
|
|
creds := aws.Creds(utils.Cfg.AWSSettings.Route53AccessKeyId, utils.Cfg.AWSSettings.Route53SecretAccessKey, "")
|
|
r53 := route53.New(aws.DefaultConfig.Merge(&aws.Config{Credentials: creds, Region: utils.Cfg.AWSSettings.Route53Region}))
|
|
|
|
rr := route53.ResourceRecord{
|
|
Value: aws.String(target),
|
|
}
|
|
|
|
rrs := make([]*route53.ResourceRecord, 1)
|
|
rrs[0] = &rr
|
|
|
|
change := route53.Change{
|
|
Action: aws.String("CREATE"),
|
|
ResourceRecordSet: &route53.ResourceRecordSet{
|
|
Name: aws.String(fmt.Sprintf("%v.%v", subDomain, utils.Cfg.ServiceSettings.Domain)),
|
|
TTL: aws.Long(300),
|
|
Type: aws.String("CNAME"),
|
|
ResourceRecords: rrs,
|
|
},
|
|
}
|
|
|
|
changes := make([]*route53.Change, 1)
|
|
changes[0] = &change
|
|
|
|
r53req := &route53.ChangeResourceRecordSetsInput{
|
|
HostedZoneID: aws.String(utils.Cfg.AWSSettings.Route53ZoneId),
|
|
ChangeBatch: &route53.ChangeBatch{
|
|
Changes: changes,
|
|
},
|
|
}
|
|
|
|
if _, err := r53.ChangeResourceRecordSets(r53req); err != nil {
|
|
l4g.Error("erro in createSubDomain domain=%v err=%v", subDomain, err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func doesSubDomainExist(subDomain string) bool {
|
|
|
|
// if it's configured for testing then skip this step
|
|
if utils.Cfg.AWSSettings.Route53AccessKeyId == "" {
|
|
return false
|
|
}
|
|
|
|
creds := aws.Creds(utils.Cfg.AWSSettings.Route53AccessKeyId, utils.Cfg.AWSSettings.Route53SecretAccessKey, "")
|
|
r53 := route53.New(aws.DefaultConfig.Merge(&aws.Config{Credentials: creds, Region: utils.Cfg.AWSSettings.Route53Region}))
|
|
|
|
r53req := &route53.ListResourceRecordSetsInput{
|
|
HostedZoneID: aws.String(utils.Cfg.AWSSettings.Route53ZoneId),
|
|
MaxItems: aws.String("1"),
|
|
StartRecordName: aws.String(fmt.Sprintf("%v.%v.", subDomain, utils.Cfg.ServiceSettings.Domain)),
|
|
}
|
|
|
|
if result, err := r53.ListResourceRecordSets(r53req); err != nil {
|
|
l4g.Error("error in doesSubDomainExist domain=%v err=%v", subDomain, err)
|
|
return true
|
|
} else {
|
|
|
|
for _, v := range result.ResourceRecordSets {
|
|
if v.Name != nil && *v.Name == fmt.Sprintf("%v.%v.", subDomain, utils.Cfg.ServiceSettings.Domain) {
|
|
return true
|
|
}
|
|
}
|
|
}
|
|
|
|
return false
|
|
}
|
|
*/
|