@targetprocess/yaft-exporter-client

Client for feature toggles endpoints exposed by microservices

Usage no npm install needed!

<script type="module">
  import targetprocessYaftExporterClient from 'https://cdn.skypack.dev/@targetprocess/yaft-exporter-client';
</script>

README

yaft-exporter-client

Client for feature toggles endpoints exposed by microservices

Instrumenting your application

Feature toggles metadata and default values will be scraped using the pull model (like Prometheus does).

To make sure your application owned feature toggles are scraped correctly, you must:

  1. Add new HTTP endpoint without authentication that will implement the contract from the spec. This endpoint should be accessed only from the private network.
  2. Add k8s service with feature-toggles: exporter label and port named http-exporter or http (for microservices)

Notes

  1. Targetprocess monolith will be discovered via Consul (we'll use the existing tp and comet services). We don't have a convenient way to register new services in Consul so please use k8s discovery for microservices.
  2. If your microservice is written in Typescript you're encouraged to use the existing FeatureToggles/FeatureToggle models from the autogenerated client for your exporter endpoint return type.
  3. As for now most of the fields in the specification are marked optional (in order to make the transition process easier). However, you're strongly encouraged to expose as much information about each feature toggle (like feature toggle description, tags, etc) as possible. If it could be done without big efforts, please do it.