-
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update to TF 0.12/0.13. Update to
context.tf
. Update tests to go
…
…modules. Update example (#7) * Update to TF 0.12/0.13. Update to `context.tf`. Update tests to `go` modules. Update example * Updates * Updates * Updates
- Loading branch information
Showing
31 changed files
with
935 additions
and
339 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
name: chatops | ||
on: | ||
issue_comment: | ||
types: [created] | ||
types: [ created ] | ||
|
||
jobs: | ||
default: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,9 +5,6 @@ | |
*.tfstate | ||
*.tfstate.* | ||
|
||
# .tfvars files | ||
*.tfvars | ||
|
||
# IDE files | ||
.idea | ||
*.iml | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
SHELL := /bin/bash | ||
|
||
# List of targets the `readme` target should call before generating the readme | ||
export README_DEPS ?= docs/terraform.md | ||
export README_DEPS ?= docs/targets.md docs/terraform.md | ||
|
||
-include $(shell curl -sSL -o .build-harness "https://git.io/build-harness"; echo .build-harness) | ||
|
||
## Lint terraform code | ||
lint: | ||
$(SELF) terraform/install terraform/get-modules terraform/get-plugins terraform/lint terraform/validate | ||
$(SELF) terraform/install terraform/get-modules terraform/get-plugins terraform/lint terraform/validate |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,167 @@ | ||
# | ||
# ONLY EDIT THIS FILE IN github.com/cloudposse/terraform-null-label | ||
# All other instances of this file should be a copy of that one | ||
# | ||
# | ||
# Copy this file from https://github.com/cloudposse/terraform-null-label/blob/master/exports/context.tf | ||
# and then place it in your Terraform module to automatically get | ||
# Cloud Posse's standard configuration inputs suitable for passing | ||
# to Cloud Posse modules. | ||
# | ||
# Modules should access the whole context as `module.this.context` | ||
# to get the input variables with nulls for defaults, | ||
# for example `context = module.this.context`, | ||
# and access individual variables as `module.this.<var>`, | ||
# with final values filled in. | ||
# | ||
# For example, when using defaults, `module.this.context.delimiter` | ||
# will be null, and `module.this.delimiter` will be `-` (hyphen). | ||
# | ||
|
||
module "this" { | ||
source = "git::https://github.com/cloudposse/terraform-null-label.git?ref=tags/0.19.2" | ||
|
||
enabled = var.enabled | ||
namespace = var.namespace | ||
environment = var.environment | ||
stage = var.stage | ||
name = var.name | ||
delimiter = var.delimiter | ||
attributes = var.attributes | ||
tags = var.tags | ||
additional_tag_map = var.additional_tag_map | ||
label_order = var.label_order | ||
regex_replace_chars = var.regex_replace_chars | ||
id_length_limit = var.id_length_limit | ||
|
||
context = var.context | ||
} | ||
|
||
# Copy contents of cloudposse/terraform-null-label/variables.tf here | ||
|
||
variable "context" { | ||
type = object({ | ||
enabled = bool | ||
namespace = string | ||
environment = string | ||
stage = string | ||
name = string | ||
delimiter = string | ||
attributes = list(string) | ||
tags = map(string) | ||
additional_tag_map = map(string) | ||
regex_replace_chars = string | ||
label_order = list(string) | ||
id_length_limit = number | ||
}) | ||
default = { | ||
enabled = true | ||
namespace = null | ||
environment = null | ||
stage = null | ||
name = null | ||
delimiter = null | ||
attributes = [] | ||
tags = {} | ||
additional_tag_map = {} | ||
regex_replace_chars = null | ||
label_order = [] | ||
id_length_limit = null | ||
} | ||
description = <<-EOT | ||
Single object for setting entire context at once. | ||
See description of individual variables for details. | ||
Leave string and numeric variables as `null` to use default value. | ||
Individual variable settings (non-null) override settings in context object, | ||
except for attributes, tags, and additional_tag_map, which are merged. | ||
EOT | ||
} | ||
|
||
variable "enabled" { | ||
type = bool | ||
default = null | ||
description = "Set to false to prevent the module from creating any resources" | ||
} | ||
|
||
variable "namespace" { | ||
type = string | ||
default = null | ||
description = "Namespace, which could be your organization name or abbreviation, e.g. 'eg' or 'cp'" | ||
} | ||
|
||
variable "environment" { | ||
type = string | ||
default = null | ||
description = "Environment, e.g. 'uw2', 'us-west-2', OR 'prod', 'staging', 'dev', 'UAT'" | ||
} | ||
|
||
variable "stage" { | ||
type = string | ||
default = null | ||
description = "Stage, e.g. 'prod', 'staging', 'dev', OR 'source', 'build', 'test', 'deploy', 'release'" | ||
} | ||
|
||
variable "name" { | ||
type = string | ||
default = null | ||
description = "Solution name, e.g. 'app' or 'jenkins'" | ||
} | ||
|
||
variable "delimiter" { | ||
type = string | ||
default = null | ||
description = <<-EOT | ||
Delimiter to be used between `namespace`, `environment`, `stage`, `name` and `attributes`. | ||
Defaults to `-` (hyphen). Set to `""` to use no delimiter at all. | ||
EOT | ||
} | ||
|
||
variable "attributes" { | ||
type = list(string) | ||
default = [] | ||
description = "Additional attributes (e.g. `1`)" | ||
} | ||
|
||
variable "tags" { | ||
type = map(string) | ||
default = {} | ||
description = "Additional tags (e.g. `map('BusinessUnit','XYZ')`" | ||
} | ||
|
||
variable "additional_tag_map" { | ||
type = map(string) | ||
default = {} | ||
description = "Additional tags for appending to tags_as_list_of_maps. Not added to `tags`." | ||
} | ||
|
||
variable "label_order" { | ||
type = list(string) | ||
default = null | ||
description = <<-EOT | ||
The naming order of the id output and Name tag. | ||
Defaults to ["namespace", "environment", "stage", "name", "attributes"]. | ||
You can omit any of the 5 elements, but at least one must be present. | ||
EOT | ||
} | ||
|
||
variable "regex_replace_chars" { | ||
type = string | ||
default = null | ||
description = <<-EOT | ||
Regex to replace chars with empty string in `namespace`, `environment`, `stage` and `name`. | ||
If not set, `"/[^a-zA-Z0-9-]/"` is used to remove all characters other than hyphens, letters and digits. | ||
EOT | ||
} | ||
|
||
variable "id_length_limit" { | ||
type = number | ||
default = null | ||
description = <<-EOT | ||
Limit `id` to this many characters. | ||
Set to `0` for unlimited length. | ||
Set to `null` for default, which is `0`. | ||
Does not affect `id_full`. | ||
EOT | ||
} | ||
|
||
#### End of copy of cloudposse/terraform-null-label/variables.tf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,51 @@ | ||
<!-- markdownlint-disable --> | ||
## Requirements | ||
|
||
| Name | Version | | ||
|------|---------| | ||
| terraform | >= 0.12.0 | | ||
| aws | >= 2.0 | | ||
| null | >= 2.0 | | ||
|
||
## Providers | ||
|
||
| Name | Version | | ||
|------|---------| | ||
| aws | >= 2.0 | | ||
|
||
## Inputs | ||
|
||
| Name | Description | Type | Default | Required | | ||
|------|-------------|:----:|:-----:|:-----:| | ||
| attributes | Additional attributes (e.g. `1`) | list | `<list>` | no | | ||
| bucket_arn | ARN of S3 bucket | string | - | yes | | ||
| delimiter | Delimiter to be used between `namespace`, `stage`, `name` and `attributes` | string | `-` | no | | ||
| enabled | Set to `false` to prevent the module from creating any resources | string | `true` | no | | ||
| max_session_duration | The maximum session duration (in seconds) for the role. Can have a value from 1 hour to 12 hours | string | `3600` | no | | ||
| name | Name (e.g. `app` or `chamber`) | string | - | yes | | ||
| namespace | Namespace (e.g. `cp` or `cloudposse`) | string | - | yes | | ||
| policy_description | The description of the IAM policy that is visible in the IAM policy manager | string | `Access to S3 bucket` | no | | ||
| principals_arns | List of ARNs to allow assuming the role. Could be AWS services or accounts, Kops nodes, IAM users or groups | list | `<list>` | no | | ||
| read_only | Set to `true` to deny write actions for bucket | string | `false` | no | | ||
| role_description | The description of the IAM role that is visible in the IAM role manager | string | `Role to access to S3 bucket` | no | | ||
| role_enabled | Set to `false` to prevent the module from creating IAM role | string | `true` | no | | ||
| services | Names of chamber services | list | `<list>` | no | | ||
| stage | Stage (e.g. `prod`, `dev`, `staging`) | string | - | yes | | ||
| tags | Additional tags (e.g. map(`BusinessUnit`,`XYZ`) | map | `<map>` | no | | ||
|------|-------------|------|---------|:--------:| | ||
| additional\_tag\_map | Additional tags for appending to tags\_as\_list\_of\_maps. Not added to `tags`. | `map(string)` | `{}` | no | | ||
| attributes | Additional attributes (e.g. `1`) | `list(string)` | `[]` | no | | ||
| bucket\_arn | ARN of S3 bucket | `string` | n/a | yes | | ||
| 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, tags, and additional\_tag\_map, which are merged. | <pre>object({<br> enabled = bool<br> namespace = string<br> environment = string<br> stage = string<br> name = string<br> delimiter = string<br> attributes = list(string)<br> tags = map(string)<br> additional_tag_map = map(string)<br> regex_replace_chars = string<br> label_order = list(string)<br> id_length_limit = number<br> })</pre> | <pre>{<br> "additional_tag_map": {},<br> "attributes": [],<br> "delimiter": null,<br> "enabled": true,<br> "environment": null,<br> "id_length_limit": null,<br> "label_order": [],<br> "name": null,<br> "namespace": null,<br> "regex_replace_chars": null,<br> "stage": null,<br> "tags": {}<br>}</pre> | no | | ||
| delimiter | Delimiter to be used between `namespace`, `environment`, `stage`, `name` and `attributes`.<br>Defaults to `-` (hyphen). Set to `""` to use no delimiter at all. | `string` | `null` | no | | ||
| enabled | Set to false to prevent the module from creating any resources | `bool` | `null` | no | | ||
| environment | Environment, e.g. 'uw2', 'us-west-2', OR 'prod', 'staging', 'dev', 'UAT' | `string` | `null` | no | | ||
| id\_length\_limit | Limit `id` to this many characters.<br>Set to `0` for unlimited length.<br>Set to `null` for default, which is `0`.<br>Does not affect `id_full`. | `number` | `null` | no | | ||
| label\_order | The naming order of the id output and Name tag.<br>Defaults to ["namespace", "environment", "stage", "name", "attributes"].<br>You can omit any of the 5 elements, but at least one must be present. | `list(string)` | `null` | no | | ||
| max\_session\_duration | The maximum session duration (in seconds) for the role. Can have a value from 1 hour to 12 hours | `number` | `3600` | no | | ||
| name | Solution name, e.g. 'app' or 'jenkins' | `string` | `null` | no | | ||
| namespace | Namespace, which could be your organization name or abbreviation, e.g. 'eg' or 'cp' | `string` | `null` | no | | ||
| policy\_description | The description of the IAM policy that is visible in the IAM policy manager | `string` | `"Policy to access S3 bucket"` | no | | ||
| principals\_arns | List of ARNs to allow assuming the role. Could be AWS services or accounts, Kops nodes, IAM users or groups | `list(string)` | `[]` | no | | ||
| read\_only | Set to `true` to deny write actions for bucket | `bool` | `false` | no | | ||
| regex\_replace\_chars | Regex to replace chars with empty string in `namespace`, `environment`, `stage` and `name`.<br>If not set, `"/[^a-zA-Z0-9-]/"` is used to remove all characters other than hyphens, letters and digits. | `string` | `null` | no | | ||
| role\_description | The description of the IAM role that is visible in the IAM role manager | `string` | `"Role to access S3 bucket"` | no | | ||
| role\_enabled | Set to `false` to prevent the module from creating IAM role | `bool` | `true` | no | | ||
| services | Names of chamber services | `list(string)` | `[]` | no | | ||
| stage | Stage, e.g. 'prod', 'staging', 'dev', OR 'source', 'build', 'test', 'deploy', 'release' | `string` | `null` | no | | ||
| tags | Additional tags (e.g. `map('BusinessUnit','XYZ')` | `map(string)` | `{}` | no | | ||
|
||
## Outputs | ||
|
||
| Name | Description | | ||
|------|-------------| | ||
| role_arn | The Amazon Resource Name (ARN) specifying the role | | ||
| role_id | The stable and unique string identifying the role | | ||
| role_name | The name of the IAM role created | | ||
| role_policy_document | IAM policy to access chamber s3 | | ||
| role\_arn | The Amazon Resource Name (ARN) specifying the role | | ||
| role\_id | The stable and unique string identifying the role | | ||
| role\_name | The name of the IAM role created | | ||
| role\_policy\_document | IAM policy to access chamber S3 | | ||
|
||
<!-- markdownlint-restore --> |
Oops, something went wrong.