diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 41c1baa..bed3c96 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,4 +1,14 @@
# Use this file to define individuals or teams that are responsible for code in a repository.
# Read more:
+#
+# Order is important: the last matching pattern takes the most precedence
-* @cloudposse/engineering
\ No newline at end of file
+# These owners will be the default owners for everything
+* @cloudposse/engineering @cloudposse/contributors
+
+# Cloud Posse must review any changes to Makefiles
+**/Makefile @cloudposse/engineering
+**/Makefile.* @cloudposse/engineering
+
+# Cloud Posse must review any changes to GitHub actions
+.github/* @cloudposse/engineering
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index ecc9eb6..39a8686 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -7,7 +7,7 @@ assignees: ''
---
-Have a question? Please checkout our [Slack Community](https://slack.cloudposse.com) in the `#geodesic` channel or visit our [Slack Archive](https://archive.sweetops.com/geodesic/).
+Have a question? Please checkout our [Slack Community](https://slack.cloudposse.com) or visit our [Slack Archive](https://archive.sweetops.com/).
[](https://slack.cloudposse.com)
@@ -33,4 +33,4 @@ Explain what alternative solutions or features you've considered.
## Additional Context
-Add any other context or screenshots about the feature request here.
\ No newline at end of file
+Add any other context or screenshots about the feature request here.
diff --git a/.github/auto-release.yml b/.github/auto-release.yml
new file mode 100644
index 0000000..2836185
--- /dev/null
+++ b/.github/auto-release.yml
@@ -0,0 +1,40 @@
+name-template: 'v$RESOLVED_VERSION'
+tag-template: '$RESOLVED_VERSION'
+version-template: '$MAJOR.$MINOR.$PATCH'
+version-resolver:
+ major:
+ labels:
+ - 'major'
+ minor:
+ labels:
+ - 'minor'
+ - 'enhancement'
+ patch:
+ labels:
+ - 'patch'
+ - 'fix'
+ - 'bugfix'
+ - 'bug'
+ - 'hotfix'
+ default: 'minor'
+
+categories:
+ - title: '🚀 Enhancements'
+ labels:
+ - 'enhancement'
+ - title: '🐛 Bug Fixes'
+ labels:
+ - 'fix'
+ - 'bugfix'
+ - 'bug'
+ - 'hotfix'
+
+change-template: |
+
+ $TITLE @$AUTHOR (#$NUMBER)
+
+ $BODY
+
+
+template: |
+ $CHANGES
diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml
new file mode 100644
index 0000000..e21fbfe
--- /dev/null
+++ b/.github/workflows/auto-release.yml
@@ -0,0 +1,19 @@
+name: auto-release
+
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+ semver:
+ runs-on: ubuntu-latest
+ steps:
+ # Drafts your next Release notes as Pull Requests are merged into "master"
+ - uses: release-drafter/release-drafter@v5
+ with:
+ publish: true
+ prerelease: false
+ config-name: auto-release.yml
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/chatops.yml b/.github/workflows/chatops.yml
index a6bb11b..0d94310 100644
--- a/.github/workflows/chatops.yml
+++ b/.github/workflows/chatops.yml
@@ -9,13 +9,13 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: "Handle common commands"
- uses: cloudposse/actions/github/slash-command-dispatch@0.15.0
+ uses: cloudposse/actions/github/slash-command-dispatch@0.16.0
with:
token: ${{ secrets.PUBLIC_REPO_ACCESS_TOKEN }}
reaction-token: ${{ secrets.GITHUB_TOKEN }}
repository: cloudposse/actions
commands: rebuild-readme, terraform-fmt
- permission: none
+ permission: triage
issue-type: pull-request
test:
@@ -24,13 +24,13 @@ jobs:
- name: "Checkout commit"
uses: actions/checkout@v2
- name: "Run tests"
- uses: cloudposse/actions/github/slash-command-dispatch@0.15.0
+ uses: cloudposse/actions/github/slash-command-dispatch@0.16.0
with:
token: ${{ secrets.PUBLIC_REPO_ACCESS_TOKEN }}
reaction-token: ${{ secrets.GITHUB_TOKEN }}
repository: cloudposse/actions
commands: test
- permission: none
+ permission: triage
issue-type: pull-request
reactions: false
diff --git a/README.md b/README.md
index 1fed862..747d24c 100644
--- a/README.md
+++ b/README.md
@@ -120,7 +120,7 @@ is given
| Name | Version |
|------|---------|
-| terraform | >= 0.12.0, < 0.14.0 |
+| terraform | >= 0.12.0 |
| aws | ~> 2.0 |
| null | ~> 2.0 |
| template | ~> 2.0 |
diff --git a/docs/terraform.md b/docs/terraform.md
index 90746c2..28c9bbb 100644
--- a/docs/terraform.md
+++ b/docs/terraform.md
@@ -9,7 +9,7 @@ is given
| Name | Version |
|------|---------|
-| terraform | >= 0.12.0, < 0.14.0 |
+| terraform | >= 0.12.0 |
| aws | ~> 2.0 |
| null | ~> 2.0 |
| template | ~> 2.0 |
diff --git a/examples/complete/main.tf b/examples/complete/main.tf
index ca845d1..c7302f5 100644
--- a/examples/complete/main.tf
+++ b/examples/complete/main.tf
@@ -3,7 +3,7 @@ provider "aws" {
}
module "vpc" {
- source = "git::https://github.com/cloudposse/terraform-aws-vpc.git?ref=tags/0.10.0"
+ source = "git::https://github.com/cloudposse/terraform-aws-vpc.git?ref=tags/0.16.1"
namespace = var.namespace
stage = var.stage
name = var.name
@@ -11,7 +11,7 @@ module "vpc" {
}
module "subnets" {
- source = "git::https://github.com/cloudposse/terraform-aws-dynamic-subnets.git?ref=tags/0.19.0"
+ source = "git::https://github.com/cloudposse/terraform-aws-dynamic-subnets.git?ref=tags/0.26.0"
availability_zones = var.availability_zones
namespace = var.namespace
stage = var.stage
@@ -24,7 +24,7 @@ module "subnets" {
}
module "elasticsearch" {
- source = "git::https://github.com/cloudposse/terraform-aws-elasticsearch.git?ref=tags/0.12.0"
+ source = "git::https://github.com/cloudposse/terraform-aws-elasticsearch.git?ref=tags/0.20.2"
namespace = var.namespace
stage = var.stage
name = var.name
diff --git a/main.tf b/main.tf
index 869577d..45090c0 100644
--- a/main.tf
+++ b/main.tf
@@ -75,7 +75,7 @@ data "aws_iam_policy_document" "default" {
# Modules
#--------------------------------------------------------------
module "label" {
- source = "git::https://github.com/cloudposse/terraform-null-label.git?ref=tags/0.16.0"
+ source = "git::https://github.com/cloudposse/terraform-null-label.git?ref=tags/0.17.0"
enabled = var.enabled
namespace = var.namespace
name = var.name
@@ -86,7 +86,7 @@ module "label" {
}
module "artifact" {
- source = "git::https://github.com/cloudposse/terraform-external-module-artifact.git?ref=tags/0.3.0"
+ source = "git::https://github.com/cloudposse/terraform-external-module-artifact.git?ref=tags/0.4.0"
enabled = var.enabled
filename = "lambda.zip"
module_name = "terraform-aws-lambda-elasticsearch-cleanup"
diff --git a/test/src/Gopkg.lock b/test/src/Gopkg.lock
deleted file mode 100644
index 87bb6bd..0000000
--- a/test/src/Gopkg.lock
+++ /dev/null
@@ -1,92 +0,0 @@
-# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
-
-
-[[projects]]
- digest = "1:ffe9824d294da03b391f44e1ae8281281b4afc1bdaa9588c9097785e3af10cec"
- name = "github.com/davecgh/go-spew"
- packages = ["spew"]
- pruneopts = "UT"
- revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"
- version = "v1.1.1"
-
-[[projects]]
- digest = "1:75d6042fc66aebc974cc49b0c6c7cc3b9adb5f8130fbfa0dbec0820d990afa25"
- name = "github.com/gruntwork-io/terratest"
- packages = [
- "modules/collections",
- "modules/customerrors",
- "modules/files",
- "modules/logger",
- "modules/retry",
- "modules/shell",
- "modules/ssh",
- "modules/terraform",
- ]
- pruneopts = "UT"
- revision = "892abb2c35878d0808101bbfe6559e931dc2d354"
- version = "v0.16.0"
-
-[[projects]]
- digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe"
- name = "github.com/pmezard/go-difflib"
- packages = ["difflib"]
- pruneopts = "UT"
- revision = "792786c7400a136282c1664665ae0a8db921c6c2"
- version = "v1.0.0"
-
-[[projects]]
- digest = "1:5da8ce674952566deae4dbc23d07c85caafc6cfa815b0b3e03e41979cedb8750"
- name = "github.com/stretchr/testify"
- packages = [
- "assert",
- "require",
- ]
- pruneopts = "UT"
- revision = "ffdc059bfe9ce6a4e144ba849dbedead332c6053"
- version = "v1.3.0"
-
-[[projects]]
- branch = "master"
- digest = "1:831470c2758c8b733941144f2803a0ccad0632c5a767415b777ebd296b5f463e"
- name = "golang.org/x/crypto"
- packages = [
- "curve25519",
- "ed25519",
- "ed25519/internal/edwards25519",
- "internal/chacha20",
- "internal/subtle",
- "poly1305",
- "ssh",
- "ssh/agent",
- ]
- pruneopts = "UT"
- revision = "22d7a77e9e5f409e934ed268692e56707cd169e5"
-
-[[projects]]
- branch = "master"
- digest = "1:76ee51c3f468493aff39dbacc401e8831fbb765104cbf613b89bef01cf4bad70"
- name = "golang.org/x/net"
- packages = ["context"]
- pruneopts = "UT"
- revision = "f3200d17e092c607f615320ecaad13d87ad9a2b3"
-
-[[projects]]
- branch = "master"
- digest = "1:181f3fd33e620b958b5ab77da177cf775cdcccd7db82963607875fbd09ae995e"
- name = "golang.org/x/sys"
- packages = [
- "cpu",
- "unix",
- ]
- pruneopts = "UT"
- revision = "9cd6430ef91e39e1a0ec0470cf1321a33ef1b887"
-
-[solve-meta]
- analyzer-name = "dep"
- analyzer-version = 1
- input-imports = [
- "github.com/gruntwork-io/terratest/modules/terraform",
- "github.com/stretchr/testify/assert",
- ]
- solver-name = "gps-cdcl"
- solver-version = 1
diff --git a/test/src/Gopkg.toml b/test/src/Gopkg.toml
deleted file mode 100644
index 995bac5..0000000
--- a/test/src/Gopkg.toml
+++ /dev/null
@@ -1,7 +0,0 @@
-[[constraint]]
- name = "github.com/stretchr/testify"
- version = "1.2.2"
-
-[prune]
- go-tests = true
- unused-packages = true
diff --git a/test/src/Makefile b/test/src/Makefile
index 25cab8f..2707cd2 100644
--- a/test/src/Makefile
+++ b/test/src/Makefile
@@ -1,50 +1,30 @@
-PACKAGE = terraform-aws-lambda-elasticsearch-cleanup
-GOEXE ?= /usr/bin/go
-GOPATH = $(CURDIR)/.gopath
-GOBIN = $(GOPATH)/bin
-BASE = $(GOPATH)/src/$(PACKAGE)
-PATH := $(PATH):$(GOBIN)
-
-export TF_DATA_DIR ?= $(CURDIR)/.terraform
export TF_CLI_ARGS_init ?= -get-plugins=true
-export GOPATH
+export TERRAFORM_VERSION ?= $(shell curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r -M '.current_version' | cut -d. -f1-2)
+
+.DEFAULT_GOAL : all
.PHONY: all
## Default target
all: test
-ifneq (,$(wildcard /sbin/apk))
-## Install go, if not installed
-$(GOEXE):
- apk add --update go
-endif
-
-ifeq ($(shell uname -s),Linux)
-## Install all `dep`, if not installed
-$(GOBIN)/dep:
- @mkdir -p $(GOBIN)
- @curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
-endif
-
-## Prepare the GOPATH
-$(BASE): $(GOEXE)
- @mkdir -p $(dir $@)
- @ln -sf $(CURDIR) $@
-
-## Download vendor dependencies to vendor/
-$(BASE)/vendor: $(BASE) $(GOBIN)/dep
- cd $(BASE) && dep ensure
-
.PHONY : init
## Initialize tests
-init: $(BASE)/vendor
+init:
+ @exit 0
.PHONY : test
## Run tests
test: init
- cd $(BASE) && go test -v -timeout 120m -run TestExamplesComplete
+ go mod download
+ go test -v -timeout 60m -run TestExamplesComplete
+
+## Run tests in docker container
+docker/test:
+ docker run --name terratest --rm -it -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN -e GITHUB_TOKEN \
+ -e PATH="/usr/local/terraform/$(TERRAFORM_VERSION)/bin:/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \
+ -v $(CURDIR)/../../:/module/ cloudposse/test-harness:latest -C /module/test/src test
.PHONY : clean
## Clean up files
clean:
- rm -rf .gopath/ vendor/ $(TF_DATA_DIR)
+ rm -rf ../../examples/complete/*.tfstate*
diff --git a/test/src/go.mod b/test/src/go.mod
new file mode 100644
index 0000000..61499bb
--- /dev/null
+++ b/test/src/go.mod
@@ -0,0 +1,14 @@
+module github.com/cloudposse/terraform-aws-lambda-elasticsearch-cleanup
+
+go 1.13
+
+require (
+ github.com/aws/aws-sdk-go v1.34.7 // indirect
+ github.com/davecgh/go-spew v1.1.1 // indirect
+ github.com/google/uuid v1.1.1 // indirect
+ github.com/gruntwork-io/terratest v0.16.0
+ github.com/pquerna/otp v1.2.0 // indirect
+ github.com/stretchr/testify v1.5.1
+ golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f // indirect
+ golang.org/x/sys v0.0.0-20190527104216-9cd6430ef91e // indirect
+)
diff --git a/test/src/go.sum b/test/src/go.sum
new file mode 100644
index 0000000..0cb89a2
--- /dev/null
+++ b/test/src/go.sum
@@ -0,0 +1,41 @@
+github.com/aws/aws-sdk-go v1.34.7 h1:74UoHD376AS93rcGRr2Ec6hG/mTJEKT9373xiGijWzI=
+github.com/aws/aws-sdk-go v1.34.7/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
+github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8WK8raXaxBx6fRVTlJILwEwQGL1I/ByEI=
+github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
+github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
+github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/gruntwork-io/terratest v0.16.0 h1:8dDdkAzqwVDclmefcy//oBPWs5bVrWuKYCUwG0WFG4c=
+github.com/gruntwork-io/terratest v0.16.0/go.mod h1:NjUn6YXA5Skxt8Rs20t3isYx5Rl+EgvGB8/+RRXddqk=
+github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc=
+github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/pquerna/otp v1.2.0 h1:/A3+Jn+cagqayeR3iHs/L62m5ue7710D35zl1zJ1kok=
+github.com/pquerna/otp v1.2.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
+github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f h1:R423Cnkcp5JABoeemiGEPlt9tHXFfw5kvc0yqlxRPWo=
+golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190527104216-9cd6430ef91e h1:Pzdi8HRppinixnWWzN6KSa0QkBM+GKsTJaWwwfJskNw=
+golang.org/x/sys v0.0.0-20190527104216-9cd6430ef91e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/versions.tf b/versions.tf
index 298a3d1..f6f3cb3 100644
--- a/versions.tf
+++ b/versions.tf
@@ -1,5 +1,5 @@
terraform {
- required_version = ">= 0.12.0, < 0.14.0"
+ required_version = ">= 0.12.0"
required_providers {
aws = "~> 2.0"