• Stars
    star
    17
  • Rank 1,257,181 (Top 25 %)
  • Language
    Go
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Keep updated about all deploys on Tsuru

Snitch

Documentation Coverage Status Go Report Card Build Status

Keep updated about each deploy via Tsuru.

This program will notify your team and many tools when someone has deployed any application via Tsuru.

Quick Start

First one, you have to create a hook's configuration file. This file describe wich hook will be dispatched and the your configurations (e.g webhook_url).

You can add this code into your file, hardcode mode:

slack:
  webhook_url: http://your.webhook.here

or using environment variable:

slack:
  webhook_url: $SLACK_WEBHOOK_URL

So now, You must add this code into your file (tsuru.yaml or tsuru.yml) located in the root of the application at hook's section.

hooks:
  build:
    - curl -sSL https://github.com/lucasgomide/snitch/releases/download/0.1.0/snitch_0.1.0_linux_amd64.tar.gz | tar xz
    - ./snitch_linux/snitch -c path/snitch_config.yml

Put the hook's configuration file path as argument for the -c option.

Options

-c

This option indicates where's the file with the hook's configurations see more.

-app-name-contains

Use it to validate if the snitch should be run. If you tsuru app name does not match it the value of -app-name-contains, the program will stop, and no errors will be raised.

Hook's Configurations

Here is all avaliables hook's configurations and your descriptions. Remember that you may use environment variables to define the options's values.

  • Slack

    • webhook_url Indicates the Webhook URL to dispatch messages to Slack.
  • Sentry

    • host Tell to Snitch your sentry host (e.g http://sentry.io or http://sentry.self.hosted)
    • organization_slug The organization slug is a unique ID used to identify your organization. (You'll find it at your sentry's configuration, probably)
    • project_slug The Project Slug is a unique ID used to identify your project (You'll find it at your project config)
    • auth_token The token used to authenticate on Sentry API. To generate a new token, you have to access manager auth tokens then create a token. If you are using Sentry self hosted, you need change the domain sentry.io to your own domain, example: sentry.snitch.com/api. Find more information on Sentry documentation
    • env The application's environment variable (e.g development, production)
  • Rollbar

    • access_token The access token with post_server_item scope. You can find more here
    • env The application's environment variable (e.g development, production)
  • NewRelic

    • host Tell to Snitch your NewRelic API host (e.g https://api.newrelic.com)
    • application_id The application ID is a unique ID used to identify your application in APM. (You'll find it at the end of the application's page URL)
    • api_key The API Key to use the NewRelic REST API. You can find more here
    • revision The application's current revision (e.g 0.0.1r42)
  • HangoutsChat

    • webhook_url Indicates the Webhook URL to dispatch messages to HangoutsChat Room.

Example

Snitch App Sample