-
Notifications
You must be signed in to change notification settings - Fork 22
/
template_main_record_sets.go
90 lines (89 loc) · 2.95 KB
/
template_main_record_sets.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package template
const TemplateMainRecordSets = `
{{- define "record_sets" -}}
{{- $v := .RecordSets }}
{{- if $v.Route53Enabled -}}
HostedZone:
Type: 'AWS::Route53::HostedZone'
Properties:
Name: '{{ $v.ClusterID }}.k8s.{{ $v.BaseDomain }}.'
InternalHostedZone:
Type: 'AWS::Route53::HostedZone'
Properties:
Name: '{{ $v.ClusterID }}.k8s.{{ $v.BaseDomain }}.'
HostedZoneConfig:
Comment: "Internal hosted zone for internal network"
VPCs:
- VPCId: !Ref VPC
VPCRegion: '{{ $v.VPCRegion }}'
ApiRecordSet:
Type: AWS::Route53::RecordSet
Properties:
AliasTarget:
DNSName: !GetAtt ApiLoadBalancer.DNSName
HostedZoneId: !GetAtt ApiLoadBalancer.CanonicalHostedZoneNameID
EvaluateTargetHealth: false
Name: 'api.{{ $v.ClusterID }}.k8s.{{ $v.BaseDomain }}.'
HostedZoneId: !Ref 'HostedZone'
Type: A
ApiPublicInternalRecordSet:
Type: AWS::Route53::RecordSet
Properties:
AliasTarget:
DNSName: !GetAtt ApiInternalLoadBalancer.DNSName
HostedZoneId: !GetAtt ApiInternalLoadBalancer.CanonicalHostedZoneNameID
EvaluateTargetHealth: false
Name: 'internal-api.{{ $v.ClusterID }}.k8s.{{ $v.BaseDomain }}.'
HostedZoneId: !Ref 'HostedZone'
Type: A
ApiPrivateInternalRecordSet:
Type: AWS::Route53::RecordSet
Properties:
AliasTarget:
DNSName: !GetAtt ApiInternalLoadBalancer.DNSName
HostedZoneId: !GetAtt ApiInternalLoadBalancer.CanonicalHostedZoneNameID
EvaluateTargetHealth: false
Name: 'api.{{ $v.ClusterID }}.k8s.{{ $v.BaseDomain }}.'
HostedZoneId: !Ref 'InternalHostedZone'
Type: A
EtcdInternalRecordSet:
Type: AWS::Route53::RecordSet
Properties:
AliasTarget:
DNSName: !GetAtt EtcdLoadBalancer.DNSName
HostedZoneId: !GetAtt EtcdLoadBalancer.CanonicalHostedZoneNameID
EvaluateTargetHealth: false
Name: '{{ $v.EtcdDomain }}.'
HostedZoneId: !Ref 'InternalHostedZone'
Type: A
EtcdRecordSet:
Type: AWS::Route53::RecordSet
Properties:
AliasTarget:
DNSName: !GetAtt EtcdLoadBalancer.DNSName
HostedZoneId: !GetAtt EtcdLoadBalancer.CanonicalHostedZoneNameID
EvaluateTargetHealth: false
Name: '{{ $v.EtcdDomain }}.'
HostedZoneId: !Ref 'HostedZone'
Type: A
IngressWildcardRecordSet:
Type: AWS::Route53::RecordSet
Properties:
Name: '*.{{ $v.ClusterID }}.k8s.{{ $v.BaseDomain }}.'
HostedZoneId: !Ref 'HostedZone'
TTL: '300'
Type: CNAME
ResourceRecords:
- 'ingress.{{ $v.ClusterID }}.k8s.{{ $v.BaseDomain }}.'
IngressWildcardInternalRecordSet:
Type: AWS::Route53::RecordSet
Properties:
Name: '*.{{ $v.ClusterID }}.k8s.{{ $v.BaseDomain }}.'
HostedZoneId: !Ref 'InternalHostedZone'
TTL: '300'
Type: CNAME
ResourceRecords:
- 'ingress.{{ $v.ClusterID }}.k8s.{{ $v.BaseDomain }}.'
{{- end -}}
{{- end -}}
`