Commit Graph

1264 Commits (9392281176d323d6a611ec6bb7dc3e53b01bae1b)

Author SHA1 Message Date
Elie 79c6a324f4
chore: add flags for azure backend options 2022-02-25 12:24:39 +01:00
Elie ef767760fe
feat: allow state enumeration in azure blob 2022-02-23 15:02:00 +01:00
Elie 7778462ade
feat: add azure blob backend 2022-02-23 15:01:59 +01:00
Elie 3e550b6a68
chore: allow deserialise resource sources 2022-02-22 14:51:14 +01:00
Murat Celep b927e57d71
Merge pull request #1348 from snyk/feat/service-arg-to-group-resouces-v2
Add a new ignores flag to parse ignore patterns as array
2022-02-21 16:23:36 +01:00
Martin d1491792d9
Merge pull request #1354 from wakeful/json-output-and-human-readable-attributes
adding `humanReadableAttributes` to JSON output
2022-02-21 14:20:44 +01:00
AJ 353c189005 adding `human_readable_attributes` to JSON output
Related: https://github.com/snyk/driftctl/issues/1325
2022-02-21 13:15:13 +00:00
Murat Celep ff40aa55a0
Merge ignore pattern based tests into existing tests 2022-02-21 11:43:08 +01:00
Murat Celep 072e0bed58
Minor refactoring 2022-02-21 10:24:43 +01:00
Murat Celep caa10fedc0
rename test method to emphasize purpose of the test 2022-02-21 10:00:33 +01:00
Craig Furman 959e489bd4 Disambiguate between drift and error exit codes
`driftctl scan` exits with zero only when there is no detected drift.
Prior to this commit, it exited with 1 when there was a non-panic error,
and also when there was detected drift. This makes error handling in
scripts more awkward than it needs to be.

This commit changes the exit code to 2 whenever there are errors during
a scan, whether that error is from a panic or not, leaving 1 as the exit
code used solely for when drift is detected.

Related: https://github.com/snyk/driftctl/issues/1350
2022-02-17 17:39:35 +00:00
Murat Celep c6b53668ba
add test for ignore pattern processing 2022-02-17 09:57:34 +01:00
Murat Celep 9ad22d51db
add test for ignore pattern processing 2022-02-17 09:57:22 +01:00
Murat Celep 3ce9a1a177
extend ignore argument explanation 2022-02-17 09:56:50 +01:00
William Beuil de5db9f74d
test: refactor retries 2022-02-14 16:31:21 +01:00
sundowndev ee5118ab13 refactor(test): add common exponential backoff function 2022-02-14 18:07:15 +04:00
Murat Celep 428ab77d89
Add a new ignores flag to parse ignore patterns as array 2022-02-14 11:58:12 +01:00
sundowndev 7192a7fee8 test(acc): google_compute_network_test 2022-02-14 10:44:31 +04:00
sundowndev 88b09ac832 test(acc): google_compute_instance_test 2022-02-14 10:44:06 +04:00
sundowndev ac8ab1362e test(acc): gcp
Increase the retry duration limit from 10 to 15 minutes.
2022-02-11 11:10:53 +04:00
sundowndev a323a14183 test(acc): google_bigquery_table_test
Increase the retry duration limit from 10 to 15 minutes.
2022-02-11 10:42:23 +04:00
Elie 506439d7bf
Merge pull request #1336 from snyk/feat/telemetry_iac_source_count
Add iac source count to telemetry
2022-02-09 15:05:01 +01:00
William BEUIL 66baef7a63
Merge pull request #1335 from snyk/chore/rename-acc-tests
AWS acceptance tests
2022-02-03 17:45:09 +01:00
William Beuil f801244453
chore: add retries on flaky acc tests 2022-02-03 10:09:12 +01:00
sundowndev f84b03f252 feat: add field to telemetry 2022-02-01 15:26:29 +04:00
William Beuil 1fc2e35810
chore: renamed TestAcc_Aws* to TestAcc_Aws_* and added missing AWS_REGION env 2022-02-01 11:16:50 +01:00
sundowndev b9b06b358a test(acc): google_compute_global_address 2022-02-01 12:07:18 +04:00
Karni Wolf 0a1ed7d01e
chore: capitalize Usage: terraform [global options] <subcommand> [args]
The available commands for execution are listed below.
The primary workflow commands are given first, followed by
less common or more advanced commands.

Main commands:
  init          Prepare your working directory for other commands
  validate      Check whether the configuration is valid
  plan          Show changes required by the current configuration
  apply         Create or update infrastructure
  destroy       Destroy previously-created infrastructure

All other commands:
  console       Try Terraform expressions at an interactive command prompt
  fmt           Reformat your configuration in the standard style
  force-unlock  Release a stuck lock on the current workspace
  get           Install or upgrade remote Terraform modules
  graph         Generate a Graphviz graph of the steps in an operation
  import        Associate existing infrastructure with a Terraform resource
  login         Obtain and save credentials for a remote host
  logout        Remove locally-stored credentials for a remote host
  output        Show output values from your root module
  providers     Show the providers required for this configuration
  refresh       Update the state to match remote systems
  show          Show the current state or a saved plan
  state         Advanced state management
  taint         Mark a resource instance as not fully functional
  test          Experimental support for module integration testing
  untaint       Remove the 'tainted' state from a resource instance
  version       Show the current Terraform version
  workspace     Workspace management

Global options (use these before the subcommand, if any):
  -chdir=DIR    Switch to a different working directory before executing the
                given subcommand.
  -help         Show this help output, or the help for a specified subcommand.
  -version      An alias for the "version" subcommand. in output for consistency
2022-01-30 11:51:10 +02:00
William Beuil ef3e77c308
chore: added a missing test and ordered resources 2022-01-24 17:37:37 +01:00
William BEUIL c62bf8d026
Merge pull request #1278 from snyk/fea/aws_apigatewayv2_integration_response
support aws apigatewayv2 integration response
2022-01-24 17:23:33 +01:00
Martin Guibert ec07e9a611
feat: support for aws_apigatewayv2_integration 2022-01-24 16:24:26 +01:00
sundowndev 554728d4de
chore: fix typos in go comments 2022-01-24 18:06:05 +04:00
sundowndev 0965239d8e
fix: ignore default api gateway accounts 2022-01-24 16:00:00 +04:00
Raphaël 926d1b8638
Merge pull request #1326 from snyk/test/acc-gcp-sleep-backoff
Add sleep-backoff to GCP ACC tests [CFG-1305]
2022-01-24 15:15:57 +04:00
William Beuil 4673bb8bd1
fix: assign a specific az while creating subnets 2022-01-21 17:08:29 +01:00
sundowndev b1bd4c26fd
test(acc): add sleep-based backoff 2022-01-21 17:08:31 +04:00
Elie b751cd50ae
Merge pull request #1320 from snyk/res/apigtwv2_domain_name
Add aws_apigatewayv2_domain_name resource
2022-01-21 11:38:51 +01:00
William Beuil 2c45ce4e53
fix: rename filename 2022-01-17 16:49:39 +01:00
William Beuil 0b1e85df77
Add aws_apigatewayv2_domain_name resource 2022-01-17 16:45:16 +01:00
Craig Furman b137672cc4
Merge pull request #1321 from snyk/aws_apigatewayv2_deployment
Add aws_apigatewayv2_deployment resource
2022-01-17 15:40:24 +00:00
Elie 85d4fada99
Add ACC test 2022-01-17 15:59:12 +01:00
Elie e779e6288b
Add aws_apigatewayv2_api_mapping 2022-01-17 15:59:11 +01:00
Craig Furman 4daef54980 Add aws_apigatewayv2_deployment resource
Without deep mode.
2022-01-17 12:23:19 +00:00
Elie 8fd985a39e
Merge pull request #1274 from snyk/res/apigtwv2_route_response
Add aws_apigatewayv2_route_response resource
2022-01-14 17:03:04 +01:00
William Beuil 0cf0dc23b0
chore: change namings in the apigtw api middleware 2022-01-14 12:23:48 +01:00
William Beuil b5f995f6d7
Add aws_apigatewayv2_route_response resource 2022-01-12 17:26:23 +01:00
sundowndev 07f060ba49
feat: add aws_apigatewayv2_stage 2022-01-12 15:34:33 +01:00
Elie ae26120701
Add aws_apigatewayv2_model 2022-01-11 16:53:20 +01:00
Elie 36b81d8616
Merge pull request #1313 from snyk/fix/aws_api_gateway_stage_acc
Fix acceptance test for aws_api_gateway_stage
2022-01-11 12:06:35 +01:00
William BEUIL c88c45ba32
Merge pull request #1277 from snyk/fea/aws_apigatewayv2_integration
add support for apigatewayv2_integration
2022-01-11 12:01:18 +01:00
sundowndev a56869c23e
test(acc): fix aws_api_gateway_stage test 2022-01-11 14:53:02 +04:00
Raphaël 2f25d40210
Merge pull request #1308 from snyk/update-azure-deps
Update Azure dependencies
2022-01-10 18:40:28 +04:00
sundowndev 745a05d2b2
chore(acc): add missing terraform lock files 2022-01-10 15:48:35 +04:00
Elie 1ece665219
Fix crash in GCP iam binding middleware 2022-01-06 17:31:14 +01:00
sundowndev 82d710cc9e
test(azure): use new arm api 2022-01-06 11:39:58 +04:00
sundowndev 327e5bd73b
refactor: update azure dependencies 2022-01-06 11:26:20 +04:00
sundowndev 69ded33e06
test(acc): google_bigquery_dataset
Add retry policy to the acceptance test for google_bigquery_dataset resource.
2022-01-03 11:20:23 +04:00
sundowndev 324242d083
test(acc): fix test for google_bigquery_table 2021-12-22 16:53:16 +04:00
sundowndev 117bd9bd90
Revert "refactor: avoid reading unmanaged resources"
This reverts commit 18eea35b4f.
2021-12-22 13:34:14 +04:00
Elie e830fa4116
Merge pull request #1292 from snyk/test/gcs-backend
Improve testing for the GCS backend
2021-12-17 10:19:46 +01:00
sundowndev a83ce83f5c
fix(google): compute_subnetwork
The scan panics because enumerator attributes are not sync with the resource schema.
2021-12-17 11:44:02 +04:00
sundowndev 59f7411590
test: GCS backend
Improve testing of the GCS backend: never use the non-mocked storage client to avoid IO/network operations.
2021-12-17 11:31:50 +04:00
Elie d8681bd1f9
Merge pull request #1290 from snyk/fix/google_compute_network
Fix google_compute_network read attributes
2021-12-16 12:22:30 +01:00
sundowndev a3e39025b7
fix: google_compute_network read attributes 2021-12-16 15:10:48 +04:00
William Beuil d0059750f3
Renaming iac AWS test folders 2021-12-16 09:34:46 +01:00
William Beuil 154dcc238a
Renaming remote AWS test folders 2021-12-16 09:34:44 +01:00
William BEUIL 7a3b7f7286
Merge pull request #1281 from snyk/fix/apigtwv2_vpc_link
fix: rename resource file
2021-12-15 14:14:27 +01:00
Raphaël 48d2edb780
Merge pull request #1253 from snyk/refact/analysis-unmanaged
Avoid reading unmanaged resources
2021-12-15 16:56:48 +04:00
William Beuil e0ec3bbeda
fix: rename resource file 2021-12-15 13:30:46 +01:00
Martin Guibert f8eff0a73d
feat: gatewayv2 api middleware to support integration 2021-12-15 09:34:25 +01:00
Martin Guibert 9682e71b01
feat: support for apigatewayv2_integration 2021-12-14 18:33:20 +01:00
Elie 3bf7b565bf
Merge pull request #1283 from snyk/refact/middlewares
Delete unused GoogleStorageBucketIAMBindingTransformer middleware
2021-12-14 17:07:40 +01:00
sundowndev 18eea35b4f
refactor: avoid reading unmanaged resources 2021-12-14 19:03:23 +04:00
sundowndev 57989cc346
refactor: delete unused middleware 2021-12-14 18:57:46 +04:00
sundowndev 7e805feb5a
test(backend): gcs 2021-12-14 18:42:38 +04:00
William Beuil 3f193adea9
chore: add commands to list and delete event source mappings 2021-12-14 14:07:33 +01:00
William Beuil 61c402c61e
chore: change both /version and /telemetry endpoints 2021-12-13 10:44:24 +01:00
sundowndev a0383a355e
feat: implement gcs backend
feat: implement gcs backend

Improve fake storage server implementation
2021-12-10 12:11:25 +01:00
Craig Furman cb2042530d Add support for aws_apigatewayv2_route 2021-12-09 13:45:12 +00:00
sundowndev 04c66312d1
refactor: rename driftctl imports 2021-12-09 11:59:26 +01:00
sundowndev 024a3f9552
refactor(aws): disable deep mode for launch configuration 2021-12-09 11:59:26 +01:00
sundowndev a5877fc001
refactor(aws): autoscaling repository
Use pagination and improve testing.
2021-12-09 11:58:55 +01:00
sundowndev 5079c9b315
feat: add aws_launch_configuration 2021-12-09 11:58:54 +01:00
p0tr3c 6ad8286c24
feat: human readable tfc workspace names
Resolve terraform cloud workspace names based on org/name path.
Support both human readable names and workspace ids.
Use go-tfe http client to connect to TFE servers to reuse existing
code
2021-12-08 18:22:58 +00:00
sundowndev a840413568
refactor(aws): launch template enumerator
Remove unused credit_specification attribute
2021-12-08 15:31:03 +01:00
sundowndev 83d279c70f
feat: add aws_launch_template 2021-12-08 15:17:42 +01:00
Martin Guibert c32df19281
fix: disable acc test for Google_ComputeNodeGroup 2021-12-07 18:48:31 +01:00
William Beuil 2c73c9fbd2
Add aws_apigatewayv2_authorizer resource 2021-12-07 16:51:16 +01:00
Martin Guibert 1dc5bd67ab
add support for google_compute_node_group 2021-12-07 09:18:24 +01:00
Elie 1cdccb0be0
Move to @snyk 2021-12-06 14:29:39 +01:00
Elie fdd183e077
Merge branch 'main' into fea/api_gtwv2_vpc_link 2021-12-01 13:51:41 +01:00
Elie c4a0eff309
Merge branch 'main' into feat/add_azurerm_lb_rule 2021-12-01 13:37:47 +01:00
Elie c460a9e97a
Add a global switch to disable third party 2021-11-29 13:59:49 +01:00
Elie 4b3778a2d2
Make version check test more dynamic 2021-11-29 11:27:38 +01:00
Martin Guibert b36be3b37d
add fields for others resources 2021-11-26 17:30:25 +01:00
Martin Guibert e40aba548c
fix return value for srv too 2021-11-26 17:30:25 +01:00
sundowndev 27be216ed2
fix: return value instead of pointer
Running a non-deep mode scan on those resources produces a panic since some attributes return a pointer instead of a value.
2021-11-26 17:30:25 +01:00
sundowndev 73ca972e19 test(acc): azurerm_lb_rule
Ignore azurerm_lb resources since it's not necessary to test them here.
2021-11-26 17:18:15 +01:00
sundowndev 57cdd84bc8 feat: add azurerm_lb_rule 2021-11-26 17:16:29 +01:00
William Beuil 141c642c98
Add aws_apigatewayv2_vpc_link resource 2021-11-26 11:23:36 +01:00
Raphaël 9b2814a94b
Merge branch 'main' into fix/ouf-of-sync-only-deep-mode 2021-11-26 10:26:43 +01:00
Elie 065f651077
Merge branch 'main' into fea/add_azure_privatedns_txt 2021-11-25 18:10:32 +01:00
Samuel Maftoul 572e39170e Change NewAnalysis signature to return a pointer, update occurences accordingly 2021-11-25 17:39:47 +01:00
Samuel Maftoul 8d3318725f Add a test for the updated output of the scan without deep mode 2021-11-25 17:07:46 +01:00
Samuel Maftoul b59e04e01e Fix broken tests: Add Deep where necessary 2021-11-25 16:55:14 +01:00
Samuel Maftoul 972eddcd79 Introduce NewAnalysis(), use it in analyzer, update fakeAnalyzer accordingly 2021-11-25 15:12:14 +01:00
Samuel Maftoul 7476cfa081 fix: display out of sync drifts only in deep mode 2021-11-25 12:56:21 +01:00
Karni Wolf 6f76599bc7
Add aws_api_gatewayv2 resource 2021-11-24 16:31:00 +02:00
Martin Guibert 11b751f84d
add support for azurerm_private_dns_txt_record 2021-11-23 18:18:22 +01:00
Martin Guibert ac0f1a2608
add support for azurerm_private_dns_srv_record 2021-11-23 10:07:59 +01:00
Martin Guibert 7a38ac2413
add azurerm_privatedns_mx_record 2021-11-19 17:30:54 +01:00
Elie d8a804520b
Merge branch 'main' into fea/azurerm_private_dns_ptr_record 2021-11-19 16:22:35 +01:00
Elie 49ac19f647
Disable azure flacky tests 2021-11-19 11:37:30 +01:00
Elie 332b66eeca
Disabled azure flacky test 2021-11-19 11:11:56 +01:00
Elie 81a9cdb9df
Disable azure flacky tests 2021-11-19 10:06:36 +01:00
Martin Guibert 8627b57329
add support for azurerm_private_dns_ptr_record 2021-11-18 16:53:41 +01:00
Elie c9e20fc272
Merge branch 'main' into fea/azurerm_private_dns_cname_record 2021-11-18 16:36:22 +01:00
Elie 5d293d1847
Disable azure flacky tests 2021-11-18 15:36:37 +01:00
Martin Guibert 53471fa02c
lock pirvatedns zone cache and remove cache for filtering recordset 2021-11-18 08:59:43 +01:00
Martin Guibert 70ddf3c042
add scanner tests 2021-11-18 08:59:43 +01:00
Martin Guibert c4406b3648
add state reader test for cname 2021-11-18 08:59:43 +01:00
Martin Guibert 6dd4b17e66
add repository tests for cname 2021-11-18 08:59:42 +01:00
Martin Guibert ed405dfbcd
add metadata test and acc test 2021-11-18 08:59:42 +01:00
Martin Guibert d498ee9973
add support for azurerm_private_dns_cname_record_enumerator 2021-11-18 08:59:42 +01:00
William Beuil 6a6ead3bd3
Add aws_api_gateway_integration_response resource 2021-11-17 10:32:09 +01:00
Elie af8afc77df
Force azure provider registration to false.
Azure provider registration allow terraform provider to automatically
register azure resource providers.
In our context we are running read only so we do not want to try to
enable them during the scan.
Without this, a driftctl scan will try to register resource providers
since it is done in the gRPC configure call.
2021-11-16 14:46:47 +01:00
Elie 0bf122f7ee
Merge pull request #1216 from cbowman0/tfe
Support passing in the Terraform API URL to support Terraform Enterprise installations.
2021-11-15 17:40:32 +01:00
Christopher Bowman 9591633e8a Set the TFCloudEndpoint parameter that would be set via default in cmd options 2021-11-15 10:08:23 -05:00
Christopher Bowman 03464d89bc Change TFCloudAPI to TFCloudEndpoint 2021-11-15 09:24:07 -05:00
Christopher Bowman 8ba05f995b Address remarks 2021-11-15 09:07:22 -05:00
Christopher Bowman 6c2f9653e1 Support passing in the Terraform API URL to support Terraform Enterprise installations.
Look for the correct domain in from credentials.tfrc.json
2021-11-12 17:46:32 -05:00
sundowndev 4a9cc26a77 refactor: add docs for ShouldPrint function 2021-11-12 17:05:05 +01:00
sundowndev d5f930e2f1 fix: display progress bar in stdout 2021-11-12 17:05:05 +01:00
Martin Guibert e1bcd185ef
fix private record acc tests 2021-11-10 17:38:33 +01:00
William BEUIL ab5ae0c4ab
Merge branch 'main' into fix/unbuffered-chan 2021-11-10 16:00:38 +01:00
William BEUIL e98c9f9e68
Merge branch 'main' into fix/unbuffered-chan 2021-11-10 15:53:44 +01:00
Elie 5399ade164
Add google_cloudrun_service 2021-11-10 15:45:33 +01:00
Elie ec69da1afc
Merge pull request #1208 from craigfurman/gen-driftignore-ux
gen-driftignore input/output UX
2021-11-10 10:20:46 +01:00
Craig Furman 612118d646 gen-driftignore defaults to writing to a file
Users can still print to stdout by passing `-o -`.
2021-11-08 10:43:18 +00:00
Craig Furman 4466a0430e gen-driftignore defaults to reading from stdin
Allow the input file to be specified as "-", which traditionally many
programs interpret as standard input. Make this value the default too,
as piping `driftctl scan | driftctl gen-driftignore` appears to be a
documented idiom.
2021-11-08 10:43:16 +00:00
Martin Guibert f2a84a145c
fix tests 2021-11-05 10:26:36 +01:00
Martin Guibert 0a8a885aaa
add test for repo and some fix 2021-11-05 10:26:36 +01:00
Martin Guibert 8247f2a41f
add support for azurerm_private_dns_a_record & azurerm_private_dns_aaaa_record 2021-11-05 10:26:19 +01:00
William Beuil 0d0457ac92
Fix unbuffered channel 2021-11-04 13:07:31 +01:00
William Beuil 568c474574
Middleware should handle YAML body document now 2021-11-04 11:55:19 +01:00
Elie 33b655509f
Merge pull request #1202 from cloudskiff/fix_flacky_acc_tests
Fix flacky ACC tests
2021-10-29 16:31:17 +02:00
William Beuil 240e20d6e4
Renaming AWS scanner tests 2021-10-29 14:55:38 +02:00
Elie 0ed20f20d2
Fix flacky ACC tests 2021-10-29 14:17:49 +02:00
Elie fe2587e383
Add google_compute_global_address 2021-10-29 10:33:59 +02:00
Raphaël a2491a07ac
Merge branch 'main' into feat/add_google_compute_health_check 2021-10-28 16:18:37 +02:00