Add an API gateway.
This commit is contained in:
parent
f0160a8abd
commit
f9d3c551f0
@ -14,4 +14,5 @@ resource "google_artifact_registry_repository" "docker_repo" {
|
||||
}
|
||||
}
|
||||
}
|
||||
depends_on = [google_project_service.service["artifactregistry"], ]
|
||||
}
|
||||
|
55
terraform/gateway.tf
Normal file
55
terraform/gateway.tf
Normal file
@ -0,0 +1,55 @@
|
||||
resource "google_api_gateway_api" "api" {
|
||||
provider = google-beta
|
||||
project = google_project.project.project_id
|
||||
api_id = "the-gateway"
|
||||
depends_on = [google_project_service.service["apigateway"], ]
|
||||
}
|
||||
|
||||
resource "google_api_gateway_api_config" "api_config" {
|
||||
provider = google-beta
|
||||
project = google_project.project.project_id
|
||||
api = google_api_gateway_api.api.api_id
|
||||
api_config_id = "api-config"
|
||||
|
||||
openapi_documents {
|
||||
document {
|
||||
path = "spec.yaml"
|
||||
contents = base64encode(<<-EOF
|
||||
swagger: "2.0"
|
||||
info:
|
||||
title: the-gateway foo
|
||||
description: "Run auth through Google API Gateway."
|
||||
version: "1.0.0"
|
||||
schemes:
|
||||
- "https"
|
||||
produces:
|
||||
- application/json
|
||||
x-google-backend:
|
||||
address: ${google_cloud_run_v2_service.api_server.uri}
|
||||
paths:
|
||||
"/":
|
||||
get:
|
||||
description: "Hello World."
|
||||
operationId: "helloWorld"
|
||||
responses:
|
||||
200:
|
||||
description: "Success."
|
||||
schema:
|
||||
type: string
|
||||
EOF
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "google_api_gateway_gateway" "gateway" {
|
||||
provider = google-beta
|
||||
project = google_project.project.project_id
|
||||
api_config = google_api_gateway_api_config.api_config.id
|
||||
gateway_id = "gateway-to-the-api"
|
||||
}
|
||||
|
||||
|
||||
output "gateway_address" {
|
||||
value = google_api_gateway_gateway.gateway.default_hostname
|
||||
}
|
@ -74,7 +74,7 @@ resource "google_project" "project" {
|
||||
|
||||
resource "google_project_service" "service" {
|
||||
project = google_project.project.project_id
|
||||
for_each = toset(["run"])
|
||||
for_each = toset(["run", "artifactregistry", "apigateway"])
|
||||
service = "${each.key}.googleapis.com"
|
||||
disable_dependent_services = true
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user