Skip to content

Commit af0b1a4

Browse files
committed
Add service mesh field to Cloud Run v2 Service
1 parent 0461920 commit af0b1a4

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

mmv1/products/cloudrunv2/Service.yaml

+29
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,15 @@ examples:
125125
vars:
126126
cloud_run_service_name: 'cloudrun-service'
127127

128+
- !ruby/object:Provider::Terraform::Examples
129+
name: 'cloudrunv2_service_mesh'
130+
min_version: 'beta'
131+
primary_resource_id: 'default'
132+
primary_resource_name: "fmt.Sprintf(\"tf-test-cloudrun-service-%s\", context[\"random_suffix\"])"
133+
vars:
134+
cloud_run_service_name: 'cloudrun-service'
135+
mesh_name: 'mesh'
136+
128137
parameters:
129138
- !ruby/object:Api::Type::String
130139
name: 'location'
@@ -795,6 +804,17 @@ properties:
795804
# - template.0.volumes.0.secret
796805
# - template.0.volumes.0.cloudSqlInstance
797806
# - template.0.volumes.0.emptyDir
807+
808+
809+
810+
811+
812+
813+
814+
815+
816+
817+
798818
# - template.0.volumes.0.gcs
799819
properties:
800820
- !ruby/object:Api::Type::String
@@ -842,6 +862,15 @@ properties:
842862
name: 'sessionAffinity'
843863
description: |-
844864
Enables session affinity. For more information, go to https://cloud.google.com/run/docs/configuring/session-affinity
865+
- !ruby/object:Api::Type::NestedObject
866+
name: 'serviceMesh'
867+
description: |-
868+
Enables Cloud Service Mesh for this Revision.
869+
properties:
870+
- !ruby/object:Api::Type::String
871+
name: 'mesh'
872+
description: |-
873+
The Mesh resource name. For more information see https://cloud.google.com/service-mesh/docs/reference/network-services/rest/v1/projects.locations.meshes#resource:-mesh.
845874
- !ruby/object:Api::Type::Array
846875
name: 'traffic'
847876
description: |-
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
resource "google_cloud_run_v2_service" "<%= ctx[:primary_resource_id] %>" {
2+
provider = google-beta
3+
name = "<%= ctx[:vars]['cloud_run_service_name'] %>"
4+
5+
location = "us-central1"
6+
launch_stage = "BETA"
7+
8+
template {
9+
containers {
10+
image = "us-docker.pkg.dev/cloudrun/container/hello"
11+
}
12+
service_mesh {
13+
mesh = google_network_services_mesh.mesh.id
14+
}
15+
}
16+
depends_on = [google_project_iam_member.trafficdirector]
17+
}
18+
19+
data "google_project" "project" {
20+
provider = google-beta
21+
}
22+
23+
resource "google_network_services_mesh" "mesh" {
24+
provider = google-beta
25+
name = "<%= ctx[:vars]['mesh_name'] %>"
26+
}
27+
28+
resource "google_project_iam_member" "trafficdirector" {
29+
provider = google-beta
30+
project = data.google_project.project.project_id
31+
role = "roles/trafficdirector.client"
32+
member = "serviceAccount:${data.google_project.project.number}[email protected]"
33+
}

0 commit comments

Comments
 (0)