dns records only for actual services
This commit is contained in:
parent
f979314a3c
commit
0961eb8f76
2 changed files with 12 additions and 26 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -3,6 +3,8 @@ result
|
||||||
result-*
|
result-*
|
||||||
.direnv/
|
.direnv/
|
||||||
oci-trantor/
|
oci-trantor/
|
||||||
|
tailscale-tailnet/
|
||||||
|
cloudflare-baduhaidev
|
||||||
|
|
||||||
# Personal notes and temporary files
|
# Personal notes and temporary files
|
||||||
todo.md
|
todo.md
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,17 @@ let
|
||||||
# Public services point to trantor's public IP
|
# Public services point to trantor's public IP
|
||||||
# Private services point to their tailscale IP
|
# Private services point to their tailscale IP
|
||||||
mkServiceRecords = lib.listToAttrs (
|
mkServiceRecords = lib.listToAttrs (
|
||||||
lib.imap0 (i: svc:
|
lib.imap0 (
|
||||||
|
i: svc:
|
||||||
let
|
let
|
||||||
subdomain = getSubdomain svc.domain;
|
subdomain = getSubdomain svc.domain;
|
||||||
targetIP = if svc.public or false
|
targetIP =
|
||||||
then config.data.terraform_remote_state.trantor "outputs.instance_public_ip"
|
if svc.public or false then
|
||||||
else svc.tailscaleIP;
|
config.data.terraform_remote_state.trantor "outputs.instance_public_ip"
|
||||||
in {
|
else
|
||||||
|
svc.tailscaleIP;
|
||||||
|
in
|
||||||
|
{
|
||||||
name = "service_${toString i}";
|
name = "service_${toString i}";
|
||||||
value = {
|
value = {
|
||||||
zone_id = config.variable.zone_id.default;
|
zone_id = config.variable.zone_id.default;
|
||||||
|
|
@ -78,25 +82,5 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
resource = {
|
resource.cloudflare_dns_record = mkServiceRecords;
|
||||||
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue