DEV Community

Cover image for Get your DigitalOcean Billing Info in Slack with Nimbella Commander

Get your DigitalOcean Billing Info in Slack with Nimbella Commander

coderaayush profile image Aayush Mamgain ・4 min read

Have you ever wanted an easy way of displaying your DigitalOcean billing info on Slack? With Nimbella Commander, you can have your current bill and next month's projected bill displayed using one command to your Slack workspace. This conveniently integrated DigitalOcean billing functionality will allow developers to have cost-visibility without having to navigate complex billing systems, which will benefit the entire organization in the long run.

DigitalOcean bill in slack with monthly projections

By following these 7 simple steps, you can add Nimbella Commander to Slack and set it up for running this DigitalOcean billing command. Later on, I'll show you how to restrict the access for this command, so that it is available only for the relevant people within your Slack workspace.

  1. Goto your DigitalOcean's API section and generate a new token with the name of digitaloceanApiKey. Copy this API token, you will be required to use this later.

    DigitalOcean API Key setup page

  2. Add Nimbella Commander to your Slack workspace. Search 'Nimbella Commander' in Slack's app search section and proceed with it.

    Add Nimbella Commander app in Slack

    Alternatively, You can visit our official website and click the "Add to Slack" button.

    Nimbella Commander app add to slack via direct link

  3. In order to get your DigitalOcean billing details, you'll need to install the billing Command Set into your Nimbella app. Command Sets are a packaging specification for Slack commands, and a convenient way to share commands via GitHub or open source. Type /nc csm_install billing in your slack's channel or direct message.

    /nc csm_install billing

    Nimbella Commander DigitalOcean billing commandset

  4. Next, we need to bind some secrets to the billing commands. Specifically, the API keys you generated earlier for the DigitalOcean API will be encrypted (outside of Slack) and attached to the slash command. To do this, type /nc secret_create to bring up the Nimbella Secret Creator. We're creating the secrets outside of Slack so that Slack will only see encrypted strings and not your API keys.

    /nc secret_create

    When you run the secrets command, you will see an output that looks like this:

    Nimbella Commander secret creator command

  5. Click on the Secret Creator link to be redirected to the page which encrypts your API keys.

    Nimbella Commander api key  setup page

  6. Add your Digital Ocean API Key and from Step 1 to the field in the Secret Creator as illustrated in the following figure. Next, click the "Make Secrets" button to generate the commands you'll need to copy and paste into your Slack workspace.

    Nimbella Commander secrets encryption page

  7. After clicking the "Make Secrets" button, the command you'll need to run on your Slack page will appear. Copy the command paste them into Slack. This will take your API Key to apply them to your Nimbella app.

    Nimbella Commander secret add command

  8. Finally, run the billing Command Set's command /nc dobill to see your DigitalOcean billing info.

    /nc dobill

    DigitalOcean bill in slack with monthly projections

You likely don't want everyone in your Slack team to run this command. Nimbella Commander offers a neat feature to allow only certain users to run specific commands. For example, you can restrict access to the DigitalOcean billing command to specific users using /nc command_runners dobill + @user1 + @user2, substituting for "user1" and "user2" the Slack names of your teammates that should have access to the DigitalOcean billing details.

nc command_runners dobill + @user1 + @user2

Nimbella commander command runner setup

It's worth also mentioning that you have access to an audit trail to see who's run your commands. This is useful for administrators and team oversight where appropriate. Type /nc command_log dobill

/nc command_log dobill

Nimbella commander command log output

One last thing that's important to know is that the code for the dobill command you import into Commander is yours to edit. If you type /nc command_code dobill, you will receive a secure link that will allow you to edit the command.

/nc command_code dobill

Nimbella commander code edit for digitalocean bill commandset

Using Nimbella's access control you can also limit who can view and edit the code that implements a particular command as well. The built-in Secret Creator means your sensitive data remains outside of Slack and accessible only to the code you run. And with Audit Logs, you have accountability and historical data readily available at your fingertips. These are powerful features of the Commander that don't exist in Slack otherwise. For more information about Commander, visit our website. We'd also love to hear from you via our community Slack channel or on GitHub.

If you wish to add Commander to your Slack account, then click this link to get started!

Discussion (0)

Forem Open with the Forem app