Skip to content
This repository has been archived by the owner on Apr 8, 2022. It is now read-only.

Latest commit

 

History

History
69 lines (50 loc) · 2.52 KB

README.md

File metadata and controls

69 lines (50 loc) · 2.52 KB

Launch Dogly Build Status Coverage Status

🚀 🌑 🐶 A Launch Darkly webhook handler that records changes as datadog events

🤔 about

Your observability and monitoring strategy should include visibility into notable events in your system in order to understand system triggers. In a continuously deployed system, production testing often happens at runtime via feature flag toggles.

This lambda is triggered on updates to Launch Darkly feature flags and records them as events in Data Dog which makes them available to overlay your system and application metrics.

👩‍🏭 development

This is a rustlang application. Go grab yourself a copy of rustup.

🚀 deployment

This is a rust application deployed using ⚡ serverless ⚡.

You'll need the following

Enable web hook secret signing to verify requests come from Launch Darkly.

To reduce the the number of events you recieve you can be selective of which resources an actions trigger your webhook. Below is a policy that restrictions actions to flags and a subset of target actions.

[
  {
    "resources": [
      "proj/*:env/*:flag/*"
    ],
    "actions": [
      "createFlag",
      "updateOn",
      "updateRules",
      "updateTargets",
      "updateOffVariation",
      "updateFlagVariations",
      "deleteFlag",
      "updateName"
    ],
    "effect": "allow"
  }
]

Deployments expect an DD_API_KEY and LD_SECRET environment variable.

🤸 Usage

In Datadog's event stream you can search for sources:launch-darkly. The following metric tags are extracted from LaunchDarkly events

Tag Description
kind The kind of target entity Launch Darkly was triggered for, currently only "flag"
name The name of the flag
action Action that triggered the change