Skip to content

Releases: Financial-Times/n-health

Fix for FastlyKeyExpirationCheck default properties

23 Jun 14:59
dbcb4ee
Compare
Choose a tag to compare

What's Changed

  • FTDCS-196 - Fix health check FastlyKeyExpirationCheck by @JSRedondo in #192

Full Changelog: v6.1.0...v6.1.1

Add Fastly key expiration check

22 Jun 12:26
e2e6fe5
Compare
Choose a tag to compare

At the moment our Fastly keys are unmanageable - they’re stored in individual user accounts in Fastly and we cannot enforce things like key expiry or rotation.
We should add a check type to n-health which verifies Fastly keys using https://api.fastly.com/tokens/self:

  • alert if the key expires in the next week or two
  • alert if the key has a null expiry date

What's Changed

  • FTDCS-152 - Fix CircleCI configuration file by @JSRedondo in #185
  • FTDCS-152 - Update moment package to solve a vulnerability by @JSRedondo in #184
  • CPP-890 update config for nightly scheduled-pipelines by @serena97 in #186
  • FTDCS-196 - Update testing by @JSRedondo in #187
  • FTDCS-196 - Fastly key expiration check merge by @JSRedondo in #189
  • FTDCS-196 - Improve Fastly key expiration check by @JSRedondo in #190
  • FTDCS-196 - Added default panic guide for Fastly key expiration check by @JSRedondo in #191

New Contributors

Full Changelog: v6.0.0...v6.1.0

Migrate to Node 14 + 16

21 Mar 12:02
ad92b7c
Compare
Choose a tag to compare

What's Changed

Breaking Changes

  • Dropped support for Node 12

Full Changelog: v5.0.6...v6.0.0

Add log to failed graphiteSpike check

15 Dec 14:39
e95ffbb
Compare
Choose a tag to compare

Add handling to summarize, asPercent, and divideSeries

03 Nov 10:20
e8f9c1d
Compare
Choose a tag to compare

Update n-gage, add package-lock, log null data

13 Sep 08:31
a8a714f
Compare
Choose a tag to compare

This is a large patch release but it doesn't include any new functionality and is backwards compatible for consumers so it doesn't deserve a major or minor version bump.

  • Update n-gage from v1 to v8
  • Remove the package-lock from gitignore
  • Log if consumers receive null data from Graphite

Fix Cannot read property ‘datapoints’ of undefined

14 Jun 10:18
da0c48a
Compare
Choose a tag to compare
Merge pull request #150 from Financial-Times/fix-datapoints-undefined

Fix Cannot read property ‘datapoints’ of undefined

Handle zero sample and baseline values

11 Jun 09:18
dbf6743
Compare
Choose a tag to compare
Merge pull request #149 from Financial-Times/noZeroBaseline

Added check for 0 baseline as it's used as a divisor

NOPS-817- Handle Sample and Baseline null values

12 May 13:46
27c1734
Compare
Choose a tag to compare

deprecate Pingdom healthcheck

02 Nov 17:00
8563170
Compare
Choose a tag to compare

the current standard way of monitoring Pingdom checks is to tag them in Pingdom with your system code. having a separate way of monitoring Pingdom for FT.com apps is redundant, more to maintain, and brittle (because it requires every app to have a Pingdom API key in its environment, which isn't visible if the key is rotated, as happened in a recent incident).

this change removes the code that's actually checking Pingdom, and makes the Pingdom healthcheck class always fail, so that apps that inadvertently update to this version without migrating the check don't crash on startup, but instead get an alert that they can easily action.

this check will be fully removed in the next major version of n-health, which will be released when enough apps have updated to this version and migrated their checks.

migration

when updating to this release, if you're using any Pingdom healthchecks, they'll start to unconditionally fail. you'll need to:

  1. remove these checks from your healthcheck configuration
  2. update the checks themselves in Pingdom to tag them with your system code (see step 8 in the "How To Pingdom Check" guide)

note that if you're using healthchecks to monitor other teams' systems, you'll inherit the severity they've set for their own Pingdom checks. we recommend duplicating this check for your own visibility, so you can set the severity and tagging for yourself, or writing a custom healthcheck to make calls similar to those your app is making.