diff --git a/cloudflare-dork.dev.tf b/cf-dork.dev-records.tf similarity index 100% rename from cloudflare-dork.dev.tf rename to cf-dork.dev-records.tf diff --git a/cloudflare-gensokyo.zone.tf b/cf-gensokyo.zone-records.tf similarity index 77% rename from cloudflare-gensokyo.zone.tf rename to cf-gensokyo.zone-records.tf index 46f5532e..7f476af1 100644 --- a/cloudflare-gensokyo.zone.tf +++ b/cf-gensokyo.zone-records.tf @@ -1,21 +1,3 @@ -resource "cloudflare_record" "terraform_managed_resource_4078b739fc60f37d90a25448e08b6616" { - name = "yukari" - proxied = false - ttl = 3600 - type = "A" - value = "5.78.94.220" - zone_id = "84e33c7736e439f633867310dbf7d672" -} - -resource "cloudflare_record" "terraform_managed_resource_1206b053e895e4f6a9d1b3b4856db871" { - name = "yukari" - proxied = false - ttl = 3600 - type = "AAAA" - value = "2a01:4ff:1f0:e7bb::1" - zone_id = "84e33c7736e439f633867310dbf7d672" -} - resource "cloudflare_record" "terraform_managed_resource_ff749881351460f7b8033925a981c71b" { name = "gensokyo.zone" proxied = true diff --git a/cloudflare-inskip-pages.tf b/cf-inskip-pages.tf similarity index 100% rename from cloudflare-inskip-pages.tf rename to cf-inskip-pages.tf diff --git a/cloudflare-inskip.me.tf b/cf-inskip.me-records.tf similarity index 98% rename from cloudflare-inskip.me.tf rename to cf-inskip.me-records.tf index 40cf4a13..78acc656 100644 --- a/cloudflare-inskip.me.tf +++ b/cf-inskip.me-records.tf @@ -1,3 +1,131 @@ +resource "cloudflare_record" "terraform_managed_resource_328ec45cd6cfa9fb4d32c4dfe7b3d5e2" { + name = "inskip.me" + proxied = false + ttl = 3600 + type = "CAA" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" + data { + flags = 0 + tag = "iodef" + value = "mailto:acme@inskip.me" + } +} + +resource "cloudflare_record" "terraform_managed_resource_d1cfb156d1cccd583dedf9571ec20c8d" { + name = "inskip.me" + proxied = false + ttl = 3600 + type = "CAA" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" + data { + flags = 0 + tag = "issue" + value = "letsencrypt.org" + } +} + +resource "cloudflare_record" "terraform_managed_resource_9f1178aab1a0c152b0870a9bc10cae6b" { + name = "inskip.me" + proxied = false + ttl = 3600 + type = "CAA" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" + data { + flags = 0 + tag = "issuewild" + value = ";" + } +} + +resource "cloudflare_record" "terraform_managed_resource_e3d130cd7057def47a2365656bdb952e" { + name = "inskip.me" + proxied = false + ttl = 3600 + type = "CNAME" + value = "inskip-root.pages.dev" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" +} + +resource "cloudflare_record" "terraform_managed_resource_2490d32a4fb7400c07503d24675955cb" { + name = "inskip.me" + priority = 10 + proxied = false + ttl = 3600 + type = "MX" + value = "alt3.aspmx.l.google.com" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" +} + +resource "cloudflare_record" "terraform_managed_resource_9f87bf476adbe001d227c32693e08ba1" { + name = "inskip.me" + priority = 1 + proxied = false + ttl = 3600 + type = "MX" + value = "aspmx.l.google.com" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" +} + +resource "cloudflare_record" "terraform_managed_resource_ec7ec3c413def145dafc6530f630f647" { + name = "inskip.me" + priority = 10 + proxied = false + ttl = 3600 + type = "MX" + value = "alt4.aspmx.l.google.com" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" +} + +resource "cloudflare_record" "terraform_managed_resource_80559b7ee777c1e94aa4be4c3c18e6c2" { + name = "inskip.me" + priority = 5 + proxied = false + ttl = 3600 + type = "MX" + value = "alt1.aspmx.l.google.com" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" +} + +resource "cloudflare_record" "terraform_managed_resource_80b48ce49c59ee6380fa4eb2ccc9fa8a" { + name = "inskip.me" + priority = 5 + proxied = false + ttl = 3600 + type = "MX" + value = "alt2.aspmx.l.google.com" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" +} + +resource "cloudflare_record" "terraform_managed_resource_f9a42e77eeb06fb20c0fcb01e2608601" { + name = "inskip.me" + priority = 15 + proxied = false + ttl = 3600 + type = "MX" + value = "6uyykkzhqi4zgogxiicbuamoqrxajwo5werga4byh77b2iyx3wma.mx-verification.google.com" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" +} + +resource "cloudflare_record" "terraform_managed_resource_cf503ffe8c92e5195315b8b7d0028903" { + name = "google._domainkey" + proxied = false + ttl = 3600 + type = "TXT" + value = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkxag/EmXQ89XQmLrBDPpPtZ7EtEJT0hgvWf/+AFiOfBOm902tq9NbTTvRJ2dLeBLPaV+hNvq2Alc7UfkKUDlLTWQjeuiC6aOnRKQQg3LZ2W25U3AlIj0jd2IPiUhg9JGV4c66XiqQ5ylTBniShfUUyeAXxbPhYFBCkBg62LZcO/tFpFsdKWtZzLjgac5vTJID+M4F8duHpkA/ZCNNUEmtt7RNQB/LLI1Gr5yR4GdQl9z7NmwtOTo9pghbZuvljr8phYjdDrwZeFTMKQnvR1l2Eh/dZ8I0C4nP5Bk4QEfmLq666P1HzOxwT6iCU6Tc+P/pkWbrx0HJh39E1aKGyLJMQIDAQAB" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" +} + +resource "cloudflare_record" "terraform_managed_resource_f5b4da4e6ffacca4bf188f861543f1d2" { + name = "inskip.me" + proxied = false + ttl = 3600 + type = "TXT" + value = "v=spf1 include:_spf.google.com -all" + zone_id = "635716e7dd314fd5ec52f9434bd4527d" +} + +/* +// Here lies the graveyard of automatically generated resources from the terraform automagic importer resource "cloudflare_record" "terraform_managed_resource_2faa6696595383c5a7a76c8b8c656fe3" { name = "chen" proxied = false @@ -177,130 +305,4 @@ resource "cloudflare_record" "terraform_managed_resource_3705df99f250ac32e71ccd2 value = "fd7a:115c:a1e0:ab12:4843:cd96:6269:9810" zone_id = "635716e7dd314fd5ec52f9434bd4527d" } - -resource "cloudflare_record" "terraform_managed_resource_328ec45cd6cfa9fb4d32c4dfe7b3d5e2" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "CAA" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" - data { - flags = 0 - tag = "iodef" - value = "mailto:acme@inskip.me" - } -} - -resource "cloudflare_record" "terraform_managed_resource_d1cfb156d1cccd583dedf9571ec20c8d" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "CAA" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" - data { - flags = 0 - tag = "issue" - value = "letsencrypt.org" - } -} - -resource "cloudflare_record" "terraform_managed_resource_9f1178aab1a0c152b0870a9bc10cae6b" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "CAA" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" - data { - flags = 0 - tag = "issuewild" - value = ";" - } -} - -resource "cloudflare_record" "terraform_managed_resource_e3d130cd7057def47a2365656bdb952e" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "CNAME" - value = "inskip-root.pages.dev" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_2490d32a4fb7400c07503d24675955cb" { - name = "inskip.me" - priority = 10 - proxied = false - ttl = 3600 - type = "MX" - value = "alt3.aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_9f87bf476adbe001d227c32693e08ba1" { - name = "inskip.me" - priority = 1 - proxied = false - ttl = 3600 - type = "MX" - value = "aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_ec7ec3c413def145dafc6530f630f647" { - name = "inskip.me" - priority = 10 - proxied = false - ttl = 3600 - type = "MX" - value = "alt4.aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_80559b7ee777c1e94aa4be4c3c18e6c2" { - name = "inskip.me" - priority = 5 - proxied = false - ttl = 3600 - type = "MX" - value = "alt1.aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_80b48ce49c59ee6380fa4eb2ccc9fa8a" { - name = "inskip.me" - priority = 5 - proxied = false - ttl = 3600 - type = "MX" - value = "alt2.aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_f9a42e77eeb06fb20c0fcb01e2608601" { - name = "inskip.me" - priority = 15 - proxied = false - ttl = 3600 - type = "MX" - value = "6uyykkzhqi4zgogxiicbuamoqrxajwo5werga4byh77b2iyx3wma.mx-verification.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_cf503ffe8c92e5195315b8b7d0028903" { - name = "google._domainkey" - proxied = false - ttl = 3600 - type = "TXT" - value = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkxag/EmXQ89XQmLrBDPpPtZ7EtEJT0hgvWf/+AFiOfBOm902tq9NbTTvRJ2dLeBLPaV+hNvq2Alc7UfkKUDlLTWQjeuiC6aOnRKQQg3LZ2W25U3AlIj0jd2IPiUhg9JGV4c66XiqQ5ylTBniShfUUyeAXxbPhYFBCkBg62LZcO/tFpFsdKWtZzLjgac5vTJID+M4F8duHpkA/ZCNNUEmtt7RNQB/LLI1Gr5yR4GdQl9z7NmwtOTo9pghbZuvljr8phYjdDrwZeFTMKQnvR1l2Eh/dZ8I0C4nP5Bk4QEfmLq666P1HzOxwT6iCU6Tc+P/pkWbrx0HJh39E1aKGyLJMQIDAQAB" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_f5b4da4e6ffacca4bf188f861543f1d2" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "TXT" - value = "v=spf1 include:_spf.google.com -all" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - +*/ \ No newline at end of file diff --git a/cloudflare-kittywit.ch.tf b/cf-kittywit.ch-records.tf similarity index 100% rename from cloudflare-kittywit.ch.tf rename to cf-kittywit.ch-records.tf diff --git a/cloudflare-kittywitch-pages.tf b/cf-kittywitch-pages.tf similarity index 100% rename from cloudflare-kittywitch-pages.tf rename to cf-kittywitch-pages.tf diff --git a/cloudflare.tf b/cf-provider.tf similarity index 100% rename from cloudflare.tf rename to cf-provider.tf diff --git a/cloudflare-zones.tf b/cf-zones.tf similarity index 100% rename from cloudflare-zones.tf rename to cf-zones.tf diff --git a/hcloud-network.tf b/hcloud-network.tf new file mode 100644 index 00000000..0082c278 --- /dev/null +++ b/hcloud-network.tf @@ -0,0 +1,11 @@ +resource "hcloud_network" "network" { + name = "network-17a07f9" + ip_range = "10.0.0.0/16" +} + +resource "hcloud_network_subnet" "subnet" { + network_id = hcloud_network.network.id + type = "cloud" + network_zone = "us-west" + ip_range = "10.0.1.0/24" +} \ No newline at end of file diff --git a/hcloud-provider.tf b/hcloud-provider.tf new file mode 100644 index 00000000..faae43f8 --- /dev/null +++ b/hcloud-provider.tf @@ -0,0 +1,7 @@ +variable "hcloud_token" { + sensitive = true +} + +provider "hcloud" { + token = var.hcloud_token +} diff --git a/hcloud.tf b/hcloud.tf deleted file mode 100644 index 3022fd95..00000000 --- a/hcloud.tf +++ /dev/null @@ -1,244 +0,0 @@ -variable "hcloud_token" { - sensitive = true -} - -provider "hcloud" { - token = var.hcloud_token -} - -variable "tailscale_api_key" { - sensitive = true -} - -variable "tailnet" { - sensitive = false -} - -provider "tailscale" { - api_key = var.tailscale_api_key - tailnet = var.tailnet -} - - -/* -resource "hcloud_server" "server" - for_each = servers - name = each.key - server_type = each.value.server_type -*/ - -/* - // when creating, comment out the rest of this file and deploy with this first, to create the network in the first place. - m.Network, err = hcloud.NewNetwork(ctx, "network", &hcloud.NetworkArgs{ - IpRange: pulumi.String("10.0.0.0/16"), - }) - if err != nil { - return err - } - - m.NetworkID = IDToInt(m.Network.ID()) -*/ - -// Network - -resource "hcloud_network" "network" { - name = "network-17a07f9" - ip_range = "10.0.0.0/16" -} - -/* - m.NetworkSubnet, err = hcloud.NewNetworkSubnet(ctx, fmt.Sprintf("%s-primarySubnet", m.Hostname), &hcloud.NetworkSubnetArgs{ - NetworkId: m.NetworkID, - Type: pulumi.String("cloud"), - NetworkZone: pulumi.String("us-west"), - IpRange: pulumi.String("10.0.1.0/24"), - }, pulumi.DependsOn([]pulumi.Resource{ - m.Network, - })) - if err != nil { - return err - } -*/ - -resource "hcloud_network_subnet" "subnet" { - network_id = hcloud_network.network.id - type = "cloud" - network_zone = "us-west" - ip_range = "10.0.1.0/24" -} - -/* - m.IPv4, err = hcloud.NewPrimaryIp(ctx, fmt.Sprintf("%s-v4", m.Hostname), &hcloud.PrimaryIpArgs{ - Datacenter: pulumi.String("hil-dc1"), - Type: pulumi.String("ipv4"), - AssigneeType: pulumi.String("server"), - AutoDelete: pulumi.Bool(true), - Labels: pulumi.Map{ - "host": pulumi.Any("ran"), - }, - }, pulumi.DependsOn([]pulumi.Resource{ - m.Network, - m.NetworkSubnet, - })) - if err != nil { - return err - } -*/ - -resource "hcloud_primary_ip" "ipv4" { - auto_delete = false - name = "yukari-v4-aef50a7" - datacenter = "hil-dc1" - type = "ipv4" - assignee_type = "server" -} - -/* - m.IPv6, err = hcloud.NewPrimaryIp(ctx, fmt.Sprintf("%s-v6", m.Hostname), &hcloud.PrimaryIpArgs{ - Datacenter: pulumi.String("hil-dc1"), - Type: pulumi.String("ipv6"), - AssigneeType: pulumi.String("server"), - AutoDelete: pulumi.Bool(true), - Labels: pulumi.Map{ - "host": pulumi.Any("ran"), - }, - }, pulumi.DependsOn([]pulumi.Resource{ - m.Network, - m.NetworkSubnet, - })) - if err != nil { - return err - } -*/ - -resource "hcloud_primary_ip" "ipv6" { - auto_delete = false - name = "yukari-v6-66a4b55" - datacenter = "hil-dc1" - type = "ipv6" - assignee_type = "server" -} - -/* - m.Server, err = hcloud.NewServer(ctx, m.Hostname, &hcloud.ServerArgs{ - Name: pulumi.String(m.Hostname), - ServerType: pulumi.String("cpx21"), - Image: pulumi.String("67794396"), - Datacenter: pulumi.String("hil-dc1"), - UserData: m.CloudInit.Rendered, - PublicNets: hcloud.ServerPublicNetArray{ - &hcloud.ServerPublicNetArgs{ - Ipv4Enabled: pulumi.Bool(true), - Ipv4: IDToInt(m.IPv4.ID()), - Ipv6Enabled: pulumi.Bool(true), - Ipv6: IDToInt(m.IPv6.ID()), - }, - }, - Networks: hcloud.ServerNetworkTypeArray{ - &hcloud.ServerNetworkTypeArgs{ - NetworkId: m.NetworkID, - Ip: pulumi.String("10.0.1.5"), - AliasIps: pulumi.StringArray{ - pulumi.String("10.0.1.6"), - pulumi.String("10.0.1.7"), - }, - }, - }, - }, pulumi.IgnoreChanges([]string{"image"}), pulumi.DependsOn([]pulumi.Resource{ - m.NetworkSubnet, - m.IPv4, - m.IPv6, - })) - if err != nil { - return err - } - */ - - resource "hcloud_server" "yukari" { - name = "yukari" - server_type = "cpx21" - keep_disk = true - allow_deprecated_images = false - image = "ubuntu-22.04" - datacenter = "hil-dc1" - public_net { - ipv4_enabled = true - ipv4 = hcloud_primary_ip.ipv4.id - ipv6_enabled = true - ipv6 = hcloud_primary_ip.ipv6.id - } - - lifecycle { - ignore_changes = [ - user_data, - public_net - ] - } - } - - /* - m.RDNSv4, err = hcloud.NewRdns(ctx, fmt.Sprintf("%s-v4", m.Hostname), &hcloud.RdnsArgs{ - ServerId: IDToInt(m.Server.ID()), - IpAddress: m.Server.Ipv4Address, - DnsPtr: pulumi.String(fmt.Sprintf("%s.gensokyo.zone", m.Hostname)), - }, pulumi.DependsOn([]pulumi.Resource{ - m.Server, - })) - if err != nil { - return err - } - */ - - resource "hcloud_rdns" "yukari-v4" { - server_id = hcloud_server.yukari.id - ip_address = hcloud_server.yukari.ipv4_address - dns_ptr = "yukari.gensokyo.zone" - } - - /* - m.RDNSv6, err = hcloud.NewRdns(ctx, fmt.Sprintf("%s-v6", m.Hostname), &hcloud.RdnsArgs{ - ServerId: IDToInt(m.Server.ID()), - IpAddress: m.Server.Ipv6Address, - DnsPtr: pulumi.String(fmt.Sprintf("%s.gensokyo.zone", m.Hostname)), - }, pulumi.DependsOn([]pulumi.Resource{ - m.Server, - })) - if err != nil { - return err - } - */ - - resource "hcloud_rdns" "yukari-v6" { - server_id = hcloud_server.yukari.id - ip_address = hcloud_server.yukari.ipv6_address - dns_ptr = "yukari.gensokyo.zone" - } - - /* - zoneName := "gensokyo.zone" - - gensokyo, err := cloudflare.LookupZone(ctx, &cloudflare.LookupZoneArgs{ - Name: &zoneName, - }) - if err != nil { - return err - } - - m.Recordv4 = DNSRecord{ - Higher: String, - Name: m.Hostname, - Kind: A, - RawValue: m.Server.Ipv4Address, - Ttl: 3600, - } - m.Recordv4.handleValue(ctx, gensokyo) - - m.Recordv6 = DNSRecord{ - Higher: String, - Name: m.Hostname, - Kind: AAAA, - RawValue: m.Server.Ipv6Address, - Ttl: 3600, - } - m.Recordv6.handleValue(ctx, gensokyo) -*/ \ No newline at end of file diff --git a/tailscale.tf b/tailscale.tf new file mode 100644 index 00000000..8a8a08bb --- /dev/null +++ b/tailscale.tf @@ -0,0 +1,12 @@ +variable "tailscale_api_key" { + sensitive = true +} + +variable "tailnet" { + sensitive = false +} + +provider "tailscale" { + api_key = var.tailscale_api_key + tailnet = var.tailnet +} \ No newline at end of file diff --git a/yukari-cf.tf b/yukari-cf.tf new file mode 100644 index 00000000..976fb6c4 --- /dev/null +++ b/yukari-cf.tf @@ -0,0 +1,17 @@ +resource "cloudflare_record" "terraform_managed_resource_4078b739fc60f37d90a25448e08b6616" { + name = "yukari" + proxied = false + ttl = 3600 + type = "A" + value = hcloud_server.yukari.ipv4_address + zone_id = "84e33c7736e439f633867310dbf7d672" +} + +resource "cloudflare_record" "terraform_managed_resource_1206b053e895e4f6a9d1b3b4856db871" { + name = "yukari" + proxied = false + ttl = 3600 + type = "AAAA" + value = hcloud_server.yukari.ipv6_address + zone_id = "84e33c7736e439f633867310dbf7d672" +} \ No newline at end of file diff --git a/yukari-hcloud.tf b/yukari-hcloud.tf new file mode 100644 index 00000000..75908cb3 --- /dev/null +++ b/yukari-hcloud.tf @@ -0,0 +1,50 @@ +resource "hcloud_primary_ip" "ipv4" { + auto_delete = false + name = "yukari-v4-aef50a7" + datacenter = "hil-dc1" + type = "ipv4" + assignee_type = "server" +} + + +resource "hcloud_primary_ip" "ipv6" { + auto_delete = false + name = "yukari-v6-66a4b55" + datacenter = "hil-dc1" + type = "ipv6" + assignee_type = "server" +} +resource "hcloud_server" "yukari" { + name = "yukari" + server_type = "cpx21" + keep_disk = true + allow_deprecated_images = false + image = "ubuntu-22.04" + datacenter = "hil-dc1" + public_net { + ipv4_enabled = true + ipv4 = hcloud_primary_ip.ipv4.id + ipv6_enabled = true + ipv6 = hcloud_primary_ip.ipv6.id + } + + lifecycle { + ignore_changes = [ + user_data, + public_net + ] + } +} + + +resource "hcloud_rdns" "yukari-v4" { + server_id = hcloud_server.yukari.id + ip_address = hcloud_server.yukari.ipv4_address + dns_ptr = "yukari.gensokyo.zone" +} + +resource "hcloud_rdns" "yukari-v6" { + server_id = hcloud_server.yukari.id + ip_address = hcloud_server.yukari.ipv6_address + dns_ptr = "yukari.gensokyo.zone" +} \ No newline at end of file