dns records only for actual services
This commit is contained in:
parent
f979314a3c
commit
0961eb8f76
2 changed files with 12 additions and 26 deletions
|
|
@ -15,13 +15,17 @@ let
|
|||
# Public services point to trantor's public IP
|
||||
# Private services point to their tailscale IP
|
||||
mkServiceRecords = lib.listToAttrs (
|
||||
lib.imap0 (i: svc:
|
||||
lib.imap0 (
|
||||
i: svc:
|
||||
let
|
||||
subdomain = getSubdomain svc.domain;
|
||||
targetIP = if svc.public or false
|
||||
then config.data.terraform_remote_state.trantor "outputs.instance_public_ip"
|
||||
else svc.tailscaleIP;
|
||||
in {
|
||||
targetIP =
|
||||
if svc.public or false then
|
||||
config.data.terraform_remote_state.trantor "outputs.instance_public_ip"
|
||||
else
|
||||
svc.tailscaleIP;
|
||||
in
|
||||
{
|
||||
name = "service_${toString i}";
|
||||
value = {
|
||||
zone_id = config.variable.zone_id.default;
|
||||
|
|
@ -78,25 +82,5 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
resource = {
|
||||
cloudflare_dns_record = mkServiceRecords // {
|
||||
root = {
|
||||
zone_id = config.variable.zone_id.default;
|
||||
name = "@";
|
||||
type = "A";
|
||||
content = config.data.terraform_remote_state.trantor "outputs.instance_public_ip";
|
||||
proxied = false;
|
||||
ttl = 3600;
|
||||
};
|
||||
|
||||
www = {
|
||||
zone_id = config.variable.zone_id.default;
|
||||
name = "www";
|
||||
type = "A";
|
||||
content = config.data.terraform_remote_state.trantor "outputs.instance_public_ip";
|
||||
proxied = false;
|
||||
ttl = 3600;
|
||||
};
|
||||
};
|
||||
};
|
||||
resource.cloudflare_dns_record = mkServiceRecords;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue