Giter VIP home page Giter VIP logo

tint's Introduction

Tint

example

What is Tint?

Its like Mint but for Terraform.

The primary goal of this project was to iterate and aggregate all of the available Organizations, Workspaces, and corresponding Runs that have been applied. Once this data is aggregated, Tint calculates the length of time those resources have been running, the total cost for each provider and dumps this data to disk in a CSV format.

Configuration

Tint requires two environment variables to be set which allow it to authenticate against a Terraform instance. The Terraform API Token can be obtained at a user level or at an organization level from within the Terraform Enterprise/Terraform Cloud UI.

  1. TERRAFORM_URL=https://app.terraform.io
  2. TERRAFORM_TOKEN=token_goes_here

Installation

  1. cd web
  2. npm install
  3. npm run build
  4. cd ..
  5. go install cmd/main.go
  6. ./main

Try it Out

Navigate to http://localhost:80 in your browser.

*Note that it might take some time to finish downloading all of your Terraform Cost Estimation data.

Development

Start the Frontend in Dev mode

npm run start

Start the Backend

go run cmd/main.go

tint's People

Contributors

peytoncasper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tint's Issues

Add a CLI Flag

Right now, Tint will start up, aggregate the cost estimation data/load it from disk and then load the UI. Ideally, we should have a CLI flag that allows us to simply dump data to disk if that is the intended goal.

Update Data Aggregation with Go Routines

Data Aggregation is currently a single-threaded process and while smaller accounts finish within minutes. Basic testing on larger organizations with a large number of workspaces/runs, results in an extremely slow process.

Ideally, we should be able to parallelize this to some degree with an appropriate rate limiter and channels to reduce the output.

Logging in Data Aggregation Phase

Currently, the aggregation runs silent which is not the best when you need to pull a large amount of data. At each stage, we receive the total count of objects, this should allow us to create effective progress messages that get piped to stdout

Add open source license

Hi there, I'd love to test this within my organization but in order to do that this project needs an open source license. Any chance an open source license could be added please?

Add a Fetch Flag

Currently, Tint will attempt to load data from disk or load data from the Terraform API. Ideally, this should be user-controlled so that a user can adjust which source they would like to use.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.