driftctl/docs
Elie 735e5b83d3
Update testing example
2021-09-20 10:49:05 +02:00
..
media Wording fixes 2021-08-25 13:46:43 +02:00
README.md Wording fixes 2021-08-25 13:46:43 +02:00
middlewares.md docs: middlewares 2021-09-17 18:00:12 +02:00
new-remote-provider.md Wording fixes 2021-08-25 13:46:43 +02:00
new-resource.md Wording fixes 2021-08-25 13:46:43 +02:00
testing.md Update testing example 2021-09-20 10:49:05 +02:00

README.md

Developer guide

This directory contains some documentation about the driftctl codebase, aimed at readers who are interested in making code contributions.

Core concepts

driftctl uses Terraform providers besides cloud providers SDK to retrieve data.

Resource listing is done using cloud providers SDK. Resource details retrieval is done by calling terraform providers with gRPC.

Terminology

  • Remote is a representation of a cloud provider
  • Resource is an abstract representation of a cloud provider resource (e.g. S3 bucket, EC2 instance, etc ...)
  • Enumerator is used to list resources of a given type from a given remote and return a resource list, it should exist only one Enumerator per resource
  • DetailsFetcher is used to retrieve resource's details of a given type, this is an optional layer and is used only in deep mode.