diff --git a/.chglog/CHANGELOG.tpl.md b/.chglog/CHANGELOG.tpl.md
deleted file mode 100644
index 1af11b8438d..00000000000
--- a/.chglog/CHANGELOG.tpl.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](http://keepachangelog.com/) and this
-project adheres to [Semantic Versioning](http://semver.org/).
-
-{{ if .Versions -}}
-
-## [Unreleased]
-{{ if .Unreleased.CommitGroups -}}
-{{ range .Unreleased.CommitGroups -}}
-{{ .Title }}:
-{{ range .Commits -}}
-{{- if .Subject -}}
-- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject | upperFirst }}
-{{ end -}}
-{{ end }}
-{{ end -}}
-{{ else }}
-{{ range .Unreleased.Commits -}}
-{{- if .Subject -}}
-- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject | upperFirst}}
-{{ end -}}
-{{ end }}
-{{ end -}}
-
-{{- if .Unreleased.NoteGroups -}}
-{{ range .Unreleased.NoteGroups -}}
-{{ .Title }}:
-{{ range .Notes -}}
-- {{ .Body }}
-{{ end }}
-{{ end -}}
-{{ end -}}
-{{ end -}}
-
-{{ range .Versions }}
-
-## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }}
-{{ if .CommitGroups -}}
-{{ range .CommitGroups -}}
-{{ .Title }}:
-{{ range .Commits -}}
-{{- if .Subject -}}
-- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject | upperFirst }}
-{{ end -}}
-{{ end }}
-{{ end -}}
-{{ else }}
-{{ range .Commits -}}
-{{- if .Subject -}}
-- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject | upperFirst }}
-{{ end -}}
-{{ end }}
-{{ end -}}
-
-{{- if .NoteGroups -}}
-{{ range .NoteGroups -}}
-{{ .Title }}:
-{{ range .Notes -}}
-- {{ .Body }}
-{{ end }}
-{{ end -}}
-{{ end -}}
-{{ end -}}
-
-{{- if .Versions }}
-[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD
-{{ range .Versions -}}
-{{ if .Tag.Previous -}}
-[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
-{{ end -}}
-{{ end -}}
-{{ end -}}
diff --git a/.chglog/config.yml b/.chglog/config.yml
deleted file mode 100644
index 06f2cfb3756..00000000000
--- a/.chglog/config.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-style: github
-template: CHANGELOG.tpl.md
-info:
- title: CHANGELOG
- repository_url: https://github.com/terraform-aws-modules/terraform-aws-eks
-options:
- commits:
- sort_by: Type
- filters:
- Type:
- - feat
- - fix
- - improvement
- - docs
- - refactor
- - test
- - ci
-
- commit_groups:
- group_by: Type
- sort_by: Custom
- title_order:
- - feat
- - improvement
- - refactor
- - fix
- - docs
- - test
- - ci
- title_maps:
- feat: FEATURES
- fix: BUG FIXES
- improvement: ENHANCEMENTS
- docs: DOCS
- refactor: REFACTORS
- test: TESTS
- ci: CI
-
- header:
- pattern: "^(.+)\\s*:\\s*(.+)$"
- pattern_maps:
- - Type
- - Subject
-
- notes:
- keywords:
- - BREAKING CHANGES
- - NOTES
-
- refs:
- actions:
- - Closes
- - Fixes
- - Resolves
diff --git a/CHANGELOG.pre-v11.0.0.md b/.github/CHANGELOG.pre-v11.0.0.md
similarity index 100%
rename from CHANGELOG.pre-v11.0.0.md
rename to .github/CHANGELOG.pre-v11.0.0.md
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
deleted file mode 100644
index bcb7188d942..00000000000
--- a/.github/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# I have issues
-
-## I'm submitting a...
-
-* [ ] bug report
-* [ ] feature request
-* [ ] support request - read the [FAQ](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/faq.md) first!
-* [ ] kudos, thank you, warm fuzzy
-
-## What is the current behavior?
-
-
-
-## If this is a bug, how to reproduce? Please include a code sample if relevant.
-
-
-
-## What's the expected behavior?
-
-
-
-## Are you able to fix this problem and submit a PR? Link here if you have already.
-
-## Environment details
-
-* Affected module version:
-* OS:
-* Terraform version:
-
-## Any other relevant info
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index ce48f0220a4..00000000000
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# PR o'clock
-
-## Description
-
-Please explain the changes you made here and link to any relevant issues.
-
-### Checklist
-
-- [ ] README.md has been updated after any changes to variables and outputs. See https://github.com/terraform-aws-modules/terraform-aws-eks/#doc-generation
diff --git a/.github/workflows/changelog-check.yaml b/.github/workflows/changelog-check.yaml
deleted file mode 100644
index 0eee4fdbe02..00000000000
--- a/.github/workflows/changelog-check.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-name: CHANGELOG Checks
-on:
- pull_request_target:
- paths:
- - CHANGELOG.md
- branches-ignore:
- - releases/**
-
-jobs:
- comment:
- name: Comment
- runs-on: ubuntu-latest
- steps:
- - name: Find Existing PR Comment
- id: prc
- uses: peter-evans/find-comment@v1
- with:
- issue-number: ${{ github.event.pull_request.number }}
- comment-author: "github-actions[bot]"
- body-includes: "The `CHANGELOG.md` file contents are handled by the maintainers during merge."
- - name: PR Comment
- if: ${{ steps.prc.outputs.comment-id == '' }}
- uses: peter-evans/create-or-update-comment@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- issue-number: ${{ github.event.pull_request.number }}
- body: |
- Thank you for your contribution!
-
- The `CHANGELOG.md` file contents are handled by the maintainers during merge. This is to prevent pull request merge conflicts.
- Please see the Contributing Guide for additional pull request review items.
-
- Remove any changes to the `CHANGELOG.md` file and commit them in this pull request.
- - name: Fail the check if changelog change
- run: exit 1
diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
index 5a3c0ce7e11..b8f1b8a5ab0 100644
--- a/.github/workflows/pre-commit.yml
+++ b/.github/workflows/pre-commit.yml
@@ -2,98 +2,77 @@ name: Pre-Commit
on:
pull_request:
- push:
branches:
+ - main
- master
+env:
+ TERRAFORM_DOCS_VERSION: v0.16.0
+
jobs:
- # Min Terraform version(s)
- getDirectories:
- name: Get root directories
+ collectInputs:
+ name: Collect workflow inputs
runs-on: ubuntu-latest
+ outputs:
+ directories: ${{ steps.dirs.outputs.directories }}
steps:
- name: Checkout
uses: actions/checkout@v2
- - name: Install Python
- uses: actions/setup-python@v2
- - name: Build matrix
- id: matrix
- run: |
- DIRS=$(python -c "import json; import glob; print(json.dumps([x.replace('/versions.tf', '') for x in glob.glob('./**/versions.tf', recursive=True)]))")
- echo "::set-output name=directories::$DIRS"
- outputs:
- directories: ${{ steps.matrix.outputs.directories }}
+
+ - name: Get root directories
+ id: dirs
+ uses: clowdhaus/terraform-composite-actions/directories@v1.3.0
preCommitMinVersions:
- name: Min TF validate
- needs: getDirectories
+ name: Min TF pre-commit
+ needs: collectInputs
runs-on: ubuntu-latest
strategy:
matrix:
- directory: ${{ fromJson(needs.getDirectories.outputs.directories) }}
+ directory: ${{ fromJson(needs.collectInputs.outputs.directories) }}
steps:
- name: Checkout
uses: actions/checkout@v2
- - name: Install Python
- uses: actions/setup-python@v2
+
- name: Terraform min/max versions
id: minMax
- uses: clowdhaus/terraform-min-max@v1.0.2
+ uses: clowdhaus/terraform-min-max@v1.0.3
with:
directory: ${{ matrix.directory }}
- - name: Install Terraform v${{ steps.minMax.outputs.minVersion }}
- uses: hashicorp/setup-terraform@v1
- with:
- terraform_version: ${{ steps.minMax.outputs.minVersion }}
- - name: Install pre-commit dependencies
- run: pip install pre-commit
- - name: Execute pre-commit
+
+ - name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
# Run only validate pre-commit check on min version supported
if: ${{ matrix.directory != '.' }}
- run: pre-commit run terraform_validate --color=always --show-diff-on-failure --files ${{ matrix.directory }}/*
- - name: Execute pre-commit
+ uses: clowdhaus/terraform-composite-actions/pre-commit@v1.3.0
+ with:
+ terraform-version: ${{ steps.minMax.outputs.minVersion }}
+ args: 'terraform_validate --color=always --show-diff-on-failure --files ${{ matrix.directory }}/*'
+
+ - name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
# Run only validate pre-commit check on min version supported
if: ${{ matrix.directory == '.' }}
- run: pre-commit run terraform_validate --color=always --show-diff-on-failure --files $(ls *.tf)
+ uses: clowdhaus/terraform-composite-actions/pre-commit@v1.3.0
+ with:
+ terraform-version: ${{ steps.minMax.outputs.minVersion }}
+ args: 'terraform_validate --color=always --show-diff-on-failure --files $(ls *.tf)'
- # Max Terraform version
- getBaseVersion:
- name: Module max TF version
+ preCommitMaxVersion:
+ name: Max TF pre-commit
runs-on: ubuntu-latest
+ needs: collectInputs
steps:
- name: Checkout
uses: actions/checkout@v2
+ with:
+ ref: ${{ github.event.pull_request.head.ref }}
+ repository: ${{github.event.pull_request.head.repo.full_name}}
+
- name: Terraform min/max versions
id: minMax
- uses: clowdhaus/terraform-min-max@v1.0.2
- outputs:
- minVersion: ${{ steps.minMax.outputs.minVersion }}
- maxVersion: ${{ steps.minMax.outputs.maxVersion }}
+ uses: clowdhaus/terraform-min-max@v1.0.3
- preCommitMaxVersion:
- name: Max TF pre-commit
- runs-on: ubuntu-latest
- needs: getBaseVersion
- strategy:
- fail-fast: false
- matrix:
- version:
- - ${{ needs.getBaseVersion.outputs.maxVersion }}
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Install Python
- uses: actions/setup-python@v2
- - name: Install Terraform v${{ matrix.version }}
- uses: hashicorp/setup-terraform@v1
+ - name: Pre-commit Terraform ${{ steps.minMax.outputs.maxVersion }}
+ uses: clowdhaus/terraform-composite-actions/pre-commit@v1.3.0
with:
- terraform_version: ${{ matrix.version }}
- - name: Install pre-commit dependencies
- run: |
- pip install pre-commit
- curl -Lo ./terraform-docs.tar.gz https://github.com/terraform-docs/terraform-docs/releases/download/v0.13.0/terraform-docs-v0.13.0-$(uname)-amd64.tar.gz && tar -xzf terraform-docs.tar.gz terraform-docs && chmod +x terraform-docs && sudo mv terraform-docs /usr/bin/
- 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 tflint && rm tflint.zip && sudo mv tflint /usr/bin/
- - name: Execute pre-commit
- # Run all pre-commit checks on max version supported
- if: ${{ matrix.version == needs.getBaseVersion.outputs.maxVersion }}
- run: pre-commit run --color=always --show-diff-on-failure --all-files
+ terraform-version: ${{ steps.minMax.outputs.maxVersion }}
+ terraform-docs-version: ${{ env.TERRAFORM_DOCS_VERSION }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000000..141937d8638
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,32 @@
+name: Release
+
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - main
+ - master
+ paths:
+ - '**/*.py'
+ - '**/*.tf'
+
+jobs:
+ release:
+ name: Release
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+
+ - name: Release
+ uses: cycjimmy/semantic-release-action@v2
+ with:
+ semantic_version: 18.0.0
+ extra_plugins: |
+ @semantic-release/changelog@6.0.0
+ @semantic-release/git@10.0.0
+ env:
+ GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index d26bea60b7c..20e651ab6a7 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,10 +1,12 @@
repos:
- repo: https://github.com/antonbabenko/pre-commit-terraform
- rev: v1.55.0
+ rev: v1.58.0
hooks:
- id: terraform_fmt
- id: terraform_validate
- id: terraform_docs
+ args:
+ - '--args=--lockfile=false'
- id: terraform_tflint
args:
- '--args=--only=terraform_deprecated_interpolation'
@@ -15,7 +17,7 @@ repos:
- '--args=--only=terraform_documented_variables'
- '--args=--only=terraform_typed_variables'
- '--args=--only=terraform_module_pinned_source'
-# - '--args=--only=terraform_naming_convention'
+ # - '--args=--only=terraform_naming_convention'
- '--args=--only=terraform_required_version'
- '--args=--only=terraform_required_providers'
- '--args=--only=terraform_standard_module_structure'
diff --git a/.releaserc.json b/.releaserc.json
new file mode 100644
index 00000000000..6e39031cf20
--- /dev/null
+++ b/.releaserc.json
@@ -0,0 +1,36 @@
+{
+ "branches": [
+ "main",
+ "master"
+ ],
+ "ci": false,
+ "plugins": [
+ "@semantic-release/commit-analyzer",
+ "@semantic-release/release-notes-generator",
+ [
+ "@semantic-release/github",
+ {
+ "successComment":
+ "This ${issue.pull_request ? 'PR is included' : 'issue has been resolved'} in version ${nextRelease.version} :tada:",
+ "labels": false,
+ "releasedLabels": false
+ }
+ ],
+ [
+ "@semantic-release/changelog",
+ {
+ "changelogFile": "CHANGELOG.md",
+ "changelogTitle": "# Changelog\n\nAll notable changes to this project will be documented in this file."
+ }
+ ],
+ [
+ "@semantic-release/git",
+ {
+ "assets": [
+ "CHANGELOG.md"
+ ],
+ "message": "chore(release): version ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
+ }
+ ]
+ ]
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fe6345f9b53..15937e80c2e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,14 +1,20 @@
-# Change Log
+# Changelog
All notable changes to this project will be documented in this file.
-The format is based on [Keep a Changelog](http://keepachangelog.com/) and this
-project adheres to [Semantic Versioning](http://semver.org/).
+# [17.24.0](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v17.23.0...v17.24.0) (2021-11-22)
-
-## [Unreleased]
+### Bug Fixes
+* Added Deny for CreateLogGroup action in EKS cluster role ([#1594](https://github.com/terraform-aws-modules/terraform-aws-eks/issues/1594)) ([6959b9b](https://github.com/terraform-aws-modules/terraform-aws-eks/commit/6959b9bae32309357bc97a85a1f09c7b590c8a6d))
+* update CI/CD process to enable auto-release workflow ([#1698](https://github.com/terraform-aws-modules/terraform-aws-eks/issues/1698)) ([b876ff9](https://github.com/terraform-aws-modules/terraform-aws-eks/commit/b876ff95136fbb419cbb33feaa8f354a053047e0))
+
+
+### Features
+
+* Add ability to define custom timeout for fargate profiles ([#1614](https://github.com/terraform-aws-modules/terraform-aws-eks/issues/1614)) ([b7539dc](https://github.com/terraform-aws-modules/terraform-aws-eks/commit/b7539dc220f6b5fe199d67569b6f3619ec00fdf0))
+* Removed ng_depends_on variable and related hack ([#1672](https://github.com/terraform-aws-modules/terraform-aws-eks/issues/1672)) ([56e93d7](https://github.com/terraform-aws-modules/terraform-aws-eks/commit/56e93d77de58f311f1d1d7051f40bf77e7b03524))
## [v17.23.0] - 2021-11-02
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 5120cc143ab..00000000000
--- a/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-.PHONY: changelog release
-
-SEMTAG=tools/semtag
-
-CHANGELOG_FILE=CHANGELOG.md
-TAG_QUERY=v11.0.0..
-
-scope ?= "minor"
-
-changelog-unrelease:
- git-chglog --no-case -o $(CHANGELOG_FILE) $(TAG_QUERY)
-
-changelog:
- git-chglog --no-case -o $(CHANGELOG_FILE) --next-tag `$(SEMTAG) final -s $(scope) -o -f` $(TAG_QUERY)
-
-release:
- $(SEMTAG) final -s $(scope)
diff --git a/README.md b/README.md
index 5980b482016..26c6f11cec0 100644
--- a/README.md
+++ b/README.md
@@ -116,7 +116,7 @@ Apache 2 Licensed. See [LICENSE](https://github.com/terraform-aws-modules/terraf
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.56.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
| [cloudinit](#requirement\_cloudinit) | >= 2.0 |
| [http](#requirement\_http) | >= 2.4.1 |
| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
@@ -126,7 +126,7 @@ Apache 2 Licensed. See [LICENSE](https://github.com/terraform-aws-modules/terraf
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.56.0 |
+| [aws](#provider\_aws) | >= 3.56 |
| [http](#provider\_http) | >= 2.4.1 |
| [kubernetes](#provider\_kubernetes) | >= 1.11.1 |
| [local](#provider\_local) | >= 1.4 |
@@ -135,8 +135,8 @@ Apache 2 Licensed. See [LICENSE](https://github.com/terraform-aws-modules/terraf
| Name | Source | Version |
|------|--------|---------|
-| [fargate](#module\_fargate) | ./modules/fargate | |
-| [node\_groups](#module\_node\_groups) | ./modules/node_groups | |
+| [fargate](#module\_fargate) | ./modules/fargate | n/a |
+| [node\_groups](#module\_node\_groups) | ./modules/node_groups | n/a |
## Resources
diff --git a/examples/bottlerocket/README.md b/examples/bottlerocket/README.md
index e02687da986..88d9d4ee14e 100644
--- a/examples/bottlerocket/README.md
+++ b/examples/bottlerocket/README.md
@@ -24,8 +24,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.22.0 |
-| [kubernetes](#requirement\_kubernetes) | ~> 2.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
+| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
| [local](#requirement\_local) | >= 1.4 |
| [random](#requirement\_random) | >= 2.1 |
| [tls](#requirement\_tls) | >= 2.0 |
@@ -34,7 +34,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.22.0 |
+| [aws](#provider\_aws) | >= 3.56 |
| [random](#provider\_random) | >= 2.1 |
| [tls](#provider\_tls) | >= 2.0 |
@@ -42,7 +42,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Source | Version |
|------|--------|---------|
-| [eks](#module\_eks) | ../.. | |
+| [eks](#module\_eks) | ../.. | n/a |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
## Resources
diff --git a/examples/bottlerocket/versions.tf b/examples/bottlerocket/versions.tf
index 6adb95785f4..cb5115c4876 100644
--- a/examples/bottlerocket/versions.tf
+++ b/examples/bottlerocket/versions.tf
@@ -2,10 +2,25 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.22.0"
- local = ">= 1.4"
- random = ">= 2.1"
- kubernetes = "~> 2.0"
- tls = ">= 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ random = {
+ source = "hashicorp/random"
+ version = ">= 2.1"
+ }
+ tls = {
+ source = "hashicorp/tls"
+ version = ">= 2.0"
+ }
}
}
diff --git a/examples/complete/README.md b/examples/complete/README.md
index 3fbaf99418f..5cf7785cb13 100644
--- a/examples/complete/README.md
+++ b/examples/complete/README.md
@@ -24,8 +24,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.22.0 |
-| [kubernetes](#requirement\_kubernetes) | ~> 2.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
+| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
| [local](#requirement\_local) | >= 1.4 |
| [random](#requirement\_random) | >= 2.1 |
@@ -33,17 +33,17 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.22.0 |
+| [aws](#provider\_aws) | >= 3.56 |
| [random](#provider\_random) | >= 2.1 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| [disabled\_eks](#module\_disabled\_eks) | ../.. | |
-| [disabled\_fargate](#module\_disabled\_fargate) | ../../modules/fargate | |
-| [disabled\_node\_groups](#module\_disabled\_node\_groups) | ../../modules/node_groups | |
-| [eks](#module\_eks) | ../.. | |
+| [disabled\_eks](#module\_disabled\_eks) | ../.. | n/a |
+| [disabled\_fargate](#module\_disabled\_fargate) | ../../modules/fargate | n/a |
+| [disabled\_node\_groups](#module\_disabled\_node\_groups) | ../../modules/node_groups | n/a |
+| [eks](#module\_eks) | ../.. | n/a |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
## Resources
diff --git a/examples/complete/versions.tf b/examples/complete/versions.tf
index bbcf8932523..8e2b8379847 100644
--- a/examples/complete/versions.tf
+++ b/examples/complete/versions.tf
@@ -2,9 +2,21 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.22.0"
- local = ">= 1.4"
- random = ">= 2.1"
- kubernetes = "~> 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ random = {
+ source = "hashicorp/random"
+ version = ">= 2.1"
+ }
}
}
diff --git a/examples/fargate/README.md b/examples/fargate/README.md
index b4e79abdb73..1228f5c4c14 100644
--- a/examples/fargate/README.md
+++ b/examples/fargate/README.md
@@ -23,24 +23,25 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.22.0 |
-| [kubernetes](#requirement\_kubernetes) | ~> 2.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
+| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
| [local](#requirement\_local) | >= 1.4 |
| [random](#requirement\_random) | >= 2.1 |
+| [tls](#requirement\_tls) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.22.0 |
+| [aws](#provider\_aws) | >= 3.56 |
| [random](#provider\_random) | >= 2.1 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| [eks](#module\_eks) | ../.. | |
-| [fargate\_profile\_existing\_cluster](#module\_fargate\_profile\_existing\_cluster) | ../../modules/fargate | |
+| [eks](#module\_eks) | ../.. | n/a |
+| [fargate\_profile\_existing\_cluster](#module\_fargate\_profile\_existing\_cluster) | ../../modules/fargate | n/a |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
## Resources
diff --git a/examples/fargate/versions.tf b/examples/fargate/versions.tf
index bbcf8932523..cb5115c4876 100644
--- a/examples/fargate/versions.tf
+++ b/examples/fargate/versions.tf
@@ -2,9 +2,25 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.22.0"
- local = ">= 1.4"
- random = ">= 2.1"
- kubernetes = "~> 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ random = {
+ source = "hashicorp/random"
+ version = ">= 2.1"
+ }
+ tls = {
+ source = "hashicorp/tls"
+ version = ">= 2.0"
+ }
}
}
diff --git a/examples/instance_refresh/README.md b/examples/instance_refresh/README.md
index 73b836d689d..cc558693ae6 100644
--- a/examples/instance_refresh/README.md
+++ b/examples/instance_refresh/README.md
@@ -22,9 +22,9 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.22.0 |
-| [helm](#requirement\_helm) | ~> 2.0 |
-| [kubernetes](#requirement\_kubernetes) | ~> 2.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
+| [helm](#requirement\_helm) | >= 2.0 |
+| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
| [local](#requirement\_local) | >= 1.4 |
| [random](#requirement\_random) | >= 2.1 |
@@ -32,8 +32,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.22.0 |
-| [helm](#provider\_helm) | ~> 2.0 |
+| [aws](#provider\_aws) | >= 3.56 |
+| [helm](#provider\_helm) | >= 2.0 |
| [random](#provider\_random) | >= 2.1 |
## Modules
@@ -42,7 +42,7 @@ Note that this example may create resources which cost money. Run `terraform des
|------|--------|---------|
| [aws\_node\_termination\_handler\_role](#module\_aws\_node\_termination\_handler\_role) | terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc | 4.1.0 |
| [aws\_node\_termination\_handler\_sqs](#module\_aws\_node\_termination\_handler\_sqs) | terraform-aws-modules/sqs/aws | ~> 3.0.0 |
-| [eks](#module\_eks) | ../.. | |
+| [eks](#module\_eks) | ../.. | n/a |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
## Resources
diff --git a/examples/instance_refresh/versions.tf b/examples/instance_refresh/versions.tf
index f546ca0cf09..67c2d66a822 100644
--- a/examples/instance_refresh/versions.tf
+++ b/examples/instance_refresh/versions.tf
@@ -2,10 +2,25 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.22.0"
- local = ">= 1.4"
- random = ">= 2.1"
- kubernetes = "~> 2.0"
- helm = "~> 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ random = {
+ source = "hashicorp/random"
+ version = ">= 2.1"
+ }
+ helm = {
+ source = "hashicorp/helm"
+ version = ">= 2.0"
+ }
}
}
diff --git a/examples/irsa/README.md b/examples/irsa/README.md
index 770ca3f9027..137f3d63d85 100644
--- a/examples/irsa/README.md
+++ b/examples/irsa/README.md
@@ -22,9 +22,9 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.22.0 |
-| [helm](#requirement\_helm) | ~> 2.0 |
-| [kubernetes](#requirement\_kubernetes) | ~> 2.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
+| [helm](#requirement\_helm) | >= 2.0 |
+| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
| [local](#requirement\_local) | >= 1.4 |
| [random](#requirement\_random) | >= 2.1 |
@@ -32,15 +32,15 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.22.0 |
-| [helm](#provider\_helm) | ~> 2.0 |
+| [aws](#provider\_aws) | >= 3.56 |
+| [helm](#provider\_helm) | >= 2.0 |
| [random](#provider\_random) | >= 2.1 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| [eks](#module\_eks) | ../.. | |
+| [eks](#module\_eks) | ../.. | n/a |
| [iam\_assumable\_role\_admin](#module\_iam\_assumable\_role\_admin) | terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc | ~> 4.0 |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
diff --git a/examples/irsa/versions.tf b/examples/irsa/versions.tf
index f546ca0cf09..67c2d66a822 100644
--- a/examples/irsa/versions.tf
+++ b/examples/irsa/versions.tf
@@ -2,10 +2,25 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.22.0"
- local = ">= 1.4"
- random = ">= 2.1"
- kubernetes = "~> 2.0"
- helm = "~> 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ random = {
+ source = "hashicorp/random"
+ version = ">= 2.1"
+ }
+ helm = {
+ source = "hashicorp/helm"
+ version = ">= 2.0"
+ }
}
}
diff --git a/examples/launch_templates/README.md b/examples/launch_templates/README.md
index 6d1d5e25495..dbd5073f898 100644
--- a/examples/launch_templates/README.md
+++ b/examples/launch_templates/README.md
@@ -22,8 +22,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.22.0 |
-| [kubernetes](#requirement\_kubernetes) | ~> 2.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
+| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
| [local](#requirement\_local) | >= 1.4 |
| [random](#requirement\_random) | >= 2.1 |
@@ -31,14 +31,14 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.22.0 |
+| [aws](#provider\_aws) | >= 3.56 |
| [random](#provider\_random) | >= 2.1 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| [eks](#module\_eks) | ../.. | |
+| [eks](#module\_eks) | ../.. | n/a |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
## Resources
diff --git a/examples/launch_templates/versions.tf b/examples/launch_templates/versions.tf
index 9c1dbfa3e89..8e2b8379847 100644
--- a/examples/launch_templates/versions.tf
+++ b/examples/launch_templates/versions.tf
@@ -2,10 +2,21 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.22.0"
- local = ">= 1.4"
- random = ">= 2.1"
- kubernetes = "~> 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ random = {
+ source = "hashicorp/random"
+ version = ">= 2.1"
+ }
}
}
-
diff --git a/examples/launch_templates_with_managed_node_groups/README.md b/examples/launch_templates_with_managed_node_groups/README.md
index e79ff558f9d..3cae5493258 100644
--- a/examples/launch_templates_with_managed_node_groups/README.md
+++ b/examples/launch_templates_with_managed_node_groups/README.md
@@ -25,8 +25,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.22.0 |
-| [kubernetes](#requirement\_kubernetes) | ~> 2.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
+| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
| [local](#requirement\_local) | >= 1.4 |
| [random](#requirement\_random) | >= 2.1 |
@@ -34,14 +34,14 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.22.0 |
+| [aws](#provider\_aws) | >= 3.56 |
| [random](#provider\_random) | >= 2.1 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| [eks](#module\_eks) | ../.. | |
+| [eks](#module\_eks) | ../.. | n/a |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
## Resources
diff --git a/examples/launch_templates_with_managed_node_groups/versions.tf b/examples/launch_templates_with_managed_node_groups/versions.tf
index bbcf8932523..8e2b8379847 100644
--- a/examples/launch_templates_with_managed_node_groups/versions.tf
+++ b/examples/launch_templates_with_managed_node_groups/versions.tf
@@ -2,9 +2,21 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.22.0"
- local = ">= 1.4"
- random = ">= 2.1"
- kubernetes = "~> 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ random = {
+ source = "hashicorp/random"
+ version = ">= 2.1"
+ }
}
}
diff --git a/examples/managed_node_groups/README.md b/examples/managed_node_groups/README.md
index 8cc2ecd8ae8..71214313928 100644
--- a/examples/managed_node_groups/README.md
+++ b/examples/managed_node_groups/README.md
@@ -25,8 +25,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.22.0 |
-| [kubernetes](#requirement\_kubernetes) | ~> 2.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
+| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
| [local](#requirement\_local) | >= 1.4 |
| [random](#requirement\_random) | >= 2.1 |
@@ -34,14 +34,14 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.22.0 |
+| [aws](#provider\_aws) | >= 3.56 |
| [random](#provider\_random) | >= 2.1 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| [eks](#module\_eks) | ../.. | |
+| [eks](#module\_eks) | ../.. | n/a |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
## Resources
diff --git a/examples/managed_node_groups/versions.tf b/examples/managed_node_groups/versions.tf
index bbcf8932523..8e2b8379847 100644
--- a/examples/managed_node_groups/versions.tf
+++ b/examples/managed_node_groups/versions.tf
@@ -2,9 +2,21 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.22.0"
- local = ">= 1.4"
- random = ">= 2.1"
- kubernetes = "~> 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ random = {
+ source = "hashicorp/random"
+ version = ">= 2.1"
+ }
}
}
diff --git a/examples/secrets_encryption/README.md b/examples/secrets_encryption/README.md
index c3ee731f2ac..f5f38b0498d 100644
--- a/examples/secrets_encryption/README.md
+++ b/examples/secrets_encryption/README.md
@@ -22,8 +22,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.22.0 |
-| [kubernetes](#requirement\_kubernetes) | ~> 2.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
+| [kubernetes](#requirement\_kubernetes) | >= 1.11.1 |
| [local](#requirement\_local) | >= 1.4 |
| [random](#requirement\_random) | >= 2.1 |
@@ -31,14 +31,14 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.22.0 |
+| [aws](#provider\_aws) | >= 3.56 |
| [random](#provider\_random) | >= 2.1 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| [eks](#module\_eks) | ../.. | |
+| [eks](#module\_eks) | ../.. | n/a |
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
## Resources
diff --git a/examples/secrets_encryption/versions.tf b/examples/secrets_encryption/versions.tf
index bbcf8932523..8e2b8379847 100644
--- a/examples/secrets_encryption/versions.tf
+++ b/examples/secrets_encryption/versions.tf
@@ -2,9 +2,21 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.22.0"
- local = ">= 1.4"
- random = ">= 2.1"
- kubernetes = "~> 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ random = {
+ source = "hashicorp/random"
+ version = ">= 2.1"
+ }
}
}
diff --git a/modules/fargate/README.md b/modules/fargate/README.md
index 466b2a051a2..7a20be175b5 100644
--- a/modules/fargate/README.md
+++ b/modules/fargate/README.md
@@ -24,13 +24,13 @@ See example code in `examples/fargate`.
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.40.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.40.0 |
+| [aws](#provider\_aws) | >= 3.56 |
## Modules
diff --git a/modules/fargate/versions.tf b/modules/fargate/versions.tf
index 2051547e513..9480a77da8b 100644
--- a/modules/fargate/versions.tf
+++ b/modules/fargate/versions.tf
@@ -2,6 +2,9 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.40.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
}
}
diff --git a/modules/node_groups/README.md b/modules/node_groups/README.md
index e41de1fe567..4f2967dfa68 100644
--- a/modules/node_groups/README.md
+++ b/modules/node_groups/README.md
@@ -68,14 +68,14 @@ The role ARN specified in `var.default_iam_role_arn` will be used by default. In
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
-| [aws](#requirement\_aws) | >= 3.56.0 |
+| [aws](#requirement\_aws) | >= 3.56 |
| [cloudinit](#requirement\_cloudinit) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.56.0 |
+| [aws](#provider\_aws) | >= 3.56 |
| [cloudinit](#provider\_cloudinit) | >= 2.0 |
## Modules
diff --git a/modules/node_groups/versions.tf b/modules/node_groups/versions.tf
index 5324b482aba..f4d0036a86c 100644
--- a/modules/node_groups/versions.tf
+++ b/modules/node_groups/versions.tf
@@ -2,7 +2,13 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.56.0"
- cloudinit = ">= 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ cloudinit = {
+ source = "hashicorp/cloudinit"
+ version = ">= 2.0"
+ }
}
}
diff --git a/tools/semtag b/tools/semtag
deleted file mode 100755
index 568d4241ad2..00000000000
--- a/tools/semtag
+++ /dev/null
@@ -1,627 +0,0 @@
-#!/usr/bin/env bash
-#
-# Thanks to @pnikosis for this script https://github.com/pnikosis/semtag
-#
-PROG=semtag
-PROG_VERSION="v0.1.0"
-
-SEMVER_REGEX="^v?(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(\-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$"
-IDENTIFIER_REGEX="^\-([0-9A-Za-z-]+)\.([0-9A-Za-z-]+)*$"
-
-# Global variables
-FIRST_VERSION="v0.0.0"
-finalversion=$FIRST_VERSION
-lastversion=$FIRST_VERSION
-hasversiontag="false"
-scope="patch"
-displayonly="false"
-forcetag="false"
-forcedversion=
-versionname=
-identifier=
-
-HELP="\
-Usage:
- $PROG
- $PROG getlast
- $PROG getfinal
- $PROG (final|alpha|beta|candidate) [-s (major|minor|patch|auto) | -o]
- $PROG --help
- $PROG --version
-Options:
- -s The scope that must be increased, can be major, minor or patch.
- The resulting version will match X.Y.Z(-PRERELEASE)(+BUILD)
- where X, Y and Z are positive integers, PRERELEASE is an optionnal
- string composed of alphanumeric characters describing if the build is
- a release candidate, alpha or beta version, with a number.
- BUILD is also an optional string composed of alphanumeric
- characters and hyphens.
- Setting the scope as 'auto', the script will chose the scope between
- 'minor' and 'patch', depending on the amount of lines added (<10% will
- choose patch).
- -v Specifies manually the version to be tagged, must be a valid semantic version
- in the format X.Y.Z where X, Y and Z are positive integers.
- -o Output the version only, shows the bumped version, but doesn't tag.
- -f Forces to tag, even if there are unstaged or uncommited changes.
-Commands:
- --help Print this help message.
- --version Prints the program's version.
- get Returns both current final version and last tagged version.
- getlast Returns the latest tagged version.
- getfinal Returns the latest tagged final version.
- getcurrent Returns the current version, based on the latest one, if there are uncommited or
- unstaged changes, they will be reflected in the version, adding the number of
- pending commits, current branch and commit hash.
- final Tags the current build as a final version, this only can be done on the master branch.
- candidate Tags the current build as a release candidate, the tag will contain all
- the commits from the last final version.
- alpha Tags the current build as an alpha version, the tag will contain all
- the commits from the last final version.
- beta Tags the current build as a beta version, the tag will contain all
- the commits from the last final version."
-
-# Commands and options
-ACTION="getlast"
-ACTION="$1"
-shift
-
-# We get the parameters
-while getopts "v:s:of" opt; do
- case $opt in
- v)
- forcedversion="$OPTARG"
- ;;
- s)
- scope="$OPTARG"
- ;;
- o)
- displayonly="true"
- ;;
- f)
- forcetag="true"
- ;;
- \?)
- echo "Invalid option: -$OPTARG" >&2
- exit 1
- ;;
- :)
- echo "Option -$OPTARG requires an argument." >&2
- exit 1
- ;;
- esac
-done
-
-# Gets a string with the version and returns an array of maximum size of 5 with all the parts of the sematinc version
-# $1 The string containing the version in semantic format
-# $2 The variable to store the result array:
-# position 0: major number
-# position 1: minor number
-# position 2: patch number
-# position 3: identifier (or prerelease identifier)
-# position 4: build info
-function explode_version {
- local __version=$1
- local __result=$2
- if [[ $__version =~ $SEMVER_REGEX ]] ; then
- local __major=${BASH_REMATCH[1]}
- local __minor=${BASH_REMATCH[2]}
- local __patch=${BASH_REMATCH[3]}
- local __prere=${BASH_REMATCH[4]}
- local __build=${BASH_REMATCH[5]}
- eval "$__result=(\"$__major\" \"$__minor\" \"$__patch\" \"$__prere\" \"$__build\")"
- else
- eval "$__result="
- fi
-}
-
-# Compare two versions and returns -1, 0 or 1
-# $1 The first version to compare
-# $2 The second version to compare
-# $3 The variable where to store the result
-function compare_versions {
- local __first
- local __second
- explode_version $1 __first
- explode_version $2 __second
- local lv=$3
-
- # Compares MAJOR, MINOR and PATCH
- for i in 0 1 2; do
- local __numberfirst=${__first[$i]}
- local __numbersecond=${__second[$i]}
- case $(($__numberfirst - $__numbersecond)) in
- 0)
- ;;
- -[0-9]*)
- eval "$lv=-1"
- return 0
- ;;
- [0-9]*)
- eval "$lv=1"
- return 0
- ;;
- esac
- done
-
- # Identifiers should compare with the ASCII order.
- local __identifierfirst=${__first[3]}
- local __identifiersecond=${__second[3]}
- if [[ -n "$__identifierfirst" ]] && [[ -n "$__identifiersecond" ]]; then
- if [[ "$__identifierfirst" > "$__identifiersecond" ]]; then
- eval "$lv=1"
- return 0
- elif [[ "$__identifierfirst" < "$__identifiersecond" ]]; then
- eval "$lv=-1"
- return 0
- fi
- elif [[ -z "$__identifierfirst" ]] && [[ -n "$__identifiersecond" ]]; then
- eval "$lv=1"
- return 0
- elif [[ -n "$__identifierfirst" ]] && [[ -z "$__identifiersecond" ]]; then
- eval "$lv=-1"
- return 0
- fi
-
- eval "$lv=0"
-}
-
-# Returns the last version of two
-# $1 The first version to compare
-# $2 The second version to compare
-# $3 The variable where to store the last one
-function get_latest_of_two {
- local __first=$1
- local __second=$2
- local __result
- local __latest=$3
- compare_versions $__first $__second __result
- case $__result in
- 0)
- eval "$__latest=$__second"
- ;;
- -1)
- eval "$__latest=$__second"
- ;;
- 1)
- eval "$__latest=$__first"
- ;;
- esac
-}
-
-# Assigns a 2 size array with the identifier, having the identifier at pos 0, and the number in pos 1
-# $1 The identifier in the format -id.#
-# $2 The vferiable where to store the 2 size array
-function explode_identifier {
- local __identifier=$1
- local __result=$2
- if [[ $__identifier =~ $IDENTIFIER_REGEX ]] ; then
- local __id=${BASH_REMATCH[1]}
- local __number=${BASH_REMATCH[2]}
- if [[ -z "$__number" ]]; then
- __number=1
- fi
- eval "$__result=(\"$__id\" \"$__number\")"
- else
- eval "$__result="
- fi
-}
-
-# Gets a list of tags and assigns the base and latest versions
-# Receives an array with the tags containing the versions
-# Assigns to the global variables finalversion and lastversion the final version and the latest version
-function get_latest {
- local __taglist=("$@")
- local __tagsnumber=${#__taglist[@]}
- local __current
- case $__tagsnumber in
- 0)
- finalversion=$FIRST_VERSION
- lastversion=$FIRST_VERSION
- ;;
- 1)
- __current=${__taglist[0]}
- explode_version $__current ver
- if [ -n "$ver" ]; then
- if [ -n "${ver[3]}" ]; then
- finalversion=$FIRST_VERSION
- else
- finalversion=$__current
- fi
- lastversion=$__current
- else
- finalversion=$FIRST_VERSION
- lastversion=$FIRST_VERSION
- fi
- ;;
- *)
- local __lastpos=$(($__tagsnumber-1))
- for i in $(seq 0 $__lastpos)
- do
- __current=${__taglist[i]}
- explode_version ${__taglist[i]} ver
- if [ -n "$ver" ]; then
- if [ -z "${ver[3]}" ]; then
- get_latest_of_two $finalversion $__current finalversion
- get_latest_of_two $lastversion $finalversion lastversion
- else
- get_latest_of_two $lastversion $__current lastversion
- fi
- fi
- done
- ;;
- esac
-
- if git rev-parse -q --verify "refs/tags/$lastversion" >/dev/null; then
- hasversiontag="true"
- else
- hasversiontag="false"
- fi
-}
-
-# Gets the next version given the provided scope
-# $1 The version that is going to be bumped
-# $2 The scope to bump
-# $3 The variable where to stoer the result
-function get_next_version {
- local __exploded
- local __fromversion=$1
- local __scope=$2
- local __result=$3
- explode_version $__fromversion __exploded
- case $__scope in
- major)
- __exploded[0]=$((${__exploded[0]}+1))
- __exploded[1]=0
- __exploded[2]=0
- ;;
- minor)
- __exploded[1]=$((${__exploded[1]}+1))
- __exploded[2]=0
- ;;
- patch)
- __exploded[2]=$((${__exploded[2]}+1))
- ;;
- esac
-
- eval "$__result=v${__exploded[0]}.${__exploded[1]}.${__exploded[2]}"
-}
-
-function bump_version {
- ## First we try to get the next version based on the existing last one
- if [ "$scope" == "auto" ]; then
- get_scope_auto scope
- fi
-
- local __candidatefromlast=$FIRST_VERSION
- local __explodedlast
- explode_version $lastversion __explodedlast
- if [[ -n "${__explodedlast[3]}" ]]; then
- # Last version is not final
- local __idlast
- explode_identifier ${__explodedlast[3]} __idlast
-
- # We get the last, given the desired id based on the scope
- __candidatefromlast="v${__explodedlast[0]}.${__explodedlast[1]}.${__explodedlast[2]}"
- if [[ -n "$identifier" ]]; then
- local __nextid="$identifier.1"
- if [ "$identifier" == "${__idlast[0]}" ]; then
- # We target the same identifier as the last so we increase one
- __nextid="$identifier.$(( ${__idlast[1]}+1 ))"
- __candidatefromlast="$__candidatefromlast-$__nextid"
- else
- # Different identifiers, we make sure we are assigning a higher identifier, if not, we increase the version
- __candidatefromlast="$__candidatefromlast-$__nextid"
- local __comparedwithlast
- compare_versions $__candidatefromlast $lastversion __comparedwithlast
- if [ "$__comparedwithlast" == -1 ]; then
- get_next_version $__candidatefromlast $scope __candidatefromlast
- __candidatefromlast="$__candidatefromlast-$__nextid"
- fi
- fi
- fi
- fi
-
- # Then we try to get the version based on the latest final one
- local __candidatefromfinal=$FIRST_VERSION
- get_next_version $finalversion $scope __candidatefromfinal
- if [[ -n "$identifier" ]]; then
- __candidatefromfinal="$__candidatefromfinal-$identifier.1"
- fi
-
- # Finally we compare both candidates
- local __resultversion
- local __result
- compare_versions $__candidatefromlast $__candidatefromfinal __result
- case $__result in
- 0)
- __resultversion=$__candidatefromlast
- ;;
- -1)
- __resultversion="$__candidatefromfinal"
- ;;
- 1)
- __resultversion=$__candidatefromlast
- ;;
- esac
-
- eval "$1=$__resultversion"
-}
-
-function increase_version {
- local __version=
-
- if [ -z $forcedversion ]; then
- bump_version __version
- else
- if [[ $forcedversion =~ $SEMVER_REGEX ]] ; then
- compare_versions $forcedversion $lastversion __result
- if [ $__result -le 0 ]; then
- echo "Version can't be lower than last version: $lastversion"
- exit 1
- fi
- else
- echo "Non valid version to bump"
- exit 1
- fi
- __version=$forcedversion
- fi
-
- if [ "$displayonly" == "true" ]; then
- echo "$__version"
- else
- if [ "$forcetag" == "false" ]; then
- check_git_dirty_status
- fi
- local __commitlist
- if [ "$finalversion" == "$FIRST_VERSION" ] || [ "$hasversiontag" != "true" ]; then
- __commitlist="$(git log --pretty=oneline | cat)"
- else
- __commitlist="$(git log --pretty=oneline $finalversion... | cat)"
- fi
-
- # If we are forcing a bump, we add bump to the commit list
- if [[ -z $__commitlist && "$forcetag" == "true" ]]; then
- __commitlist="bump"
- fi
-
- if [[ -z $__commitlist ]]; then
- echo "No commits since the last final version, not bumping version"
- else
- if [[ -z $versionname ]]; then
- versionname=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
- fi
- local __message="$versionname
-$__commitlist"
-
- # We check we have info on the user
- local __username=$(git config user.name)
- if [ -z "$__username" ]; then
- __username=$(id -u -n)
- git config user.name $__username
- fi
- local __useremail=$(git config user.email)
- if [ -z "$__useremail" ]; then
- __useremail=$(hostname)
- git config user.email "$__username@$__useremail"
- fi
-
- git tag -a $__version -m "$__message"
-
- # If we have a remote, we push there
- local __remotes=$(git remote)
- if [[ -n $__remotes ]]; then
- for __remote in $__remotes; do
- git push $__remote $__version > /dev/null
- if [ $? -eq 0 ]; then
- echo "$__version pushed to $__remote"
- else
- echo "Error pushing the tag $__version to $__remote"
- exit 1
- fi
- done
- else
- echo "$__version"
- fi
- fi
- fi
-}
-
-function check_git_dirty_status {
- local __repostatus=
- get_work_tree_status __repostatus
-
- if [ "$__repostatus" == "uncommitted" ]; then
- echo "ERROR: You have uncommitted changes"
- git status --porcelain
- exit 1
- fi
-
- if [ "$__repostatus" == "unstaged" ]; then
- echo "ERROR: You have unstaged changes"
- git status --porcelain
- exit 1
- fi
-}
-
-# Get the total amount of lines of code in the repo
-function get_total_lines {
- local __empty_id="$(git hash-object -t tree /dev/null)"
- local __changes="$(git diff --numstat $__empty_id | cat)"
- local __added_deleted=$1
- get_changed_lines "$__changes" $__added_deleted
-}
-
-# Get the total amount of lines of code since the provided tag
-function get_sincetag_lines {
- local __sincetag=$1
- local __changes="$(git diff --numstat $__sincetag | cat)"
- local __added_deleted=$2
- get_changed_lines "$__changes" $__added_deleted
-}
-
-function get_changed_lines {
- local __changes_numstat=$1
- local __result=$2
- IFS=$'\n' read -rd '' -a __changes_array <<<"$__changes_numstat"
- local __diff_regex="^([0-9]+)[[:space:]]+([0-9]+)[[:space:]]+.+$"
-
- local __total_added=0
- local __total_deleted=0
- for i in "${__changes_array[@]}"
- do
- if [[ $i =~ $__diff_regex ]] ; then
- local __added=${BASH_REMATCH[1]}
- local __deleted=${BASH_REMATCH[2]}
- __total_added=$(( $__total_added+$__added ))
- __total_deleted=$(( $__total_deleted+$__deleted ))
- fi
- done
- eval "$2=( $__total_added $__total_deleted )"
-}
-
-function get_scope_auto {
- local __verbose=$2
- local __total=0
- local __since=0
- local __scope=
-
- get_total_lines __total
- get_sincetag_lines $finalversion __since
-
- local __percentage=0
- if [ "$__total" != "0" ]; then
- local __percentage=$(( 100*$__since/$__total ))
- if [ $__percentage -gt "10" ]; then
- __scope="minor"
- else
- __scope="patch"
- fi
- fi
-
- eval "$1=$__scope"
- if [[ -n "$__verbose" ]]; then
- echo "[Auto Scope] Percentage of lines changed: $__percentage"
- echo "[Auto Scope] : $__scope"
- fi
-}
-
-function get_work_tree_status {
- # Update the index
- git update-index -q --ignore-submodules --refresh > /dev/null
- eval "$1="
-
- if ! git diff-files --quiet --ignore-submodules -- > /dev/null
- then
- eval "$1=unstaged"
- fi
-
- if ! git diff-index --cached --quiet HEAD --ignore-submodules -- > /dev/null
- then
- eval "$1=uncommitted"
- fi
-}
-
-function get_current {
- if [ "$hasversiontag" == "true" ]; then
- local __commitcount="$(git rev-list $lastversion.. --count)"
- else
- local __commitcount="$(git rev-list --count HEAD)"
- fi
- local __status=
- get_work_tree_status __status
-
- if [ "$__commitcount" == "0" ] && [ -z "$__status" ]; then
- eval "$1=$lastversion"
- else
- local __buildinfo="$(git rev-parse --short HEAD)"
- local __currentbranch="$(git rev-parse --abbrev-ref HEAD)"
- if [ "$__currentbranch" != "master" ]; then
- __buildinfo="$__currentbranch.$__buildinfo"
- fi
-
- local __suffix=
- if [ "$__commitcount" != "0" ]; then
- if [ -n "$__suffix" ]; then
- __suffix="$__suffix."
- fi
- __suffix="$__suffix$__commitcount"
- fi
- if [ -n "$__status" ]; then
- if [ -n "$__suffix" ]; then
- __suffix="$__suffix."
- fi
- __suffix="$__suffix$__status"
- fi
-
- __suffix="$__suffix+$__buildinfo"
- if [ "$lastversion" == "$finalversion" ]; then
- scope="patch"
- identifier=
- local __bumped=
- bump_version __bumped
- eval "$1=$__bumped-dev.$__suffix"
- else
- eval "$1=$lastversion.$__suffix"
- fi
- fi
-}
-
-function init {
- git fetch > /dev/null
- TAGS="$(git tag)"
- IFS=$'\n' read -rd '' -a TAG_ARRAY <<<"$TAGS"
-
- get_latest ${TAG_ARRAY[@]}
- currentbranch="$(git rev-parse --abbrev-ref HEAD)"
-}
-
-case $ACTION in
- --help)
- echo -e "$HELP"
- ;;
- --version)
- echo -e "${PROG}: $PROG_VERSION"
- ;;
- final)
- init
- diff=$(git diff master | cat)
- if [ "$forcetag" == "false" ]; then
- if [ -n "$diff" ]; then
- echo "ERROR: Branch must be updated with master for final versions"
- exit 1
- fi
- fi
- increase_version
- ;;
- alpha|beta)
- init
- identifier="$ACTION"
- increase_version
- ;;
- candidate)
- init
- identifier="rc"
- increase_version
- ;;
- getlast)
- init
- echo "$lastversion"
- ;;
- getfinal)
- init
- echo "$finalversion"
- ;;
- getcurrent)
- init
- get_current current
- echo "$current"
- ;;
- get)
- init
- echo "Current final version: $finalversion"
- echo "Last tagged version: $lastversion"
- ;;
- *)
- echo "'$ACTION' is not a valid command, see --help for available commands."
- ;;
-esac
diff --git a/versions.tf b/versions.tf
index e9b6bc95626..602d086f47f 100644
--- a/versions.tf
+++ b/versions.tf
@@ -2,10 +2,22 @@ terraform {
required_version = ">= 0.13.1"
required_providers {
- aws = ">= 3.56.0"
- local = ">= 1.4"
- kubernetes = ">= 1.11.1"
- cloudinit = ">= 2.0"
+ aws = {
+ source = "hashicorp/aws"
+ version = ">= 3.56"
+ }
+ local = {
+ source = "hashicorp/local"
+ version = ">= 1.4"
+ }
+ kubernetes = {
+ source = "hashicorp/kubernetes"
+ version = ">= 1.11.1"
+ }
+ cloudinit = {
+ source = "hashicorp/cloudinit"
+ version = ">= 2.0"
+ }
http = {
source = "terraform-aws-modules/http"
version = ">= 2.4.1"