Code Monkey home page Code Monkey logo

cloudcash's Introduction

Cloudcash

Check your cloud spending from the CLI, from Waybar, and from the macOS menu bar!

Waybar

Cloudcash on Waybar

macOS menu bar

Cloudcash on macOS

Supported cloud services

Build

go build .

Configuration

Only add the services that you want to use and delete all the others:

cat ~/.config/cloudcash.toml
[Waybar]
Pango = "  {{.Name}} <span color='#aaaaaa'>${{.Status.CurrentCharges}}</span> [<span color='#aaaaaa'>${{.Status.PreviousCharges}}</span>]"
PangoJoiner = " · "

[Menu]
Template = "{{.Name}} ${{.Status.CurrentCharges}}"
Joiner = " · "
IsDefault = false

[Service]

[Service.Vultr]
APIKey = "XXXX"

[Service.DigitalOcean]
APIKey = "XXXX"

[Service.AWS]
AWSAccessKeyID = "AAAA"
AWSSecretAccessKey = "XXXX"
Region = "us-east-1"

[Service.GitHub]
APIKey = "XXXX"
Users = [
  "mrusme"
]
Orgs = [ 
  "paper-street-soap-co"
]

Alternative paths for configuration file:

  • /etc/cloudcash.toml
  • $XDG_CONFIG_HOME/cloudcash.toml
  • $HOME/.config/cloudcash.toml
  • $HOME/cloudcash.toml
  • ./cloudcash.toml

Note regarding GitHub: You can specify multiple users/orgs, which are queried and added up to one total amount. Calculation is done locally, based on the paid minutes reported by the GitHub API and the officially available numbers, and could be off to a certain degree, due to additional costs that might have incurred on GitHub.

Waybar

The Pango template used in the -waybar-pango output is used per service, separated by the PangoJouner string. To make it clear, if Pango is <span>{{.Name}}</span> and PangoJoiner is - then the output for two services (e.g. Vultr and AWS) would be:

<span>Vultr</span> - <span>AWS</span>

The Pango configuration uses Go's text/template.

macOS menu bar

The Template in Menu is what is used to render the macOS menu bar widget. As with the Waybar output, the template is per service, separated by the Joiner string. Unlike the Waybar.Pango configuration, Menu.Template does not support Pango, but it can include things like Emojis.

To always run in menu mode, set Menu.IsDefault to true.

Use

CLI (text)

cloudcash

CLI (JSON)

cloudcash -json

Waybar

rg -NA6 'cloudcash":'  ~/.config/waybar/config
  "custom/cloudcash": {
    "format": "{}",
    "return-type": "json",
    "exec": "/usr/local/bin/cloudcash -waybar-pango",
    "on-click": "",
    "interval": 3600
  },

macOS menu bar

cloudcash -menu-mode 

Alternatively set Menu.IsDefault to true in configuration.

cloudcash's People

Contributors

dependabot[bot] avatar mrusme avatar

Stargazers

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

Watchers

 avatar  avatar

cloudcash's Issues

macOS build

As described here the macOS builds are failing atm. Looking for a solution.

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.