about summary refs log tree commit diff
path: root/ops/glesys/main.tf
blob: 724387ba4d6b7981515c1eb31dc47edbe7a170d5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Configure TVL resources hosted with GleSYS.
#
# Most importantly:
#  - all of our DNS
#  - object storage (e.g. backups)

terraform {
  required_providers {
    glesys = {
      source = "depot/glesys"
    }
  }

  backend "s3" {
    endpoint = "https://objects.dc-sto1.glesys.net"
    bucket   = "tvl-state"
    key      = "terraform/tvl-glesys"
    region   = "glesys"

    skip_credentials_validation = true
    skip_region_validation      = true
    skip_metadata_api_check     = true
  }
}

provider "glesys" {
  userid = "cl26117" # generated by GleSYS
}

resource "glesys_objectstorage_instance" "tvl-backups" {
  description = "tvl-backups"
  datacenter  = "dc-sto1"
}

resource "glesys_objectstorage_instance" "tvl-state" {
  description = "tvl-state"
  datacenter  = "dc-sto1"
}

resource "glesys_objectstorage_credential" "terraform-state" {
  instanceid  = glesys_objectstorage_instance.tvl-state.id
  description = "key for terraform state"
}

resource "glesys_objectstorage_credential" "litestream" {
  instanceid  = glesys_objectstorage_instance.tvl-state.id
  description = "key for litestream"
}

variable "whitby_ipv4" {
  type    = string
  default = "49.12.129.211"
}

variable "whitby_ipv6" {
  type    = string
  default = "2a01:4f8:242:5b21:0:feed:edef:beef"
}

variable "sanduny_ipv4" {
  type    = string
  default = "85.119.82.231"
}

variable "sanduny_ipv6" {
  type    = string
  default = "2001:ba8:1f1:f109::feed:edef:beef"
}

locals {
  # Hostnames of all public services on whitby
  whitby_services = [
    "at",
    "atward",
    "auth",
    "b",
    "cache",
    "cl",
    "code",
    "cs",
    "deploys",
    "images",
    "signup",
    "static",
    "status",
    "todo",
  ]
}