Detect, track and alert on infrastructure drift
 
 
 
 
Go to file
sundowndev 5f60cf44bc refactor: simplify middleware code
following code review feedback. pkg/middlewares/aws_route_table_expander.go
2021-04-13 14:40:07 +02:00
.circleci Update docker go version used for build in CI 2021-04-08 17:32:06 +02: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 refactor: simplify middleware code 2021-04-13 14:40:07 +02:00
scripts Fix arch display in build script 2021-04-08 16:00:30 +02:00
sentry ignore usage errors from sentry capture 2021-02-09 22:19:24 +01:00
test Add tests for driftctl 2021-03-31 17:53:36 +02:00
.all-contributorsrc docs: update .all-contributorsrc [skip ci] 2021-03-18 09:31:40 +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 go version and add make deps to fix Ci issues 2021-03-30 14:56:20 +02: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-03-18 09:31:39 +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 go install instead of go get for tools installation 2021-04-01 10:23:42 +02:00
README.md Asking for users feedback on README 2021-03-17 11:07:45 +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 🇫🇷 🇯🇵 🇬🇷 🇸🇪 🇺🇸


Collecting users feedback

Have you launched driftctl ? Please take a moment to answer the following questions and help us improve the tool.

3 minutes, tops!