Debugging MQTT over websockets on Envoy 1.28.0

I have migrated our Envoy installation from Envoy 1.11.1 to 1.28.0, and am now also using SNI for selecting the correct certificate. A big part of that migration is upgrading the syntax of the configuration for Envoy from the v2 API to the v3 API. The upgrade went well, except for our websocket-based MQTT service…

Weiterlesen

Kemal routing redirecting a subtree

This code snippet shows you how to redirect an entire subtree and remove the first part of the subtree. This might come in useful, for example when you have outside links referencing different languages (e.g. /de /fr /it) and content paths in them, and you want to serve everything from the same endpoints. Crystal Lang…

Weiterlesen

Using plink (Pageant) on Windows 10 with Git for Windows

The current Git for Windows installer does not allow me to select Tortoise Plink during the installation, as was described here on Stackoverflow. Instead I followed the installation, and set an environment variable. Select “Use bundled OpenSSH” here. search for “enviro” in the Windows search. (my screenshot is in German, but it will find the…

Weiterlesen

mailerlite API error code 422 for subscribers endpoint

Today, I was implementing the interfacing between PiCockpit.com and the Mailerlite API (which we use aus our newsletter software). https://api.mailerlite.com/api/v2/subscribers I got the following error message: The POST request was returning 422 as status code. Unfortunately there is little documentation about that on Mailerlite. My implementation was correct (this is Crystal Lang by the way):…

Weiterlesen

npm Webpack code ELIFECYCLE errno 1

When building the PiCockpit frontend code (which is packaged using Webpack) on a different computer, I ran into the following issue: cross-env NODE_ENV=production webpack –progress –hide-modules –mode=productiontype: ‘object’,additionalProperties: true,properties: {apply: {description: ‘The run point of the plugin, required method.’,instanceof: ‘Function’,tsType: “(compiler: import(‘../lib/Compiler’)) => void”}},required: [ ‘apply’ ]}},title: ‘WebpackOptions’,description: ‘Options object as provided by the user.’,type:…

Weiterlesen