Up 0.4.0 — Alerting, Encrypted Environment Variables, and 30% Quicker

Onboarding Improvements

Email, Slack, and SMS Alerting

{
"alerts": [
{
"metric": "http.5xx",
"statistic": "sum",
"threshold": 15,
"action": "email backend team"
}
]
}
{
"actions": [
{
"name": "email backend team",
"type": "email",
"emails": ["tj@apex.sh"]
}
],
"alerts": [
{
"metric": "http.5xx",
"statistic": "sum",
"threshold": 15,
"action": "email backend team"
}
]
}
{
"name": "slack.backend",
"type": "slack",
"url": "https://hooks.slack.com/services/T0YS6H6S5/...",
"channel": "alerts"
}
{
"name": "text.backend",
"type": "sms",
"numbers": ["+12508005312"]
}
{
"name": "myapp",
"actions": [
{
"name": "email.backend",
"type": "email",
"emails": ["tobi@apex.sh", "loki@apex.sh"]
},
{
"name": "text.backend",
"type": "sms",
"numbers": ["+12508005312"]
},
{
"name": "slack.backend",
"type": "slack",
"url": "https://hooks.slack.com/services/...",
"channel": "alerts-backend",
"gifs": true
}
],
"alerts": [
{
"metric": "http.count",
"statistic": "sum",
"threshold": 100,
"action": "email.backend"
},
{
"metric": "http.5xx",
"statistic": "sum",
"threshold": 5,
"action": "slack.backend",
"description": "Server errors"
},
{
"metric": "http.5xx",
"statistic": "sum",
"threshold": 25,
"action": "text.backend",
"description": "Server errors"
},
{
"metric": "http.latency",
"statistic": "avg",
"threshold": 1500,
"period": "10m",
"action": "slack.backend",
"description": "Large traffic spike"
}
]
}

Encrypted Environment Variables

Configuration Autocomplete with JSON-Schema

Logging Improvements

$ up logs 'method=GET path=/foo/bar'
$ up logs 'method in (GET, HEAD, OPTIONS)'
$ up logs 'cart.products[0].name = ps4'
(message="user login" or message="user logout") name=tj
("user login" or "user logout") name=tj

Small Changes

  • 4 additional hooks have been added
  • CI output is plain text for CI=true or --format=plain
  • S3 multi-part uploads make Up roughly 30% faster (by franciscocpg on GH)
  • S3 uploads remove the 50mb upload limit (by franciscocpg on GH)
  • environment variables are exposed to up start and hooks
  • NODE_ENV is populated automatically

IAM Policy Changes

--

--

--

Code. Photography. Art.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How to Mount a Directory Inside a Docker Container

Software Projects And Wasted Hours

Inside Extreme Networks SLX architecture

Play Around Singleton Class in Java

Creating an ECS Scheduled Task Using AWS CDK

SSH Port Forwarding Demystified

Some reflections on my side project’s first anniversary

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
TJ Holowaychuk

TJ Holowaychuk

Code. Photography. Art.

More from Medium

Organizations should consider purchasing npm libraries

Containerizing Go + React & Automating w/ GitHub Actions | Part 2

Creating a GraphQL Server With Node.js

Setup Project and Fastify Platform — NestJs with Passport #01