-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tf
70 lines (65 loc) · 1.87 KB
/
main.tf
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
terraform{
}
provider "google" {
project = var.project_id
region = "us-central1"
zone = "us-central1-c"
}
resource "google_cloud_run_service" "my_service" {
name = "my-service"
location = "us-central1"
template {
spec {
containers {
image = "us-docker.pkg.dev/cloudrun/container/hello"
}
}
}
}
data "google_iam_policy" "admin" {
binding {
role = "roles/run.invoker"
members = [
"allUsers",
]
}
}
resource "google_cloud_run_service_iam_policy" "my_service_invoker" {
location = google_cloud_run_service.my_service.location
project = google_cloud_run_service.my_service.project
service = google_cloud_run_service.my_service.name
policy_data = data.google_iam_policy.admin.policy_data
}
resource "google_compute_backend_service" "my_backend_service" {
name = "my-backend-service"
backend {
group = google_compute_region_network_endpoint_group.cloudrun_neg.id
}
project = var.project_id
}
resource "google_compute_region_network_endpoint_group" "cloudrun_neg" {
name = "cloudrun-neg"
network_endpoint_type = "SERVERLESS"
region = "us-central1"
cloud_run {
service = google_cloud_run_service.my_service.name
}
}
resource "google_compute_url_map" "my_url_map" {
name = "my-url-map"
default_service = google_compute_backend_service.my_backend_service.self_link
project = var.project_id
}
resource "google_compute_target_http_proxy" "my_target_proxy" {
name = "my-target-proxy"
url_map = google_compute_url_map.my_url_map.self_link
project = var.project_id
}
resource "google_compute_global_forwarding_rule" "my_forwarding_rule" {
name = "my-forwarding-rule"
port_range = "80"
target = google_compute_target_http_proxy.my_target_proxy.self_link
ip_protocol = "TCP"
}
variable "project_id" {
}