Detect, track and alert on infrastructure drift
 
 
 
 
Go to file
Martin Guibert f31a8a8395 Use printer to not break output isolation
added pinter interface to print info
json output use void printer is the path output it stdout
2021-03-15 12:03:35 +01:00
.circleci Increase acceptance test no output timeout 2021-03-10 10:57:09 +01:00
.github remove useless documentation issue template 2021-03-08 11:37:06 +01:00
bin 🍾 Initial release 2020-12-09 16:35:26 +01:00
build 🍾 Initial release 2020-12-09 16:35:26 +01:00
docs Remove duplicate doc files, update root README and re-organize docs folder 2021-03-03 11:41:28 +01:00
logger log everything as trace 2021-02-11 14:17:06 +01:00
mocks Issue 151: Add ecr_repository resource tests 2021-03-02 15:25:03 +01:00
pkg Use printer to not break output isolation 2021-03-15 12:03:35 +01:00
scripts Update to go 1.16 2021-02-18 10:16:18 +01:00
sentry ignore usage errors from sentry capture 2021-02-09 22:19:24 +01:00
test Merge branch 'main' into fea/refacto_rds_repository 2021-02-25 10:34:07 +01:00
.all-contributorsrc docs: update .all-contributorsrc [skip ci] 2021-02-09 14:11:07 +00:00
.dockerignore Ignore .terraform folders from docker context 2021-03-10 17:04:55 +01:00
.editorconfig Use printer to not break output isolation 2021-03-15 12:03:35 +01:00
.gitignore refacto ec2 to use repository 2021-02-23 18:47:42 +01:00
.go-version Update to go 1.16 2021-02-18 10:16:18 +01:00
.golangci.yml Remove reference used in loops 2021-02-04 22:45:10 +01:00
.mockery.yaml remove testonly from mockery config 2021-02-16 18:05:18 +01:00
CONTRIBUTORS.md docs: update CONTRIBUTORS.md [skip ci] 2021-02-09 14:11:06 +00:00
Dockerfile Use alpine as docker base image 2021-03-10 15:04:37 +01:00
LICENSE.md 🍾 Initial release 2020-12-09 16:35:26 +01:00
Makefile Use printer to not break output isolation 2021-03-15 12:03:35 +01:00
README.md Add Installation link 2021-03-03 11:41:28 +01:00
ROADMAP.md initial ROADMAP.md, after team meeting 2021-01-29 16:32:26 +01:00
codecov.yml Change range of coverage colors 2021-03-03 12:28:01 +01:00
go.mod Update to go 1.16 2021-02-18 10:16:18 +01:00
go.sum refacto lambda supplier and test to use mock and repository 2021-02-24 16:31:23 +01:00
goland_watchers.xml Use printer to not break output isolation 2021-03-15 12:03:35 +01:00
main.go Use printer to not break output isolation 2021-03-15 12:03:35 +01:00

README.md

driftctl

Measures infrastructure as code coverage, and tracks infrastructure drift.
IaC: Terraform, Cloud providers: AWS, GitHub (Azure and GCP on the roadmap for 2021).
⚠️ This tool is still in beta state and will evolve in the future with potential breaking changes ⚠️

Why driftctl ?

Infrastructure as code is awesome, but there are too many moving parts: codebase, state file, actual cloud state. Things tend to drift.

Drift can have multiple causes: from developers creating or updating infrastructure through the web console without telling anyone, to uncontrolled updates on the cloud provider side. Handling infrastructure drift vs the codebase can be challenging.

You can't efficiently improve what you don't track. We track coverage for unit tests, why not infrastructure as code coverage?

driftctl tracks how well your IaC codebase covers your cloud configuration. driftctl warns you about drift.

Features

  • Scan cloud provider and map resources with IaC code
  • Analyze diffs, and warn about drift and unwanted unmanaged resources
  • Allow users to ignore resources
  • Multiple output formats

Get Started

Documentation

Installation

Discord


Contribute

To learn more about compiling driftctl and contributing, please refer to the contribution guidelines and the contributing guide for technical details.

This project follows the all-contributors specification and is brought to you by these awesome contributors.

Build with ❤️ from 🇫🇷 🇯🇵 🇬🇷 🇸🇪 🇺🇸