Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@
"**/CLAUDE.md",
".github/copilot-instructions.md"
]
}
}
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
markdownlint-cli2 0.21.0
terraform 1.5.6
terraform-docs 0.21.0
3 changes: 0 additions & 3 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,12 @@
"adam-bender.commit-message-editor",
"bierner.markdown-preview-github-styles",
"DavidAnson.vscode-markdownlint",
"eamodio.gitlens",
"foxundermoon.shell-format",
"github.vscode-github-actions",
"hashicorp.terraform",
"mikestead.dotenv",
"ms-python.python",
"ms-python.vscode-pylance",
"shardulm94.trailing-spaces",
"sourcegraph.cody-ai",
"streetsidesoftware.code-spell-checker",
"timonwong.shellcheck"
]
Expand Down
10 changes: 6 additions & 4 deletions AppRunner/SPECS.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
| Name | Source | Version |
|------|--------|---------|
| <a name="module_apprunner_access_role"></a> [apprunner\_access\_role](#module\_apprunner\_access\_role) | git::git@github.com:generalui/terraform-accelerator.git//IamRole | 1.0.1-IamRole |
| <a name="module_ecr_access_policy"></a> [ecr\_access\_policy](#module\_ecr\_access\_policy) | git::git@github.com:ohgod-ai/eo-terraform.git//IamPolicy | 1.0.1-IamPolicy |
| <a name="module_ecr_access_policy"></a> [ecr\_access\_policy](#module\_ecr\_access\_policy) | git::git@github.com:generalui/terraform-accelerator.git//IamPolicy | 1.0.1-IamPolicy |
| <a name="module_this"></a> [this](#module\_this) | git::git@github.com:generalui/terraform-accelerator.git//Label | 1.0.1-Label |

## Resources
Expand All @@ -34,10 +34,10 @@
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_access_role_arn"></a> [access\_role\_arn](#input\_access\_role\_arn) | ARN of IAM role for App Runner to pull the image from ECR. Required for private ECR when not creating a role. When null and ecr\_repository\_arn is set, the module creates a role. | `string` | `null` | no |
| <a name="input_attributes"></a> [attributes](#input\_attributes) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`,<br>in the order they appear in the list. New attributes are appended to the<br>end of the list. The elements of the list are joined by the `delimiter`<br>and treated as a single ID element. | `list(string)` | `[]` | no |
| <a name="input_attributes"></a> [attributes](#input\_attributes) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`,<br/>in the order they appear in the list. New attributes are appended to the<br/>end of the list. The elements of the list are joined by the `delimiter`<br/>and treated as a single ID element. | `list(string)` | `[]` | no |
| <a name="input_auto_deployments_enabled"></a> [auto\_deployments\_enabled](#input\_auto\_deployments\_enabled) | Whether automatic deployments from the source repository are enabled (e.g. new image tag). | `bool` | `false` | no |
| <a name="input_certificate_arn"></a> [certificate\_arn](#input\_certificate\_arn) | ARN of ACM certificate for the custom domain. Required when custom\_domain\_name is set if the certificate is not in us-east-1 (App Runner uses us-east-1 for cert validation in some cases). | `string` | `null` | no |
| <a name="input_context"></a> [context](#input\_context) | Single object for setting entire context at once.<br>See description of individual variables for details.<br>Leave string and numeric variables as `null` to use default value.<br>Individual variable settings (non-null) override settings in context object,<br>except for attributes and tags, which are merged. | `any` | <pre>{<br> "attributes": [],<br> "enabled": true,<br> "name": null,<br> "namespace": null,<br> "stage": null,<br> "tags": {}<br>}</pre> | no |
| <a name="input_context"></a> [context](#input\_context) | Single object for setting entire context at once.<br/>See description of individual variables for details.<br/>Leave string and numeric variables as `null` to use default value.<br/>Individual variable settings (non-null) override settings in context object,<br/>except for attributes and tags, which are merged. | `any` | <pre>{<br/> "attributes": [],<br/> "enabled": true,<br/> "name": null,<br/> "namespace": null,<br/> "stage": null,<br/> "tags": {}<br/>}</pre> | no |
| <a name="input_cpu"></a> [cpu](#input\_cpu) | Number of CPU units for each instance. Valid values: 256, 512, 1024, 2048, 4096 (or 0.25, 0.5, 1, 2, 4 vCPU). | `string` | `"1024"` | no |
| <a name="input_custom_domain_name"></a> [custom\_domain\_name](#input\_custom\_domain\_name) | Custom domain name to associate with the App Runner service (e.g. app.example.com). | `string` | `null` | no |
| <a name="input_ecr_repository_arn"></a> [ecr\_repository\_arn](#input\_ecr\_repository\_arn) | ARN of the ECR repository. Used only when access\_role\_arn is null to create an access role with least-privilege ECR pull for this repository. | `string` | `null` | no |
Expand All @@ -52,7 +52,9 @@
| <a name="input_namespace"></a> [namespace](#input\_namespace) | ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp', to help ensure generated IDs are globally unique | `string` | `null` | no |
| <a name="input_port"></a> [port](#input\_port) | Port that your application listens to in the container. | `string` | `"8080"` | no |
| <a name="input_project"></a> [project](#input\_project) | Project name. | `string` | `"apprunner"` | no |
| <a name="input_tags"></a> [tags](#input\_tags) | Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`).<br>Neither the tag keys nor the tag values will be modified by this module. | `map(string)` | `{}` | no |
| <a name="input_runtime_environment_secrets"></a> [runtime\_environment\_secrets](#input\_runtime\_environment\_secrets) | Secrets for the running service: map of env var name to Secrets Manager secret ARN or SSM Parameter Store parameter ARN. | `map(string)` | `{}` | no |
| <a name="input_runtime_environment_variables"></a> [runtime\_environment\_variables](#input\_runtime\_environment\_variables) | Environment variables for the running service (key-value). Non-sensitive only; for secrets use runtime\_environment\_secrets. | `map(string)` | `{}` | no |
| <a name="input_tags"></a> [tags](#input\_tags) | Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`).<br/>Neither the tag keys nor the tag values will be modified by this module. | `map(string)` | `{}` | no |
| <a name="input_vpc_connector_arn"></a> [vpc\_connector\_arn](#input\_vpc\_connector\_arn) | ARN of an existing App Runner VPC connector. If set, used instead of creating one (vpc\_connector\_subnet\_ids and vpc\_connector\_security\_group\_ids are ignored). | `string` | `null` | no |
| <a name="input_vpc_connector_security_group_ids"></a> [vpc\_connector\_security\_group\_ids](#input\_vpc\_connector\_security\_group\_ids) | List of security group IDs for the VPC connector. Required when vpc\_connector\_subnet\_ids is set. | `list(string)` | `null` | no |
| <a name="input_vpc_connector_subnet_ids"></a> [vpc\_connector\_subnet\_ids](#input\_vpc\_connector\_subnet\_ids) | List of subnet IDs for the VPC connector. When set, a VPC connector is created and the service egress is set to VPC. | `list(string)` | `null` | no |
Expand Down
58 changes: 58 additions & 0 deletions AppRunner/example/SPECS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<!-- BEGIN_TF_DOCS -->
## Requirements

| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.1.0 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.0 |
| <a name="requirement_docker"></a> [docker](#requirement\_docker) | ~> 3.0 |

## Providers

| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.0 |
| <a name="provider_docker"></a> [docker](#provider\_docker) | ~> 3.0 |
| <a name="provider_time"></a> [time](#provider\_time) | n/a |

## Modules

| Name | Source | Version |
|------|--------|---------|
| <a name="module_apprunner"></a> [apprunner](#module\_apprunner) | ../ | n/a |
| <a name="module_ecr"></a> [ecr](#module\_ecr) | git::git@github.com:generalui/terraform-accelerator.git//ECR | 1.0.1-ECR |
| <a name="module_this"></a> [this](#module\_this) | git::git@github.com:generalui/terraform-accelerator.git//Label | 1.0.1-Label |

## Resources

| Name | Type |
|------|------|
| [docker_image.this](https://registry.terraform.io/providers/kreuzwerker/docker/latest/docs/resources/image) | resource |
| [docker_registry_image.this](https://registry.terraform.io/providers/kreuzwerker/docker/latest/docs/resources/registry_image) | resource |
| [time_static.activation_date](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/static) | resource |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [aws_ecr_authorization_token.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ecr_authorization_token) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_attributes"></a> [attributes](#input\_attributes) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`,<br/>in the order they appear in the list. New attributes are appended to the<br/>end of the list. The elements of the list are joined by the `delimiter`<br/>and treated as a single ID element. | `list(string)` | `[]` | no |
| <a name="input_aws_profile"></a> [aws\_profile](#input\_aws\_profile) | AWS profile name from shared credentials file. | `string` | `"default"` | no |
| <a name="input_aws_region"></a> [aws\_region](#input\_aws\_region) | AWS region. | `string` | `"us-west-2"` | no |
| <a name="input_context"></a> [context](#input\_context) | Single object for setting entire context at once.<br/>See description of individual variables for details.<br/>Leave string and numeric variables as `null` to use default value.<br/>Individual variable settings (non-null) override settings in context object,<br/>except for attributes and tags, which are merged. | `any` | <pre>{<br/> "attributes": [],<br/> "enabled": true,<br/> "name": null,<br/> "namespace": null,<br/> "stage": null,<br/> "tags": {}<br/>}</pre> | no |
| <a name="input_enabled"></a> [enabled](#input\_enabled) | Set to false to prevent the module from creating any resources | `bool` | `null` | no |
| <a name="input_environment_name"></a> [environment\_name](#input\_environment\_name) | Environment name, e.g. prod, staging, dev. | `string` | `"test"` | no |
| <a name="input_namespace"></a> [namespace](#input\_namespace) | ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp', to help ensure generated IDs are globally unique | `string` | `"xmpl"` | no |
| <a name="input_project"></a> [project](#input\_project) | Project name. | `string` | `"apprunner"` | no |
| <a name="input_tags"></a> [tags](#input\_tags) | Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`).<br/>Neither the tag keys nor the tag values will be modified by this module. | `map(string)` | `{}` | no |

## Outputs

| Name | Description |
|------|-------------|
| <a name="output_ecr_repository_url"></a> [ecr\_repository\_url](#output\_ecr\_repository\_url) | ECR repository URL. |
| <a name="output_service_id"></a> [service\_id](#output\_service\_id) | App Runner service ID. |
| <a name="output_service_status"></a> [service\_status](#output\_service\_status) | App Runner service status. |
| <a name="output_service_url"></a> [service\_url](#output\_service\_url) | App Runner service URL (HTTPS). |
<!-- END_TF_DOCS -->
2 changes: 1 addition & 1 deletion AppRunner/iam.tf
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ module "apprunner_access_role" {
module "ecr_access_policy" {
count = local.create_access_role ? 1 : 0

source = "git::git@github.com:ohgod-ai/eo-terraform.git//IamPolicy?ref=1.0.1-IamPolicy"
source = "git::git@github.com:generalui/terraform-accelerator.git//IamPolicy?ref=1.0.1-IamPolicy"

iam_policy_enabled = true
name = "ecr-access"
Expand Down
2 changes: 1 addition & 1 deletion AppRunner/project.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "1.0.2"
"version": "1.0.3"
}
2 changes: 1 addition & 1 deletion ta.code-workspace
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"editor.wordWrap": "on",
"files.associations": {
".env-*": "dotenv",
".markdownlintignore": "ignore",
".markdownlint-cli2.jsonc": "json",
"*.tfstate.backup": "jsonc",
"*.hcl": "terraform",
"*.tf": "terraform",
Expand Down
Loading