Skip to content

lawrencegripper/azbrowse

Repository files navigation

AzBrowse

An interactive CLI for browsing azure resources, inspired by resources.azure.com

Go Report Card Go Doc Release release

Status

This is a pet project which has matured thanks to support from awesome contributions.

asciicast

Warning: Please familiarize yourself with the code and the how-to's before using it in a production environment.

Cool what else can it do?

Lots check out the guided tour here.

  • Edit/Update resource
  • Multi-resource delete
  • Actions on resources such as restart and list-keys
  • ASCII Graphs for resource metrics
  • Interactive command panel for filtering and more
  • Build custom views from Azure Resource Graph Queries

For advanced config review the settings page here. For command line arguments and docs see this page.

Contributing

Take a look at the guide here for a guide on the design of azbrowse and then a look here for how to get started on deving

Install/Run

Pre-req: Ensure you have the az command from Azure CLI setup on your machine and are logged-in otherwise azbrowse won't work!

Mac/OSX via Homebrew

Install HomeBrew

brew install lawrencegripper/tap/azbrowse
Windows via Scoop

Install Scoop

iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

Install AzBrowse using Scoop

scoop bucket add azbrowse https://github.com/lawrencegripper/scoop-bucket.git
scoop install azbrowse
Run via Docker

You can then start azbrowse in docker by mounting in your $HOME directory so azbrowse can access the login details from your machine inside the docker container.

docker run -it --rm -v $HOME:/root/ -v /etc/localtime:/etc/localtime:ro ghcr.io/lawrencegripper/azbrowse/azbrowse
Linux via Snap Store

Get it from the Snap Store

Linux via Releases tar.gz

Grab the URL to the .tar.gz for the latest release for your platform/architecture. E.g. https://github.com/lawrencegripper/azbrowse/releases/download/v1.1.193/azbrowse_linux_amd64.tar.gz

Download the release (either via the browser or wget https://github.com/lawrencegripper/azbrowse/releases/download/v1.1.193/azbrowse_linux_amd64.tar.gz).

Extract the binary from the archive to a suitable location (here we're using /usr/bin for convenience): tar -C /usr/bin -zxvf azbrowse_linux_amd64.tar.gz azbrowse

Note: If you have a location on $PATH which is writable by the current user like /home/USERNAMEHERE/go/bin it's best to use this as it'll allow azbrowse to update itself in place without requiring sudo

Make the binary executable: chmod +x /usr/bin/azbrowse

Install via azure-cli extention

This is experimental and Non-functional on Windows. Only tested on Unix based systems.

Want to run az browse and have the azure-cli install and run azbrowse?

This extension from Noel Bundick lets you do just that

DIY

Simply download the archive/package suitable for your machine, from the release page, and execute it.

Bonus: Add it to your $PATH so you can run azbrowse anywhere.

Shell completion

Azbrowse can generate shell completions for a number of different shells using the azbrowse completion command.

For example, azbrowse -s thing<TAB>azbrowse -s thingSubscription and jump straight to that Azure subscription.

To configure completion in bash add the following to ~/.bashrc or ~/.profile

source <(azbrowse completion bash)

To configure completion for zsh run the following command

azbrowse completion zsh > "${fpath[1]}/_azbrowse"

Ensure you have autoload -Uz compinit && compinit present in your .zshrc file to load these completions

Docs

See the docs for getting started guides, configuration docs, ...

Plans

Issues on the repository track plans, I'd love help so feel free to comment on an issue you'd like to work.

Updating Snap login for goreleaser

sudo snap install snapcraft
snapcraft login
snapcraft export-login .snap.login
cat .snap.login

Update the SNAPCRAFT_STORE_CREDENTIALS secret for actions on the repo with the content of .snap.login