Categories

  • No categories

Mattermost integrations: Sending alerts to a channel with an incoming webhook

Incoming webhooks are the easiest way to let other programs send messages to Mattermost (Originally published at controlaltdieliet.be) Last week, we shared an introduction on how to use incoming webhooks to integrate with Mattermost. Here’s an example of how to use them in action. Monitoring refrigerator temperatures Our fridges need to retain a constant temperature. When …

Modern ways of end-to-end testing with Cypress JS

Why write tests ? The ultimate goal of writing tests should be improving the user’s in-app experience and increasing developers’ confidence in shipping new or improved apps. The Mattermost team has been continuously writing different types of tests to improve the product. Such extensive automated testing has enabled them to ship a new release—with new …

Automated UI testing with Cypress

It’s been more than a year-and-a-half since we started using Cypress for our automated functional testing, and it has been well worth the investment. Cypress has now become an essential part of our process to automate regression testing, which helps us ship new releases faster, with increased quality. Getting started with Cypress is fun and …

Layered store and struct embedding in Go

One of the most important parts of the Mattermost source code is the one responsible for accessing the Mattermost database: the store. Every single database access is handled by the store, so we needed to find a way to extend its functionality while introducing as little complexity as possible. This is the reason behind the …

Monitoring the Mattermost server with Prometheus and Grafana

Lately we’ve been working on improving different parts of the Mattermost server, including our monitoring and observability capabilities. We’ve been using Prometheus and Grafana to monitor our cluster for a while now, and you can read this great post where my colleague Stylianos explains how we have them working for our multi-cluster environment.  In this …

OpenTracing for Go projects

What is distributed tracing? Large-scale cloud applications are usually built using interconnected services that can be rather hard to troubleshoot. When a service is scaled, simple logging doesn’t cut it anymore and a more in-depth view into system’s flow is required. That’s where distributed tracing comes into play; it allows developers and SREs to get a detailed …

From OpenVPN to Pritunl VPN: The transition

Usually, organizations use an internal network to prevent unauthorized people from connecting to their private network. By using their own network infrastructure and connectivity, they can maintain their desirable level of security for their data. But it would be convenient for users to connect to that private network while they are away from the office …

Getting hands-on with io_uring using Go

In Linux, system calls (syscalls) are at the heart of everything. They are the primary interface through which an application interacts with the kernel. Therefore, it is vital that they are fast. And especially in a post-Spectre/Meltdown world, this is all the more important. A major chunk of the syscalls deal with I/O, because that’s …

Get the latest updates, releases, and more—delivered to your inbox.

We use cookies for advertising, social media and analytics purposes. Read about how we use cookies here. By continuing to use this site, you consent to our use of cookies.