Skip to content

Commit f17399f

Browse files
committed
route53: add srv support
1 parent e4d362d commit f17399f

File tree

1 file changed

+25
-20
lines changed

1 file changed

+25
-20
lines changed
Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,52 @@
11
let
22
domain = "\${data.aws_route53_zone.selected.name}";
3+
zoneId = "\${data.aws_route53_zone.selected.zone_id}";
34

4-
mkResource = {
5+
mkCname = {
56
name,
67
records ? [],
78
ttl ? "300",
89
type ? "CNAME",
9-
zone_id ? "\${data.aws_route53_zone.selected.zone_id}"
10-
}: {
11-
inherit
12-
name
13-
records
14-
ttl
15-
type
16-
zone_id;
17-
};
10+
zone_id ? zoneId
11+
}: {inherit name records ttl type zone_id;};
12+
13+
mkSrv = {
14+
name,
15+
records ? [],
16+
ttl ? "300",
17+
type ? "SRV",
18+
zone_id ? zoneId
19+
}: {inherit name records ttl type zone_id;};
1820
in {
1921
# Resource attribute names must be unique for route53 resources in the cluster and therefore
2022
# should not be named after machines or book or group multivalue DNS names.
2123
#
2224
# Prefixing the resource attribute with the record type will avoid any namespace issues.
2325

2426
# Book
25-
cname_book = mkResource {name = "book.${domain}"; records = ["misc1-webserver-a-1.${domain}"];};
26-
cname_book_staging = mkResource {name = "book-staging.${domain}"; records = ["misc1-webserver-a-1.${domain}"];};
27+
cname_book = mkCname {name = "book.${domain}"; records = ["misc1-webserver-a-1.${domain}"];};
28+
cname_book_staging = mkCname {name = "book-staging.${domain}"; records = ["misc1-webserver-a-1.${domain}"];};
2729

2830
# Explorers
29-
cname_explorer_preprod = mkResource {name = "preprod-explorer.${domain}"; records = ["preprod1-dbsync-a-1.${domain}"];};
30-
cname_explorer_preview = mkResource {name = "preview-explorer.${domain}"; records = ["preview1-dbsync-a-1.${domain}"];};
31+
cname_explorer_preprod = mkCname {name = "preprod-explorer.${domain}"; records = ["preprod1-dbsync-a-1.${domain}"];};
32+
cname_explorer_preview = mkCname {name = "preview-explorer.${domain}"; records = ["preview1-dbsync-a-1.${domain}"];};
3133

3234
# Faucets
33-
cname_faucet_preprod = mkResource {name = "faucet.preprod.${domain}"; records = ["preprod1-faucet-a-1.${domain}"];};
34-
cname_faucet_preview = mkResource {name = "faucet.preview.${domain}"; records = ["preview1-faucet-a-1.${domain}"];};
35+
cname_faucet_preprod = mkCname {name = "faucet.preprod.${domain}"; records = ["preprod1-faucet-a-1.${domain}"];};
36+
cname_faucet_preview = mkCname {name = "faucet.preview.${domain}"; records = ["preview1-faucet-a-1.${domain}"];};
3537

3638
# Govtool
3739

3840
# Ipfs for all testnets
39-
cname_metadata_ipfs = mkResource {name = "ipfs.${domain}"; records = ["misc1-metadata-a-1.${domain}"];};
41+
cname_metadata_ipfs = mkCname {name = "ipfs.${domain}"; records = ["misc1-metadata-a-1.${domain}"];};
4042

4143
# Metadata for all testnets
42-
cname_metadata_testnets = mkResource {name = "metadata.${domain}"; records = ["misc1-metadata-a-1.${domain}"];};
44+
cname_metadata_testnets = mkCname {name = "metadata.${domain}"; records = ["misc1-metadata-a-1.${domain}"];};
4345

4446
# Smash
45-
cname_smash_preprod = mkResource {name = "preprod-smash.${domain}"; records = ["preprod1-dbsync-a-1.${domain}"];};
46-
cname_smash_preview = mkResource {name = "preview-smash.${domain}"; records = ["preview1-dbsync-a-1.${domain}"];};
47+
cname_smash_preprod = mkCname {name = "preprod-smash.${domain}"; records = ["preprod1-dbsync-a-1.${domain}"];};
48+
cname_smash_preview = mkCname {name = "preview-smash.${domain}"; records = ["preview1-dbsync-a-1.${domain}"];};
49+
50+
# Example SRV record resource, where network could be substituted with any of preview, preprod or mainnet.
51+
# srv_network = mkSrv {name = "_cardano-network._tcp.${domain}"; records = ["0 10 3001 network1-rel-a-1.${domain}"];};
4752
}

0 commit comments

Comments
 (0)