Skip to content

Commit d62b11a

Browse files
committed
Sync from management repo
1 parent 0ead9a3 commit d62b11a

File tree

4 files changed

+103
-63
lines changed

4 files changed

+103
-63
lines changed

.github/workflows/pre-commit.yml

Lines changed: 57 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ on:
44
pull_request:
55
push:
66
branches:
7-
- main
87
- develop
8+
- main
99

1010
jobs:
11-
# Min Terraform version(s)
1211
getDirectories:
1312
name: Get root directories
1413
runs-on: ubuntu-latest
@@ -31,7 +30,7 @@ jobs:
3130
directories: ${{ steps.matrix.outputs.directories }}
3231

3332
preCommitMinVersions:
34-
name: Min TF validate
33+
name: Min validate
3534
needs: getDirectories
3635
runs-on: ubuntu-latest
3736
strategy:
@@ -58,11 +57,9 @@ jobs:
5857
with:
5958
terraform_version: ${{ steps.minMax.outputs.minVersion }}
6059

61-
- name: Install pre-commit dependencies
60+
- name: Install pre-commit
6261
run: pip install pre-commit
6362

64-
65-
# Max Terraform version
6663
getBaseVersion:
6764
name: Module max TF version
6865
runs-on: ubuntu-latest
@@ -78,7 +75,7 @@ jobs:
7875
maxVersion: ${{ steps.minMax.outputs.maxVersion }}
7976

8077
preCommitMaxVersion:
81-
name: Max TF pre-commit
78+
name: Max pre-commit
8279
runs-on: ubuntu-latest
8380
needs: getBaseVersion
8481
strategy:
@@ -105,10 +102,59 @@ jobs:
105102
run: |
106103
pip install pre-commit
107104
pip install checkov
108-
curl -L "$(curl -s https://api.github.com/repos/terraform-docs/terraform-docs/releases/latest | grep -o -E "https://.+?-v1.0.1-linux-amd64" | head -n1)" > terraform-docs && chmod +x terraform-docs && sudo mv terraform-docs /usr/bin/
109105
curl -L "$(curl -s https://api.github.com/repos/terraform-linters/tflint/releases/latest | grep -o -E "https://.+?_linux_amd64.zip")" > tflint.zip && unzip tflint.zip && rm tflint.zip && sudo mv tflint /usr/bin/
110106
111107
- name: Execute pre-commit
112-
# Run all pre-commit checks on max version supported
113-
if: ${{ matrix.version == needs.getBaseVersion.outputs.maxVersion }}
114-
run: pre-commit run --color=always --show-diff-on-failure --all-files
108+
continue-on-error: true # To avoid pre-commit failure
109+
run: |
110+
pre-commit run --color=always --show-diff-on-failure --all-files
111+
112+
- name: Get current branch name
113+
id: vars
114+
run: |
115+
echo ::set-output name=branch_name::${GITHUB_REF##*/}
116+
117+
- name: "Get branch name and save to env"
118+
env:
119+
IS_PR: ${{ github.EVENT_NAME == 'pull_request' }}
120+
run: |
121+
if ${IS_PR}; then
122+
BRANCH_NAME="${GITHUB_HEAD_REF}"
123+
else
124+
BRANCH_NAME="${GITHUB_REF##*/}"
125+
fi
126+
echo "BRANCH_NAME=${BRANCH_NAME}" >> $GITHUB_ENV
127+
128+
- uses: actions/checkout@v2
129+
with:
130+
ref: ${{ github.event.pull_request.head.ref }}
131+
132+
- name: Render terraform docs and commit changes
133+
if: ${{ env.BRANCH_NAME }} == 'develop'
134+
uses: terraform-docs/gh-actions@main
135+
with:
136+
working-dir: .
137+
output-file: README.md
138+
output-method: inject
139+
git-push: "true"
140+
141+
- name: Commit pre-commit modified files
142+
if: ${{ env.BRANCH_NAME }} == 'develop'
143+
run: |
144+
git config --local user.email "terraform+github-actions[bot]@users.noreply.github.com"
145+
git config --local user.name "github-actions[bot]"
146+
git diff-index --quiet HEAD || (git add -A && git commit -m'[bot] update files' --allow-empty && git push -f)
147+
148+
- uses: actions/checkout@v2
149+
- name: Create PR
150+
continue-on-error: true
151+
uses: repo-sync/pull-request@v2
152+
if: ${{ env.BRANCH_NAME }} == 'develop'
153+
with:
154+
source_branch: "develop"
155+
destination_branch: "main"
156+
pr_title: "Pulling ${{ github.ref }} into main"
157+
pr_body: ":crown: *Automated PR*"
158+
pr_label: "auto-pr"
159+
pr_allow_empty: false
160+
github_token: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: "Mark or close stale issues and PRs"
2+
on:
3+
schedule:
4+
- cron: "0 0 10 * *"
5+
6+
jobs:
7+
stale:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/stale@v4
11+
with:
12+
repo-token: ${{ secrets.GITHUB_TOKEN }}
13+
# Staling issues and PR's
14+
days-before-stale: 30
15+
stale-issue-label: stale
16+
stale-pr-label: stale
17+
stale-issue-message: |
18+
This issue has been automatically marked as stale because it has been open 30 days
19+
with no activity. Remove stale label or comment or this issue will be closed in 10 days
20+
stale-pr-message: |
21+
This PR has been automatically marked as stale because it has been open 30 days
22+
with no activity. Remove stale label or comment or this PR will be closed in 10 days
23+
# Not stale if have this labels or part of milestone
24+
exempt-issue-labels: bug,wip,on-hold
25+
exempt-pr-labels: bug,wip,on-hold
26+
exempt-all-milestones: true
27+
# Close issue operations
28+
# Label will be automatically removed if the issues are no longer closed nor locked.
29+
days-before-close: 10
30+
delete-branch: false
31+
close-issue-message: This issue was automatically closed because of stale in 10 days
32+
close-pr-message: This PR was automatically closed because of stale in 10 days

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/antonbabenko/pre-commit-terraform
3-
rev: v1.60.0
3+
rev: v1.64.0
44
hooks:
55
- id: terraform_fmt
66
- id: terraform_tflint
@@ -12,7 +12,7 @@ repos:
1212
- '--args=--only=terraform_documented_outputs'
1313
- '--args=--only=terraform_documented_variables'
1414
- '--args=--only=terraform_typed_variables'
15-
- '--args=--only=terraform_module_pinned_source'
15+
#- '--args=--only=terraform_module_pinned_source'
1616
- '--args=--only=terraform_naming_convention'
1717
- '--args=--only=terraform_required_providers'
1818
- '--args=--only=terraform_standard_module_structure'

README.md

Lines changed: 12 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -131,70 +131,32 @@ module "security_group" {
131131

132132
Please refer to examples directory [link](examples) for references.
133133

134+
**Note:**
135+
136+
- For more information on redis: [link](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/cluster-create-determine-requirements.html#redis-cluster-configuration)
137+
138+
<!-- BEGIN_TF_DOCS -->
134139
## Requirements
135140

136-
| Name | Version |
137-
|------|---------|
138-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0.1 |
139-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 3.63 |
141+
No requirements.
140142

141143
## Providers
142144

143-
| Name | Version |
144-
|------|---------|
145-
| <a name="provider_aws"></a> [aws](#provider\_aws) | ~> 3.63 |
145+
No providers.
146146

147147
## Modules
148148

149-
| Name | Source | Version |
150-
|------|--------|---------|
151-
| <a name="module_global"></a> [global](#module\_global) | git::git@github.com:tomarv2/terraform-global.git//aws | v0.0.1 |
149+
No modules.
152150

153151
## Resources
154152

155-
| Name | Type |
156-
|------|------|
157-
| [aws_elasticache_cluster.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_cluster) | resource |
158-
| [aws_elasticache_parameter_group.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_parameter_group) | resource |
159-
| [aws_elasticache_subnet_group.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_subnet_group) | resource |
160-
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
161-
| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |
153+
No resources.
162154

163155
## Inputs
164156

165-
| Name | Description | Type | Default | Required |
166-
|------|-------------|------|---------|:--------:|
167-
| <a name="input_apply_immediately"></a> [apply\_immediately](#input\_apply\_immediately) | Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is false. | `bool` | `true` | no |
168-
| <a name="input_availability_zone"></a> [availability\_zone](#input\_availability\_zone) | The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use preferred\_availability\_zones instead. Default: System chosen Availability Zone. Changing this value will re-create the resource. | `string` | `null` | no |
169-
| <a name="input_az_mode"></a> [az\_mode](#input\_az\_mode) | (Memcached only) Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are single-az or cross-az, default is single-az. If you want to choose cross-az, num\_cache\_nodes must be greater than 1. | `string` | `null` | no |
170-
| <a name="input_cache_nodes"></a> [cache\_nodes](#input\_cache\_nodes) | The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcache, this value must be between 1 and 20. | `number` | `1` | no |
171-
| <a name="input_cluster_id"></a> [cluster\_id](#input\_cluster\_id) | Group identifier. ElastiCache converts this name to lowercase | `string` | `null` | no |
172-
| <a name="input_cluster_mode_enabled"></a> [cluster\_mode\_enabled](#input\_cluster\_mode\_enabled) | Flag to enable/disable creation of a native redis cluster. `automatic_failover_enabled` must be set to `true`. Only 1 `cluster_mode` block is allowed | `bool` | `false` | no |
173-
| <a name="input_deploy_redis"></a> [deploy\_redis](#input\_deploy\_redis) | Feature flag, true or false | `bool` | `true` | no |
174-
| <a name="input_deploy_redis_parameter_group"></a> [deploy\_redis\_parameter\_group](#input\_deploy\_redis\_parameter\_group) | Feature flag, true or false | `bool` | `true` | no |
175-
| <a name="input_engine"></a> [engine](#input\_engine) | Name of the cache engine to be used for this cache cluster. Valid values for this parameter are memcached or redis. | `string` | `"redis"` | no |
176-
| <a name="input_engine_version"></a> [engine\_version](#input\_engine\_version) | Version of engine | `string` | `"5.0.6"` | no |
177-
| <a name="input_maintenance_window"></a> [maintenance\_window](#input\_maintenance\_window) | Specifies the weekly time range for when maintenance on the cache cluster is performed. | `string` | `"mon:10:30-mon:11:30"` | no |
178-
| <a name="input_node_type"></a> [node\_type](#input\_node\_type) | The compute and memory capacity of the nodes | `string` | `"cache.t2.micro"` | no |
179-
| <a name="input_notification_topic_arn"></a> [notification\_topic\_arn](#input\_notification\_topic\_arn) | An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my\_sns\_topic. | `string` | `null` | no |
180-
| <a name="input_parameter"></a> [parameter](#input\_parameter) | A list of Redis parameters to apply. Note that parameters may differ from one Redis family to another | <pre>list(object({<br> name = string<br> value = string<br> }))</pre> | `[]` | no |
181-
| <a name="input_parameter_group_family"></a> [parameter\_group\_family](#input\_parameter\_group\_family) | The family of the ElastiCache parameter group | `string` | `"redis5.0"` | no |
182-
| <a name="input_port"></a> [port](#input\_port) | The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. | `number` | `6379` | no |
183-
| <a name="input_prjid"></a> [prjid](#input\_prjid) | Name of the project/stack e.g: mystack, nifieks, demoaci. Should not be changed after running 'tf apply' | `string` | n/a | yes |
184-
| <a name="input_security_group_ids"></a> [security\_group\_ids](#input\_security\_group\_ids) | One or more VPC security groups associated with the cache cluster | `string` | n/a | yes |
185-
| <a name="input_snapshot_arns"></a> [snapshot\_arns](#input\_snapshot\_arns) | A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my\_bucket/snapshot1.rdb | `list(any)` | <pre>[<br> ""<br>]</pre> | no |
186-
| <a name="input_snapshot_retention_limit"></a> [snapshot\_retention\_limit](#input\_snapshot\_retention\_limit) | Number of days snapshot image will be retained | `number` | `5` | no |
187-
| <a name="input_snapshot_window"></a> [snapshot\_window](#input\_snapshot\_window) | Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00. | `string` | `""` | no |
188-
| <a name="input_teamid"></a> [teamid](#input\_teamid) | Name of the team/group e.g. devops, dataengineering. Should not be changed after running 'tf apply' | `string` | n/a | yes |
157+
No inputs.
189158

190159
## Outputs
191160

192-
| Name | Description |
193-
|------|-------------|
194-
| <a name="output_aws_elasticache_parameter_group"></a> [aws\_elasticache\_parameter\_group](#output\_aws\_elasticache\_parameter\_group) | Elasticache Parameter Group |
195-
| <a name="output_elasticache_cluster_address"></a> [elasticache\_cluster\_address](#output\_elasticache\_cluster\_address) | Elasticache Cluster address |
196-
| <a name="output_elasticache_id"></a> [elasticache\_id](#output\_elasticache\_id) | Elasticache Id |
197-
198-
**Note:**
199-
200-
- For more information on redis: [link](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/cluster-create-determine-requirements.html#redis-cluster-configuration)
161+
No outputs.
162+
<!-- END_TF_DOCS -->

0 commit comments

Comments
 (0)