diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 0000000..4fdb225 --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,13 @@ +# CodeRabbit Configuration File +# https://coderabbit.ai/docs/get-started/customize-coderabbit + +# yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json + +early_access: true +reviews: + request_changes_workflow: true + auto_review: + enabled: true + poem: false +chat: + auto_reply: true diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d4e5436..c7a4849 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,17 +11,8 @@ repos: - id: check-symlinks - id: no-commit-to-branch - - repo: local - hooks: - - id: infracost_generate_config - name: Infracost generate config - entry: bash -c 'infracost generate config --repo-path=. --template-path=infracost.yml.tmpl --out-file=infracost.yml' - language: system - files: ^infracost\.yml\.tmpl$ - verbose: false - - repo: https://github.com/antonbabenko/pre-commit-terraform - rev: v1.83.6 + rev: v1.88.0 hooks: - id: terraform_fmt @@ -42,4 +33,3 @@ repos: args: - --args=--config-file=infracost.yml - --args=--sync-usage-file - verbose: false diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100755 index 0000000..7a18643 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "github-actions.workflows.pinned.workflows": [ + ".github/workflows/kitchen.yml" + ] +} diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..136839d --- /dev/null +++ b/Gemfile @@ -0,0 +1,10 @@ +source 'https://rubygems.org' + +# Terraform module testing + +gem 'kitchen-terraform', '7.0.2' + +# These Gems are used by the Shopify/ruby-lsp Visual Studio Code extension + +gem 'rubocop', '1.25.1' +gem 'ruby-lsp', '0.14.2' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..bf27241 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,770 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (7.1.3.2) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + ast (2.4.2) + aws-eventstream (1.3.0) + aws-partitions (1.863.0) + aws-sdk-accessanalyzer (1.44.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-account (1.20.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-alexaforbusiness (1.67.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-amplify (1.54.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-apigateway (1.90.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-apigatewayv2 (1.53.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-applicationautoscaling (1.79.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-athena (1.79.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-autoscaling (1.102.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-batch (1.79.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-budgets (1.62.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudformation (1.97.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudfront (1.86.1) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudhsm (1.50.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudhsmv2 (1.53.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudtrail (1.74.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudwatch (1.83.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudwatchevents (1.69.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cloudwatchlogs (1.77.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-codecommit (1.62.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-codedeploy (1.62.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-codepipeline (1.67.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cognitoidentity (1.51.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-cognitoidentityprovider (1.85.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-configservice (1.103.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-core (3.190.3) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.8) + jmespath (~> 1, >= 1.6.1) + aws-sdk-costandusagereportservice (1.53.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-databasemigrationservice (1.91.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-dynamodb (1.98.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-ec2 (1.429.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-ecr (1.68.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-ecrpublic (1.25.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-ecs (1.135.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-efs (1.71.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-eks (1.95.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticache (1.95.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticbeanstalk (1.63.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticloadbalancing (1.51.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticloadbalancingv2 (1.96.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-elasticsearchservice (1.79.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-emr (1.81.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-eventbridge (1.54.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-firehose (1.60.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-glue (1.165.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-guardduty (1.85.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-iam (1.92.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-kafka (1.67.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-kinesis (1.54.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-kms (1.76.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-lambda (1.113.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-macie2 (1.64.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-mq (1.58.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-networkfirewall (1.39.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-networkmanager (1.40.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-organizations (1.83.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-ram (1.52.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-rds (1.208.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-redshift (1.107.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53 (1.83.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53domains (1.54.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-route53resolver (1.51.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.141.0) + aws-sdk-core (~> 3, >= 3.189.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.8) + aws-sdk-s3control (1.74.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-secretsmanager (1.87.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-securityhub (1.98.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-servicecatalog (1.90.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-ses (1.58.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-shield (1.60.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-signer (1.50.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-simpledb (1.42.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv2 (~> 1.0) + aws-sdk-sms (1.52.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-sns (1.70.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-sqs (1.69.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-ssm (1.162.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-states (1.63.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-synthetics (1.39.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-transfer (1.86.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-waf (1.58.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-wafv2 (1.74.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sigv2 (1.2.0) + aws-sigv4 (1.8.0) + aws-eventstream (~> 1, >= 1.0.2) + azure_graph_rbac (0.17.2) + ms_rest_azure (~> 0.12.0) + azure_mgmt_key_vault (0.17.7) + ms_rest_azure (~> 0.12.0) + azure_mgmt_resources (0.18.2) + ms_rest_azure (~> 0.12.0) + azure_mgmt_security (0.19.0) + ms_rest_azure (~> 0.12.0) + azure_mgmt_storage (0.23.0) + ms_rest_azure (~> 0.12.0) + base64 (0.2.0) + bcrypt_pbkdf (1.1.0) + bigdecimal (3.1.6) + bson (4.15.0) + builder (3.2.4) + chef-config (18.4.2) + addressable + chef-utils (= 18.4.2) + fuzzyurl + mixlib-config (>= 2.2.12, < 4.0) + mixlib-shellout (>= 2.0, < 4.0) + tomlrb (~> 1.2) + chef-telemetry (1.1.1) + chef-config + concurrent-ruby (~> 1.0) + chef-utils (18.4.2) + concurrent-ruby + coderay (1.1.3) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) + cookstyle (7.32.8) + rubocop (= 1.25.1) + declarative (0.0.20) + delegate (0.3.1) + diff-lcs (1.5.1) + docker-api (2.2.0) + excon (>= 0.47.0) + multi_json + domain_name (0.6.20240107) + drb (2.2.0) + ruby2_keywords + dry-configurable (1.1.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-core (1.0.1) + concurrent-ruby (~> 1.0) + zeitwerk (~> 2.6) + dry-inflector (1.0.0) + dry-initializer (3.1.1) + dry-logic (1.5.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-schema (1.13.3) + concurrent-ruby (~> 1.0) + dry-configurable (~> 1.0, >= 1.0.1) + dry-core (~> 1.0, < 2) + dry-initializer (~> 3.0) + dry-logic (>= 1.4, < 2) + dry-types (>= 1.7, < 2) + zeitwerk (~> 2.6) + dry-struct (1.6.0) + dry-core (~> 1.0, < 2) + dry-types (>= 1.7, < 2) + ice_nine (~> 0.11) + zeitwerk (~> 2.6) + dry-types (1.7.2) + bigdecimal (~> 3.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) + zeitwerk (~> 2.6) + dry-validation (1.10.0) + concurrent-ruby (~> 1.0) + dry-core (~> 1.0, < 2) + dry-initializer (~> 3.0) + dry-schema (>= 1.12, < 2) + zeitwerk (~> 2.6) + ed25519 (1.3.0) + erubi (1.12.0) + excon (0.109.0) + faraday (1.10.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-follow_redirects (0.3.0) + faraday (>= 1, < 3) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.0.0) + faraday (~> 1.0) + ffi (1.16.3) + fuzzyurl (0.9.0) + google-api-client (0.52.0) + addressable (~> 2.5, >= 2.5.1) + googleauth (~> 0.9) + httpclient (>= 2.8.1, < 3.0) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + rexml + signet (~> 0.12) + googleauth (0.14.0) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (~> 0.14) + gssapi (1.3.1) + ffi (>= 1.0.1) + gyoku (1.4.0) + builder (>= 2.1.2) + rexml (~> 3.0) + hashdiff (1.0.1) + hashie (4.1.0) + highline (2.1.0) + http-cookie (1.0.5) + domain_name (~> 0.5) + httpclient (2.8.3) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + ice_nine (0.11.2) + inifile (3.0.0) + inspec (5.22.3) + cookstyle + faraday_middleware (>= 0.12.2, < 1.1) + inspec-core (= 5.22.3) + mongo (= 2.13.2) + progress_bar (~> 1.3.3) + rake + train (~> 3.10) + train-aws (~> 0.2) + train-habitat (~> 0.1) + train-kubernetes (~> 0.1) + train-winrm (~> 0.2) + inspec-core (5.22.3) + addressable (~> 2.4) + chef-telemetry (~> 1.0, >= 1.0.8) + faraday (>= 1, < 3) + faraday-follow_redirects (~> 0.3) + hashie (>= 3.4, < 5.0) + license-acceptance (>= 0.2.13, < 3.0) + method_source (>= 0.8, < 2.0) + mixlib-log (~> 3.0) + multipart-post (~> 2.0) + parallel (~> 1.9) + parslet (>= 1.5, < 2.0) + pry (~> 0.13) + rspec (>= 3.9, <= 3.11) + rspec-its (~> 1.2) + rubyzip (>= 1.2.2, < 3.0) + semverse (~> 3.0) + sslshake (~> 1.2) + thor (>= 0.20, < 2.0) + tomlrb (>= 1.2, < 2.1) + train-core (~> 3.10) + tty-prompt (~> 0.17) + tty-table (~> 0.10) + jmespath (1.6.2) + json (2.7.1) + jsonpath (1.1.5) + multi_json + jwt (2.8.0) + base64 + k8s-ruby (0.16.0) + dry-configurable + dry-struct + dry-types + excon (~> 0.71) + hashdiff (~> 1.0.0) + jsonpath (~> 1.1) + recursive-open-struct (~> 1.1.3) + yajl-ruby (~> 1.4.0) + yaml-safe_load_stream3 + kitchen-terraform (7.0.2) + delegate (~> 0.3.0) + dry-validation (~> 1.6) + inspec (~> 5.21, >= 5.21.29) + json (~> 2.3) + test-kitchen (>= 2.1, < 4.0) + tty-which (~> 0.5.0) + language_server-protocol (3.17.0.3) + license-acceptance (2.1.13) + pastel (~> 0.7) + tomlrb (>= 1.2, < 3.0) + tty-box (~> 0.6) + tty-prompt (~> 0.20) + little-plugger (1.1.4) + logging (2.3.1) + little-plugger (~> 1.1) + multi_json (~> 1.14) + memoist (0.16.2) + method_source (1.0.0) + mini_mime (1.1.5) + minitest (5.22.2) + mixlib-config (3.0.27) + tomlrb + mixlib-install (3.12.30) + mixlib-shellout + mixlib-versioning + thor + mixlib-log (3.0.9) + mixlib-shellout (3.2.7) + chef-utils + mixlib-versioning (1.2.12) + mongo (2.13.2) + bson (>= 4.8.2, < 5.0.0) + ms_rest (0.7.6) + concurrent-ruby (~> 1.0) + faraday (>= 0.9, < 2.0.0) + timeliness (~> 0.3.10) + ms_rest_azure (0.12.0) + concurrent-ruby (~> 1.0) + faraday (>= 0.9, < 2.0.0) + faraday-cookie_jar (~> 0.0.6) + ms_rest (~> 0.7.6) + multi_json (1.15.0) + multipart-post (2.4.0) + mutex_m (0.2.0) + net-scp (4.0.0) + net-ssh (>= 2.6.5, < 8.0.0) + net-ssh (7.2.1) + net-ssh-gateway (2.0.0) + net-ssh (>= 4.0.0) + nori (2.7.0) + bigdecimal + options (2.3.2) + os (1.1.4) + parallel (1.24.0) + parser (3.3.0.5) + ast (~> 2.4.1) + racc + parslet (1.8.2) + pastel (0.8.0) + tty-color (~> 0.5) + prism (0.24.0) + progress_bar (1.3.3) + highline (>= 1.6, < 3) + options (~> 2.3.0) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + public_suffix (5.0.4) + racc (1.7.3) + rainbow (3.1.1) + rake (13.1.0) + recursive-open-struct (1.1.3) + regexp_parser (2.9.0) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.2.6) + rspec (3.11.0) + rspec-core (~> 3.11.0) + rspec-expectations (~> 3.11.0) + rspec-mocks (~> 3.11.0) + rspec-core (3.11.0) + rspec-support (~> 3.11.0) + rspec-expectations (3.11.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.11.0) + rspec-its (1.3.0) + rspec-core (>= 3.0.0) + rspec-expectations (>= 3.0.0) + rspec-mocks (3.11.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.11.0) + rspec-support (3.11.1) + rubocop (1.25.1) + parallel (~> 1.10) + parser (>= 3.1.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml + rubocop-ast (>= 1.15.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.30.0) + parser (>= 3.2.1.0) + ruby-lsp (0.14.2) + language_server-protocol (~> 3.17.0) + prism (>= 0.22.0, < 0.25) + sorbet-runtime (>= 0.5.10782) + ruby-progressbar (1.13.0) + ruby2_keywords (0.0.5) + rubyntlm (0.6.3) + rubyzip (2.3.2) + semverse (3.0.2) + signet (0.19.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + sorbet-runtime (0.5.11267) + sslshake (1.3.1) + strings (0.2.1) + strings-ansi (~> 0.2) + unicode-display_width (>= 1.5, < 3.0) + unicode_utils (~> 1.4) + strings-ansi (0.2.0) + test-kitchen (3.6.0) + bcrypt_pbkdf (~> 1.0) + chef-utils (>= 16.4.35) + ed25519 (~> 1.2) + license-acceptance (>= 1.0.11, < 3.0) + mixlib-install (~> 3.6) + mixlib-shellout (>= 1.2, < 4.0) + net-scp (>= 1.1, < 5.0) + net-ssh (>= 2.9, < 8.0) + net-ssh-gateway (>= 1.2, < 3.0) + thor (>= 0.19, < 2.0) + winrm (~> 2.0) + winrm-elevated (~> 1.0) + winrm-fs (~> 1.1) + thor (1.3.0) + timeliness (0.3.10) + tomlrb (1.3.0) + trailblazer-option (0.1.2) + train (3.11.0) + activesupport (>= 6.0.3.1) + azure_graph_rbac (~> 0.16) + azure_mgmt_key_vault (~> 0.17) + azure_mgmt_resources (~> 0.15) + azure_mgmt_security (~> 0.18) + azure_mgmt_storage (~> 0.18) + docker-api (>= 1.26, < 3.0) + google-api-client (>= 0.23.9, <= 0.52.0) + googleauth (>= 0.6.6, <= 0.14.0) + inifile (~> 3.0) + train-core (= 3.11.0) + train-winrm (~> 0.2) + train-aws (0.2.41) + aws-partitions (~> 1.863.0) + aws-sdk-accessanalyzer (~> 1.44.0) + aws-sdk-account (~> 1.20.0) + aws-sdk-alexaforbusiness (~> 1.67.0) + aws-sdk-amplify (~> 1.54.0) + aws-sdk-apigateway (~> 1.90.0) + aws-sdk-apigatewayv2 (~> 1.53.0) + aws-sdk-applicationautoscaling (~> 1.79.0) + aws-sdk-athena (>= 1.78, < 1.80) + aws-sdk-autoscaling (= 1.102.0) + aws-sdk-batch (~> 1.79.0) + aws-sdk-budgets (~> 1.62.0) + aws-sdk-cloudformation (>= 1.96, < 1.98) + aws-sdk-cloudfront (~> 1.86.0) + aws-sdk-cloudhsm (~> 1.50.0) + aws-sdk-cloudhsmv2 (~> 1.53.0) + aws-sdk-cloudtrail (~> 1.74.0) + aws-sdk-cloudwatch (~> 1.83.0) + aws-sdk-cloudwatchevents (~> 1.69.0) + aws-sdk-cloudwatchlogs (~> 1.75) + aws-sdk-codecommit (~> 1.62.0) + aws-sdk-codedeploy (~> 1.62.0) + aws-sdk-codepipeline (~> 1.67.0) + aws-sdk-cognitoidentity (~> 1.51.0) + aws-sdk-cognitoidentityprovider (~> 1.84) + aws-sdk-configservice (~> 1.103.0) + aws-sdk-core (~> 3.190.0) + aws-sdk-costandusagereportservice (~> 1.53.0) + aws-sdk-databasemigrationservice (~> 1.91.0) + aws-sdk-dynamodb (~> 1.98.0) + aws-sdk-ec2 (>= 1.427, < 1.430) + aws-sdk-ecr (~> 1.68.0) + aws-sdk-ecrpublic (~> 1.25.0) + aws-sdk-ecs (~> 1.135.0) + aws-sdk-efs (~> 1.71.0) + aws-sdk-eks (~> 1.95.0) + aws-sdk-elasticache (~> 1.95.0) + aws-sdk-elasticbeanstalk (~> 1.63.0) + aws-sdk-elasticloadbalancing (~> 1.51.0) + aws-sdk-elasticloadbalancingv2 (~> 1.96.0) + aws-sdk-elasticsearchservice (~> 1.79.0) + aws-sdk-emr (~> 1.81.0) + aws-sdk-eventbridge (~> 1.54.0) + aws-sdk-firehose (~> 1.60.0) + aws-sdk-glue (~> 1.164) + aws-sdk-guardduty (~> 1.85.0) + aws-sdk-iam (~> 1.92.0) + aws-sdk-kafka (~> 1.67.0) + aws-sdk-kinesis (~> 1.54.0) + aws-sdk-kms (~> 1.74) + aws-sdk-lambda (~> 1.113.0) + aws-sdk-macie2 (~> 1.64.0) + aws-sdk-mq (~> 1.58.0) + aws-sdk-networkfirewall (~> 1.39.0) + aws-sdk-networkmanager (~> 1.40.0) + aws-sdk-organizations (~> 1.83.0) + aws-sdk-ram (~> 1.52.0) + aws-sdk-rds (~> 1.208.0) + aws-sdk-redshift (~> 1.107.0) + aws-sdk-route53 (~> 1.83.0) + aws-sdk-route53domains (~> 1.54.0) + aws-sdk-route53resolver (~> 1.51.0) + aws-sdk-s3 (~> 1.141.0) + aws-sdk-s3control (~> 1.74.0) + aws-sdk-secretsmanager (~> 1.87.0) + aws-sdk-securityhub (~> 1.98.0) + aws-sdk-servicecatalog (~> 1.90.0) + aws-sdk-ses (~> 1.58.0) + aws-sdk-shield (~> 1.60.0) + aws-sdk-signer (~> 1.50.0) + aws-sdk-simpledb (~> 1.42.0) + aws-sdk-sms (~> 1.52.0) + aws-sdk-sns (~> 1.70.0) + aws-sdk-sqs (~> 1.69.0) + aws-sdk-ssm (~> 1.162.0) + aws-sdk-states (~> 1.63.0) + aws-sdk-synthetics (~> 1.39.0) + aws-sdk-transfer (~> 1.86.0) + aws-sdk-waf (~> 1.58.0) + aws-sdk-wafv2 (~> 1.74.0) + train-core (3.11.0) + addressable (~> 2.5) + ffi (!= 1.13.0) + json (>= 1.8, < 3.0) + mixlib-shellout (>= 2.0, < 4.0) + net-scp (>= 1.2, < 5.0) + net-ssh (>= 2.9, < 8.0) + train-habitat (0.2.22) + train-kubernetes (0.2.1) + k8s-ruby (~> 0.16.0) + train (~> 3.0) + train-winrm (0.2.13) + winrm (>= 2.3.6, < 3.0) + winrm-elevated (~> 1.2.2) + winrm-fs (~> 1.0) + tty-box (0.7.0) + pastel (~> 0.8) + strings (~> 0.2.0) + tty-cursor (~> 0.7) + tty-color (0.6.0) + tty-cursor (0.7.1) + tty-prompt (0.23.1) + pastel (~> 0.8) + tty-reader (~> 0.8) + tty-reader (0.9.0) + tty-cursor (~> 0.7) + tty-screen (~> 0.8) + wisper (~> 2.0) + tty-screen (0.8.2) + tty-table (0.12.0) + pastel (~> 0.8) + strings (~> 0.2.0) + tty-screen (~> 0.8) + tty-which (0.5.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + uber (0.1.0) + unicode-display_width (2.5.0) + unicode_utils (1.4.0) + winrm (2.3.6) + builder (>= 2.1.2) + erubi (~> 1.8) + gssapi (~> 1.2) + gyoku (~> 1.0) + httpclient (~> 2.2, >= 2.2.0.2) + logging (>= 1.6.1, < 3.0) + nori (~> 2.0) + rubyntlm (~> 0.6.0, >= 0.6.3) + winrm-elevated (1.2.3) + erubi (~> 1.8) + winrm (~> 2.0) + winrm-fs (~> 1.0) + winrm-fs (1.3.5) + erubi (~> 1.8) + logging (>= 1.6.1, < 3.0) + rubyzip (~> 2.0) + winrm (~> 2.0) + wisper (2.0.1) + yajl-ruby (1.4.3) + yaml-safe_load_stream3 (0.1.2) + zeitwerk (2.6.13) + +PLATFORMS + ruby + x86_64-linux + +DEPENDENCIES + kitchen-terraform (= 7.0.2) + rubocop (= 1.25.1) + ruby-lsp (= 0.14.2) + +BUNDLED WITH + 2.5.4 diff --git a/test/fixtures/default_bucket/backend.tf b/test/fixtures/default_bucket/backend.tf deleted file mode 120000 index 441bbf6..0000000 --- a/test/fixtures/default_bucket/backend.tf +++ /dev/null @@ -1 +0,0 @@ -../shared/backend.tf \ No newline at end of file diff --git a/test/fixtures/default_bucket/backend.tf b/test/fixtures/default_bucket/backend.tf new file mode 100644 index 0000000..f4022f0 --- /dev/null +++ b/test/fixtures/default_bucket/backend.tf @@ -0,0 +1,12 @@ +# Backend Configuration +# https://www.terraform.io/language/settings/backends/configuration + +terraform { + + # Google Cloud Storage + # https://www.terraform.io/language/settings/backends/gcs + + backend "gcs" { + bucket = "plt-lz-testing-2c8b-sb" + } +} diff --git a/test/fixtures/default_bucket/main.tf b/test/fixtures/default_bucket/main.tf index da4afd9..0d109f2 100644 --- a/test/fixtures/default_bucket/main.tf +++ b/test/fixtures/default_bucket/main.tf @@ -8,13 +8,14 @@ module "storage_bucket" { cost_center = "x000" labels = { - env = "sb" - team = "testing" + env = "sb" + repository = "terraform-google-storage-bucket" + team = "testing" } location = "US" name = random_id.bucket_name.hex - project = "testing-kitchen-tfbd-sb" + project = var.project_id } resource "random_id" "bucket_name" { diff --git a/test/fixtures/default_bucket/outputs.tf b/test/fixtures/default_bucket/outputs.tf deleted file mode 120000 index 726bdc7..0000000 --- a/test/fixtures/default_bucket/outputs.tf +++ /dev/null @@ -1 +0,0 @@ -../shared/outputs.tf \ No newline at end of file diff --git a/test/fixtures/default_bucket/outputs.tf b/test/fixtures/default_bucket/outputs.tf new file mode 100644 index 0000000..2c34744 --- /dev/null +++ b/test/fixtures/default_bucket/outputs.tf @@ -0,0 +1,10 @@ +# Terraform Output Values +# https://www.terraform.io/language/values/outputs + +output "bucket_name" { + value = module.storage_bucket.name +} + +output "project" { + value = module.storage_bucket.project +} diff --git a/test/fixtures/default_bucket/variables.tf b/test/fixtures/default_bucket/variables.tf new file mode 100644 index 0000000..403e12c --- /dev/null +++ b/test/fixtures/default_bucket/variables.tf @@ -0,0 +1,7 @@ +# Terraform Input Variables +# https://www.terraform.io/language/values/variables + +variable "project_id" { + type = string + default = "test-gke-fleet-member-tfc5-sb" +} diff --git a/test/fixtures/shared/backend.tf b/test/fixtures/shared/backend.tf deleted file mode 100644 index f4022f0..0000000 --- a/test/fixtures/shared/backend.tf +++ /dev/null @@ -1,12 +0,0 @@ -# Backend Configuration -# https://www.terraform.io/language/settings/backends/configuration - -terraform { - - # Google Cloud Storage - # https://www.terraform.io/language/settings/backends/gcs - - backend "gcs" { - bucket = "plt-lz-testing-2c8b-sb" - } -} diff --git a/test/fixtures/shared/outputs.tf b/test/fixtures/shared/outputs.tf deleted file mode 100644 index 2c34744..0000000 --- a/test/fixtures/shared/outputs.tf +++ /dev/null @@ -1,10 +0,0 @@ -# Terraform Output Values -# https://www.terraform.io/language/values/outputs - -output "bucket_name" { - value = module.storage_bucket.name -} - -output "project" { - value = module.storage_bucket.project -} diff --git a/test/fixtures/shared/variables.tf b/test/fixtures/shared/variables.tf deleted file mode 100644 index 744e18a..0000000 --- a/test/fixtures/shared/variables.tf +++ /dev/null @@ -1,2 +0,0 @@ -# Terraform Input Variables -# https://www.terraform.io/language/values/variables diff --git a/test/integration/default_bucket/inspec.yml b/test/integration/default_bucket/controls/inspec.yml old mode 100644 new mode 100755 similarity index 71% rename from test/integration/default_bucket/inspec.yml rename to test/integration/default_bucket/controls/inspec.yml index 8787eaf..6e1e904 --- a/test/integration/default_bucket/inspec.yml +++ b/test/integration/default_bucket/controls/inspec.yml @@ -1,7 +1,7 @@ # Chef Inspec # https://docs.chef.io/inspec/profiles/#inspecyml -name: default_bucket +name: InSpec GCP (Google Cloud Platform) Resource Pack # Profile Dependencies # https://docs.chef.io/inspec/profiles/#profile-dependencies @@ -10,4 +10,4 @@ name: default_bucket depends: - name: inspec_gcp - url: https://github.com/inspec/inspec-gcp/archive/v1.10.39.tar.gz + url: https://github.com/inspec/inspec-gcp/archive/v1.11.93.tar.gz