aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclarkzjw <[email protected]>2022-12-12 19:41:02 -0800
committerclarkzjw <[email protected]>2022-12-12 19:41:02 -0800
commite330106e9e6524fc76c407aa608a60ccef83bbe4 (patch)
treed257f9551a5a1cf900d61f13d1c56a9446b35d9c
parent9eb3ea6f7b615c31d7bf53cf1232823e8b8e8a78 (diff)
downloadjinwei.me-e330106e9e6524fc76c407aa608a60ccef83bbe4.tar.gz
infra: add hetzner example
-rw-r--r--photo.jinwei.me/infra/.terraform.lock.hcl24
-rw-r--r--photo.jinwei.me/infra/main.tf54
2 files changed, 78 insertions, 0 deletions
diff --git a/photo.jinwei.me/infra/.terraform.lock.hcl b/photo.jinwei.me/infra/.terraform.lock.hcl
new file mode 100644
index 0000000..6007472
--- /dev/null
+++ b/photo.jinwei.me/infra/.terraform.lock.hcl
@@ -0,0 +1,24 @@
1# This file is maintained automatically by "terraform init".
2# Manual edits may be lost in future updates.
3
4provider "registry.terraform.io/hetznercloud/hcloud" {
5 version = "1.36.1"
6 constraints = "1.36.1"
7 hashes = [
8 "h1:xZSvxx6aUo0oZp2uqNxi/+wqnCNEBBuu8y7GeXIO9qA=",
9 "zh:16558b25c7f92f187278e94e951b0ab687882b06acff5b1387f3293f27939f8c",
10 "zh:28fc79ac2189ff0f5e6c9535ada8f57552b6e21c978b59dc78e086c27b9e4b23",
11 "zh:373907f9f7f2cefa94e2d5638bf5bef3d3b17e7655dc84dd6089346c6f4f9096",
12 "zh:394716cd877de682a0772d660f1bdb3838c5d751eca2211105d5ede248c48c39",
13 "zh:3c438c6590fcc8ac65a10039b2f5ba9ee379a734cb93a59c6cf74f385d891e87",
14 "zh:3f777a460a62fd23b283c269f1533b3887bf0c5564581e1e96cf294e077f5a8a",
15 "zh:4f62967553d7ce81ec14db7685306b625970ba6640b5764dc0137675ab97af0b",
16 "zh:56da08f8d75f596d6f9da4f0fd16bd60d1733cabcc260e885e1d7a711d6d3d8b",
17 "zh:62776c885bfa8e715dba6662f1744b5251f4cdd523dd4d1e4ccb2e25489593e9",
18 "zh:64cbb68139aa65f95ab3e654d872f9d34ef991fbf667fc30e0f29b96b5e8b4ed",
19 "zh:75a4b7a73ff0a537214d12d820438b7ae7a33d660e5d793f4ae0ebe3152bff00",
20 "zh:7b59d72538772ada7d51eaa50c905285200b1889ab29948b533412ccdf4d18de",
21 "zh:b84eeaa82bf765c6dd945ae83f1a9271fa5fad53b861b18b09cb8deda67dae13",
22 "zh:e81c3ea971e32a6ca3fdb0cd9e644614308ab2cf2a19482dd8a109d67fe3fb6f",
23 ]
24}
diff --git a/photo.jinwei.me/infra/main.tf b/photo.jinwei.me/infra/main.tf
new file mode 100644
index 0000000..aabde19
--- /dev/null
+++ b/photo.jinwei.me/infra/main.tf
@@ -0,0 +1,54 @@
1terraform {
2 required_providers {
3 hcloud = {
4 source = "hetznercloud/hcloud"
5 version = "1.36.1"
6 }
7 }
8}
9
10variable "hcloud_token" {
11 sensitive = true
12}
13
14variable "ip_range" {
15 default = "10.0.1.0/24"
16}
17
18resource "hcloud_ssh_key" "framework" {
19 name = "framework"
20 public_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILS2i5/x9r+cv2j2/SUZ2x2fgQeGnJP1I7PUHC0UdWN6 framework"
21}
22
23data "hcloud_image" "debian" {
24 name = "debian-11"
25}
26
27resource "hcloud_server" "default" {
28 name = "photo"
29 image = data.hcloud_image.debian.name
30 server_type = "cpx11"
31 location = "fsn1"
32 ssh_keys = [hcloud_ssh_key.framework.id]
33
34 public_net {
35 ipv4_enabled = true
36 ipv4 = hcloud_primary_ip.primary_ip_1.id
37 }
38 delete_protection = false
39 rebuild_protection = false
40
41 firewall_ids = [hcloud_firewall.default.id]
42}
43
44resource "hcloud_primary_ip" "primary_ip_1" {
45 name = "primary_ip_test"
46 datacenter = "fsn1-dc14"
47 type = "ipv4"
48 assignee_type = "server"
49 auto_delete = true
50}
51
52resource "hcloud_firewall" "default" {
53 name = "default"
54}
Powered by cgit v1.2.3 (git 2.41.0)