Skip to content

Commit

Permalink
feat: made containers list
Browse files Browse the repository at this point in the history
  • Loading branch information
prabhu34 committed Jun 4, 2024
1 parent a483154 commit c7bf0e8
Show file tree
Hide file tree
Showing 11 changed files with 34 additions and 33 deletions.
7 changes: 4 additions & 3 deletions examples/v2/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,11 @@ module "cloud_run_v2" {
service_name = "ci-cloud-run-v2"
project_id = var.project_id
location = "us-central1"
containers = {
hello-world = {
containers = [
{
container_image = "us-docker.pkg.dev/cloudrun/container/hello"
container_name = "hello-world"
}
}
]
service_account = module.service_account.email
}
10 changes: 5 additions & 5 deletions metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ spec:
source:
repo: https://github.com/GoogleCloudPlatform/terraform-google-cloud-run.git
sourceType: git
version: 0.10.0
version: 0.11.0
actuationTool:
flavor: Terraform
version: ">= 1.3"
Expand Down Expand Up @@ -291,6 +291,10 @@ spec:
description: List of Custom Domain Name
requirements:
roles:
- level: Project
roles:
- roles/accesscontextmanager.policyAdmin
- roles/orgpolicy.policyAdmin
- level: Project
roles:
- roles/owner
Expand All @@ -299,10 +303,6 @@ spec:
- roles/resourcemanager.folderAdmin
- roles/resourcemanager.projectCreator
- roles/resourcemanager.projectDeleter
- level: Project
roles:
- roles/accesscontextmanager.policyAdmin
- roles/orgpolicy.policyAdmin
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
Expand Down
2 changes: 1 addition & 1 deletion modules/job-exec/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ spec:
repo: https://github.com/GoogleCloudPlatform/terraform-google-cloud-run.git
sourceType: git
dir: /modules/job-exec
version: 0.10.0
version: 0.11.0
actuationTool:
flavor: Terraform
version: ">= 0.13"
Expand Down
10 changes: 5 additions & 5 deletions modules/secure-cloud-run-core/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ spec:
repo: https://github.com/GoogleCloudPlatform/terraform-google-cloud-run.git
sourceType: git
dir: /modules/secure-cloud-run-core
version: 0.10.0
version: 0.11.0
actuationTool:
flavor: Terraform
version: ">= 0.13"
Expand Down Expand Up @@ -296,10 +296,6 @@ spec:
description: The URL on which the deployed service is available.
requirements:
roles:
- level: Project
roles:
- roles/accesscontextmanager.policyAdmin
- roles/orgpolicy.policyAdmin
- level: Project
roles:
- roles/owner
Expand All @@ -308,6 +304,10 @@ spec:
- roles/resourcemanager.folderAdmin
- roles/resourcemanager.projectCreator
- roles/resourcemanager.projectDeleter
- level: Project
roles:
- roles/accesscontextmanager.policyAdmin
- roles/orgpolicy.policyAdmin
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
Expand Down
10 changes: 5 additions & 5 deletions modules/secure-cloud-run-security/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ spec:
repo: https://github.com/GoogleCloudPlatform/terraform-google-cloud-run.git
sourceType: git
dir: /modules/secure-cloud-run-security
version: 0.10.0
version: 0.11.0
actuationTool:
flavor: Terraform
version: ">= 0.13"
Expand Down Expand Up @@ -123,6 +123,10 @@ spec:
description: Self link of the keyring.
requirements:
roles:
- level: Project
roles:
- roles/accesscontextmanager.policyAdmin
- roles/orgpolicy.policyAdmin
- level: Project
roles:
- roles/owner
Expand All @@ -131,10 +135,6 @@ spec:
- roles/resourcemanager.folderAdmin
- roles/resourcemanager.projectCreator
- roles/resourcemanager.projectDeleter
- level: Project
roles:
- roles/accesscontextmanager.policyAdmin
- roles/orgpolicy.policyAdmin
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
Expand Down
12 changes: 6 additions & 6 deletions modules/secure-cloud-run/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ spec:
repo: https://github.com/GoogleCloudPlatform/terraform-google-cloud-run.git
sourceType: git
dir: /modules/secure-cloud-run
version: 0.10.0
version: 0.11.0
actuationTool:
flavor: Terraform
version: ">= 0.13"
Expand Down Expand Up @@ -240,18 +240,18 @@ spec:
description: Url of the created service.
requirements:
roles:
- level: Project
roles:
- roles/resourcemanager.folderAdmin
- roles/resourcemanager.projectCreator
- roles/resourcemanager.projectDeleter
- level: Project
roles:
- roles/accesscontextmanager.policyAdmin
- roles/orgpolicy.policyAdmin
- level: Project
roles:
- roles/owner
- level: Project
roles:
- roles/resourcemanager.folderAdmin
- roles/resourcemanager.projectCreator
- roles/resourcemanager.projectDeleter
services:
- cloudresourcemanager.googleapis.com
- storage-api.googleapis.com
Expand Down
2 changes: 1 addition & 1 deletion modules/secure-serverless-harness/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ spec:
repo: https://github.com/GoogleCloudPlatform/terraform-google-cloud-run.git
sourceType: git
dir: /modules/secure-serverless-harness
version: 0.10.0
version: 0.11.0
actuationTool:
flavor: Terraform
version: ">= 0.13"
Expand Down
2 changes: 1 addition & 1 deletion modules/secure-serverless-net/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ spec:
repo: https://github.com/GoogleCloudPlatform/terraform-google-cloud-run.git
sourceType: git
dir: /modules/secure-serverless-net
version: 0.10.0
version: 0.11.0
actuationTool:
flavor: Terraform
version: ">= 0.13"
Expand Down
4 changes: 2 additions & 2 deletions modules/v2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Functional examples are included in the
|------|-------------|------|---------|:--------:|
| binary\_authorization | Settings for the Binary Authorization feature. | <pre>object({<br> breakglass_justification = optional(bool) # If present, indicates to use Breakglass using this justification. If useDefault is False, then it must be empty. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass<br> use_default = optional(bool) #If True, indicates to use the default project's binary authorization policy. If False, binary authorization will be disabled.<br> })</pre> | `null` | no |
| client | Arbitrary identifier for the API client and version identifier | <pre>object({<br> name = optional(string, null)<br> version = optional(string, null)<br> })</pre> | `{}` | no |
| containers | Map of container images for the service | <pre>map(object({<br> container_name = optional(string, null)<br> container_image = string<br> working_dir = optional(string, null)<br> depends_on_container = optional(list(string), null)<br> container_args = optional(list(string), null)<br> container_command = optional(list(string), null)<br> env_vars = optional(map(string), {})<br> env_secret_vars = optional(map(object({<br> secret = string<br> version = string<br> })), {})<br> volume_mounts = optional(list(object({<br> name = string<br> mount_path = string<br> })), [])<br> ports = optional(object({<br> name = optional(string)<br> container_port = optional(number)<br> }), {<br> name = "http1"<br> container_port = 8080<br> })<br> resources = optional(object({<br> limits = optional(object({<br> cpu = optional(string)<br> memory = optional(string)<br> }))<br> cpu_idle = optional(bool, true)<br> startup_cpu_boost = optional(bool, false)<br> }), {})<br> startup_probe = optional(object({<br> failure_threshold = optional(number, null)<br> initial_delay_seconds = optional(number, null)<br> timeout_seconds = optional(number, null)<br> period_seconds = optional(number, null)<br> http_get = optional(object({<br> path = optional(string)<br> port = optional(string)<br> http_headers = optional(list(object({<br> name = string<br> value = string<br> })), null)<br> }), null)<br> tcp_socket = optional(object({<br> port = optional(number)<br> }), null)<br> grpc = optional(object({<br> port = optional(number)<br> service = optional(string)<br> }), null)<br> }), null)<br> liveness_probe = optional(object({<br> failure_threshold = optional(number, null)<br> initial_delay_seconds = optional(number, null)<br> timeout_seconds = optional(number, null)<br> period_seconds = optional(number, null)<br> http_get = optional(object({<br> path = optional(string)<br> port = optional(string)<br> http_headers = optional(list(object({<br> name = string<br> value = string<br> })), null)<br> }), null)<br> grpc = optional(object({<br> port = optional(number)<br> service = optional(string)<br> }), null)<br> }), null)<br> }))</pre> | n/a | yes |
| containers | Map of container images for the service | <pre>list(object({<br> container_name = optional(string, null)<br> container_image = string<br> working_dir = optional(string, null)<br> depends_on_container = optional(list(string), null)<br> container_args = optional(list(string), null)<br> container_command = optional(list(string), null)<br> env_vars = optional(map(string), {})<br> env_secret_vars = optional(map(object({<br> secret = string<br> version = string<br> })), {})<br> volume_mounts = optional(list(object({<br> name = string<br> mount_path = string<br> })), [])<br> ports = optional(object({<br> name = optional(string)<br> container_port = optional(number)<br> }), {<br> name = "http1"<br> container_port = 8080<br> })<br> resources = optional(object({<br> limits = optional(object({<br> cpu = optional(string)<br> memory = optional(string)<br> }))<br> cpu_idle = optional(bool, true)<br> startup_cpu_boost = optional(bool, false)<br> }), {})<br> startup_probe = optional(object({<br> failure_threshold = optional(number, null)<br> initial_delay_seconds = optional(number, null)<br> timeout_seconds = optional(number, null)<br> period_seconds = optional(number, null)<br> http_get = optional(object({<br> path = optional(string)<br> port = optional(string)<br> http_headers = optional(list(object({<br> name = string<br> value = string<br> })), null)<br> }), null)<br> tcp_socket = optional(object({<br> port = optional(number)<br> }), null)<br> grpc = optional(object({<br> port = optional(number)<br> service = optional(string)<br> }), null)<br> }), null)<br> liveness_probe = optional(object({<br> failure_threshold = optional(number, null)<br> initial_delay_seconds = optional(number, null)<br> timeout_seconds = optional(number, null)<br> period_seconds = optional(number, null)<br> http_get = optional(object({<br> path = optional(string)<br> port = optional(string)<br> http_headers = optional(list(object({<br> name = string<br> value = string<br> })), null)<br> }), null)<br> grpc = optional(object({<br> port = optional(number)<br> service = optional(string)<br> }), null)<br> }), null)<br> }))</pre> | n/a | yes |
| custom\_audiences | One or more custom audiences that you want this service to support. Specify each custom audience as the full URL in a string. Refer https://cloud.google.com/run/docs/configuring/custom-audiences | `list(string)` | `null` | no |
| description | Cloud Run service description. This field currently has a 512-character limit. | `string` | `null` | no |
| encryption\_key | A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. | `string` | `null` | no |
Expand All @@ -63,7 +63,7 @@ Functional examples are included in the
| template\_scaling | Scaling settings for this Revision. | <pre>object({<br> min_instance_count = optional(number)<br> max_instance_count = optional(number)<br> })</pre> | `{}` | no |
| timeout | Max allowed time for an instance to respond to a request. A duration in seconds with up to nine fractional digits, ending with 's' | `string` | `null` | no |
| traffic | Specifies how to distribute traffic over a collection of Revisions belonging to the Service. If traffic is empty or not provided, defaults to 100% traffic to the latest Ready Revision. | <pre>list(object({<br> type = optional(string, "TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST")<br> percent = optional(number, 100)<br> revision = optional(string, null)<br> tag = optional(string, null)<br> }))</pre> | `[]` | no |
| volumes | [Beta] Volumes needed for environment variables (when using secret) | <pre>list(object({<br> name = string<br> secret = object({<br> secret = string<br> default_mode = optional(string)<br> items = optional(object({<br> path = string<br> version = optional(string)<br> mode = optional(string)<br> }))<br> })<br> cloud_sql_instance = optional(object({<br> instances = optional(string)<br> }))<br> empty_dir = optional(object({<br> medium = optional(string)<br> size_limit = optional(string)<br> }))<br> gcs = optional(object({<br> bucket = string<br> read_only = optional(string)<br> }))<br> nfs = optional(object({<br> server = string<br> path = string<br> read_only = optional(string)<br> }))<br> }))</pre> | `[]` | no |
| volumes | Volumes needed for environment variables (when using secret) | <pre>list(object({<br> name = string<br> secret = object({<br> secret = string<br> default_mode = optional(string)<br> items = optional(object({<br> path = string<br> version = optional(string)<br> mode = optional(string)<br> }))<br> })<br> cloud_sql_instance = optional(object({<br> instances = optional(string)<br> }))<br> empty_dir = optional(object({<br> medium = optional(string)<br> size_limit = optional(string)<br> }))<br> gcs = optional(object({<br> bucket = string<br> read_only = optional(string)<br> }))<br> nfs = optional(object({<br> server = string<br> path = string<br> read_only = optional(string)<br> }))<br> }))</pre> | `[]` | no |
| vpc\_access | VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc | <pre>object({<br> connector = optional(string)<br> egress = optional(string)<br> network_interfaces = optional(object({<br> network = optional(string)<br> subnetwork = optional(string)<br> tags = optional(list(string))<br> }))<br> })</pre> | `{}` | no |

## Outputs
Expand Down
4 changes: 2 additions & 2 deletions modules/v2/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ spec:
- name: containers
description: Map of container images for the service
varType: |-
map(object({
list(object({
container_name = optional(string, null)
container_image = string
working_dir = optional(string, null)
Expand Down Expand Up @@ -231,7 +231,7 @@ spec:
}))
defaultValue: []
- name: volumes
description: "[Beta] Volumes needed for environment variables (when using secret)"
description: Volumes needed for environment variables (when using secret)
varType: |-
list(object({
name = string
Expand Down
4 changes: 2 additions & 2 deletions modules/v2/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -225,13 +225,13 @@ variable "volumes" {
read_only = optional(string)
}))
}))
description = "[Beta] Volumes needed for environment variables (when using secret)"
description = "Volumes needed for environment variables (when using secret)"
default = []
}

// Containers
variable "containers" {
type = map(object({
type = list(object({
container_name = optional(string, null)
container_image = string
working_dir = optional(string, null)
Expand Down

0 comments on commit c7bf0e8

Please sign in to comment.