Check your cloud spending from the CLI, from Waybar, and from the macOS menu bar!
- Alibaba Cloud (have no account ¯\(ツ)/¯ )
- Amazon Web Services
- DigitalOcean
- GitHub
- Google Cloud Platform (have no account ¯\(ツ)/¯ )
- Heroku (have no account ¯\(ツ)/¯ )
- Hetzner Cloud (no billing API yet)
- Microsoft Azure (have no account ¯\(ツ)/¯ )
- Oracle Cloud (have no account ¯\(ツ)/¯ )
- Render (no billing API yet)
- Vultr
- suggest a new one!
go build .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.
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.
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.
cloudcashcloudcash -jsonrg -NA6 'cloudcash":' ~/.config/waybar/config "custom/cloudcash": {
"format": "{}",
"return-type": "json",
"exec": "/usr/local/bin/cloudcash -waybar-pango",
"on-click": "",
"interval": 3600
},cloudcash -menu-mode Alternatively set Menu.IsDefault to true in configuration.