⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Command line client for submitting events to FireHydrant's API

Notifications You must be signed in to change notification settings

firehydrant/fhcli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FireHydrant CLI (fhcli)

This client allows you to submit free-form change events to the FireHydrant API from your infrastructure. When incidents are opened on FireHydrant, recent change events will be automatically suggested to the responding team.

Example Events

  • Deploys
  • Docker image builds
  • Terraform runs
  • Cronjobs

Installation

GitHub release (latest by date)

New tags automatically create a release using goreleaser and can be found on the releases page of this repository.

Our releases follow the standard format of fhcli_{version}_{os}_{arch}.tar.gz - To grab the latest on your CI environment (as an example), you can run something like:

$ cd /usr/local/bin
$ wget -c https://github.com/firehydrant/fhcli/releases/latest/download/fhcli_0.0.14_linux_arm64.tar.gz -O - | tar -xz
$ fhcli --version

Usage

fhcli [action] [parameters] [command]

Actions

  • event Submits a change event to the FH API
  • execute Executes a command and submits a corresponding change event to the FH API
  • init Configures the client for subsequent invocations

Parameters

  • Environment (Id or slug) --environment FH_ENVIRONMENT
  • Service (Id or slug) --service FH_SERVICE
  • API Key --apiKey FH_API_KEY
  • Config file --config FH_CONFIG_FILE
  • Identities --identities FH_IDENTITIES
  • Event name or
  • Command This command is run in a subshell, automatically instrumented with a duration and the result is submitted to the FH API

Note: For Environments and Services, arbitrary values will result in these fields being left blank. Please make sure that the ID or slug used here matches the value for your environment/service in the Service Catalog.

Environment Variables

Configuration file

We also accept a YAML configuration file, specified with -config or passed in as an environment variable. If none is specified, the following paths will be checked in order for a configuration file.

  • /etc/firehydrant.cfg
  • $HOME/firehydrant.cfg
  • /tmp/firehydrant.cfg

Examples

The following examples assume that FH_API_KEY is set in your environment.

fhcli event --environment "production" "hourly reconciliation task"
fhcli event --environment "staging" --identities git=git@github.com/firehydrant/myrepo:a0b0c0d0 "CI build succeeded"
fhcli execute --environment "staging" --identities revision=a0a0a0 -- docker build .

To configure firehydrant and write a config file (defaults to /tmp/firehydrant.cfg) for subsequent invocations of the tool:

fhcli --config /etc/firehydrant.cfg --apiKey fhb-a0b010 --environment=production --service=monolith init

About

Command line client for submitting events to FireHydrant's API

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5