mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 12:29:19 -08:00
[REFACTOR] Split out current terraform a little
This commit is contained in:
parent
b18e5337f0
commit
0862be524a
14 changed files with 226 additions and 389 deletions
|
|
@ -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" {
|
resource "cloudflare_record" "terraform_managed_resource_ff749881351460f7b8033925a981c71b" {
|
||||||
name = "gensokyo.zone"
|
name = "gensokyo.zone"
|
||||||
proxied = true
|
proxied = true
|
||||||
|
|
@ -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" {
|
resource "cloudflare_record" "terraform_managed_resource_2faa6696595383c5a7a76c8b8c656fe3" {
|
||||||
name = "chen"
|
name = "chen"
|
||||||
proxied = false
|
proxied = false
|
||||||
|
|
@ -177,130 +305,4 @@ resource "cloudflare_record" "terraform_managed_resource_3705df99f250ac32e71ccd2
|
||||||
value = "fd7a:115c:a1e0:ab12:4843:cd96:6269:9810"
|
value = "fd7a:115c:a1e0:ab12:4843:cd96:6269:9810"
|
||||||
zone_id = "635716e7dd314fd5ec52f9434bd4527d"
|
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"
|
|
||||||
}
|
|
||||||
|
|
||||||
11
hcloud-network.tf
Normal file
11
hcloud-network.tf
Normal file
|
|
@ -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"
|
||||||
|
}
|
||||||
7
hcloud-provider.tf
Normal file
7
hcloud-provider.tf
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
variable "hcloud_token" {
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "hcloud" {
|
||||||
|
token = var.hcloud_token
|
||||||
|
}
|
||||||
244
hcloud.tf
244
hcloud.tf
|
|
@ -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)
|
|
||||||
*/
|
|
||||||
12
tailscale.tf
Normal file
12
tailscale.tf
Normal file
|
|
@ -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
|
||||||
|
}
|
||||||
17
yukari-cf.tf
Normal file
17
yukari-cf.tf
Normal file
|
|
@ -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"
|
||||||
|
}
|
||||||
50
yukari-hcloud.tf
Normal file
50
yukari-hcloud.tf
Normal file
|
|
@ -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"
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue