diff --git a/.checkov.yaml b/.checkov.yaml index 17517ac..28b0676 100644 --- a/.checkov.yaml +++ b/.checkov.yaml @@ -10,3 +10,5 @@ quiet: true skip-path: - .external_modules - modules + - catalog-info.yml +baseline: .checkov.baseline diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index a178f2c..039f966 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -6,7 +6,7 @@ --> -## Pull Request Submission Checklist +### Pull Request Submission Checklist Please confirm that you have done the following before requesting reviews: @@ -17,3 +17,9 @@ Please confirm that you have done the following before requesting reviews: ### Description * + +### Experiment Link + + + +GrowthBook Experiment Link: https://app.growthbook.io/features/ diff --git a/.github/workflows/checkov.yaml b/.github/workflows/checkov.yaml new file mode 100644 index 0000000..1cbe949 --- /dev/null +++ b/.github/workflows/checkov.yaml @@ -0,0 +1,27 @@ +# yamllint disable rule:line-length +# Use template from https://github.com/honestbank/workflows/tree/main/examples/repository-workflows +--- +name: "repository-checkov" +permissions: read-all + +on: # yamllint disable-line rule:truthy + pull_request: + branches: + - test + - dev + - qa + - prod + - main + push: + branches: + - test + - dev + - qa + - prod + - main + +jobs: + repository-checkov: + name: repository-checkov + uses: honestbank/workflows/.github/workflows/shared-checkov.yaml@main + secrets: inherit diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5a55de0..13d71b6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,27 +6,37 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 # Get the latest from: https://github.com/pre-commit/pre-commit-hooks/releases + rev: v4.5.0 # Get the latest from: https://github.com/pre-commit/pre-commit-hooks/releases hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: check-added-large-files + - id: detect-aws-credentials + args: ['--allow-missing-credentials'] - repo: https://github.com/antonbabenko/pre-commit-terraform - rev: v1.83.2 # Get the latest from: https://github.com/antonbabenko/pre-commit-terraform/releases + rev: v1.83.5 # Get the latest from: https://github.com/antonbabenko/pre-commit-terraform/releases hooks: - id: terraform_fmt - - id: terraform_docs - id: terraform_validate - exclude: (test/|examples/) + args: + - --hook-config=--retry-once-with-cleanup=true + - --tf-init-args=-upgrade - id: terraform_tfsec - exclude: (test/|examples/) + exclude: "test/" - id: terraform_checkov - exclude: (test/|examples/) - - repo: https://github.com/gitguardian/ggshield - rev: v1.18.1 # Update to latest version by running `pre-commit autoupdate` + exclude: "test/" + - repo: https://github.com/gitguardian/ggshield + rev: v1.20.0 + hooks: + - id: ggshield + language: python + stages: [commit] + args: [ 'secret', 'scan', 'pre-commit' ] + - repo: local hooks: - - id: ggshield - language: python - stages: [commit] - args: [ 'secret', 'scan', 'pre-commit' ] + - id: docs + name: docs + entry: make + args: [ 'docs' ] + language: system diff --git a/Makefile b/Makefile index 19da8b5..3a6498f 100644 --- a/Makefile +++ b/Makefile @@ -2,22 +2,14 @@ lint: terraform fmt --recursive validate: lint - cd examples/create_mysql_instance_with_public_ip/; terraform init --upgrade; terraform validate - cd examples/create_mysql_instance_with_private_ip/; terraform init --upgrade; terraform validate - cd examples/mysql_instance_with_read_replica/; terraform init --upgrade; terraform validate - cd examples/postgres_instance_with_read_replica/; terraform init --upgrade; terraform validate + terraform init --upgrade + terraform validate docs: + mv .terraform{,.bak} + mv .terraform.lock.hcl{,.bak} terraform-docs -c .terraform-docs.yml . - cd examples/create_mysql_instance_with_public_ip/; terraform-docs markdown . --output-file README.md --output-mode inject - cd examples/create_mysql_instance_with_private_ip/; terraform-docs markdown . --output-file README.md --output-mode inject - cd examples/mysql_instance_with_read_replica/; terraform-docs markdown . --output-file README.md --output-mode inject - cd examples/postgres_instance_with_read_replica/; terraform-docs markdown . --output-file README.md --output-mode inject + mv .terraform{.bak,} + mv .terraform.lock.hcl{.bak,} commit: docs validate - -apply_and_destroy: - terraform apply -auto-approve && terraform apply -auto-approve -destroy - -tests: - cd test; go clean -testcache; ./test.sh