Foopipes 2.4 with C# scripting released
Foopipes 2.4 is here!
The big news is, of course, C# scripting capabilities using Roslyn. C# scripting combined with community written "add-ins" is a welcome addition to the existing possibility to write Node.js modules and custom plugins.
But that is not it - we've also created stand alone downloads for those that can't or won't run Foopipes in Docker. Downloads are available for various versions of Windows, Linux, and macOS.
Add-Ins
An Add-In differs from a Plug-In by the fact that they're very lightweight and are compiled during startup. No boiler plate code is necessary - they go straight to the point and are very easy to write and distribute. They can even be written inline in the configuration file.
addins:
- script: |
PipelineTask("myTask")
.Json((context, jsonData, ct) =>
{
// Do something here
return jsonData;
});
Add-ins are not necessarily simple pipeline tasks. Complex services can also be created this way.
Want to see an example? Check out this article about how to use Foopipes for aggregating encrypted telemetry data into Google Analytics.
Community Add-ins
One of the best parts with Add-Ins is that they can be loaded from an URL. That means that we can now have a public git-repository with community created add-ins, that can easily be loaded and referenced in your configuration file.
The repository can be found here: https://github.com/AreteraAB/Foopipes.Addins
addins:
- url: "https://raw.githubusercontent.com/AreteraAB/Foopipes.Addins/master/Tail/Tail.csx"
services:
logtail:
type: tail
filename: "/project/logs/myfile.log"
pipelines:
-
when:
- logtail
to:
- log
If you use a .csx extension for your add-in files, you'll get automatic syntax highlighting and code completion in Visual Code or Visual Studio.
We're expecting many add-ins will be wrappers around an already existing task, making it easier to invoke external service API:s without knowing the details.
addins:
- url: "https://raw.githubusercontent.com/AreteraAB/Foopipes.Addins/master/Mailgun/mailgun.csx"
pipelines:
-
when:
- queue: entry_submitted
to:
- mailgun.send
to: "#{email}"
subject: "Thank you, #{name}!"
text: Thank you for your submission!
Stand alone downloads
Containers are great, but sometimes they make things a bit more difficult than they need to be. Also, older infrastructure can easily set limits of what's possible or desirable. Therefore Foopipes can now be downloaded and installed on various operating systems: Windows, Linux, and macOS. Download here.
Questions? Join us in Slack!