Web Services Made Easy (WSME) simplifies the writing of REST web services by providing simple yet powerful typing, removing the need to directly manipulate the request and the response objects.
WSME can work standalone or on top of your favorite Python web (micro)framework, so you can use both your preferred way of routing your REST requests and most of the features of WSME that rely on the typing system like:
Alternate protocols, including those supporting batch-calls
Easy documentation through a Sphinx extension
WSME is originally a rewrite of TGWebServices with a focus on extensibility, framework-independance and better type handling.
Repository with copies of my XMPP server configuration for public interest / investigation.
Notes on this setup
- Database backend: PostgreSQL
- Admin web interface and API are disabled
- In-Band registration and web registration are enabled
- Captchas enabled
- Nginx is used as HTTP / Websocket Proxy
- Port 5223 used as TLS port for "XMPP over TLS" feature (Port 443 is forwarded to 5223)
Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that one (or multiple) client(s) can attach to and detach from a central core -- much like the popular combination of screen and a text-based IRC client such as WeeChat, but graphical. In addition to this unique feature, we aim to bring a pleasurable, comfortable chatting experience to all major platforms (including Linux®, Windows®, and MacOS X® as well as Android smartphones), making communication with your peers not only convenient, but also ubiquitous available.
And the best of all: It's free - as in beer and as in speech, since we distribute Quassel under the GPL, and you are welcome to download and see for yourself!
The self-hosted web IRC client
Always connected.
Presentation name: A Beginner's Guide to Inter-Service Messaging
Speakers: Aurélien Bompard, Jeremy Cline
Description: Sending and receiving messages is a common task in software.
Fedora Infrastructure has many event-driven services, we'll discuss some of the problems we encountered and their solutions. Topics include:
- How to pick the right message protocol.
- How to design a "good message". How to recover when you inevitably
don't design a "good message" or when the meaning of the word "good" changes. - Networking: centralized or decentralized?
- How to deal with lost messages. Is it bad? Should you care?
Each topic contains plenty of concrete examples from Fedora Infrastructure.
At the end of this talk, the audience should be well-equipped to not repeat
the mistakes we made and instead go make new and interesting mistakes.
This talk does not require prior knowledge of any message protocols.
Varlink is an interface description format and protocol that aims to make services accessible to both humans and machines in the simplest feasible way.
A varlink interface combines the classic UNIX command line options, STDIN/OUT/ERROR text formats, man pages, service metadata and provides the equivalent over a single file descriptor, a.k.a. “FD3”.
Varlink is plain-text, type-safe, discoverable, self-documenting, remotable, testable, easy to debug. Varlink is accessible from any programming environment. See the Ideals page for more. And everybody likes Screenshots.

Some months ago, Shlomi Noah published a series about Service Discovery. In his posts, Shlomi describes many ways for an application to find the master. He also gives detail on how these solutions cope with failover to a slave, including their integration with Orchestrator.
This is a great series, and I recommend its reading for everybody implementing master failover, with or without Orchestrator, and even if you are not fully automating the process yet. Taking a step back, I realized that service discovery is only one of the five parts of a full MySQL Master Failover Strategy, and this post is about these five parts. In some follow-up posts, I might analyze some deployments using the framework presented in this post.
Knot DNS 2.1 introduced support for DNSSEC signing using PKCS #11. PKCS #11 (also called Cryptoki) is a standard interface to access various Hardware Security Modules (HSM). Such devices are usually used to improve protection of private key material. The interface is rather flexible and gives the HSM vendors huge amount of freedom, which unfortunately makes its use a bit tricky. There are often surprising differences between individual implementations.
CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs as a layerbased real-time compositor. It has been in 24/7 broadcast production since 2006. And the best, it's free.
Used by most broadcasters in Europe.
This is a web service for checking and visualising compliance status of XMPP servers, with XEPs (XMPP Extension Protocols), made as a part of Google Summer of Code 2018 for Conversations.im by Rishi Raj. The code for this website, along with a command line tool to check compliance of your server locally, is available under a BSD-3 License on Github. If you want to contribute to the project, read our contributing guide
aenigma provisions a fully functional and out-of-the-box secure XMPP server you can get running today.
It does for XMPP what Mail-in-a-Box has done for email, Streisand for VPNs, and Easyengine for wordpress.
The installation takes you on a 15 minute, clearly worded, step-by-step setup and takes care of everything automagically.
Broad, standards-compliant support for both DHCPv4 and DHCPv6
-
Free-open source, shared under MPL 2.0 licensing
-
Direct address assignment (DHCPv4 and DHCPv6) or DHCPv6 prefix delegation
-
Dynamic IP addressing and static host reservations
-
Dynamic DNS for updating DNS records as leases are renewed or expired
-
Tracking of MAC addresses, even in DHCPv6
-
Extend and customize Kea through Hooks
-
Add and change subnets and pools without restarting Kea
-
Store leases and host reservations in a MySQL, PostgreSQL or Cassandra database rather than a text file
-
Replace the entire Kea configuration, or separately manage leases, subnets and host reservations through a REST API
-
Comprehensive Developer and Administrator documentation.
-
ISC offers commercial 7 x 24 support for Kea, as well as consulting and contract development to assist in implementing Kea, including migration from ISC DHCP.
Kea runs on Linux, BSD, and MacOS, like ISC DHCP. The Kea distribution does not yet include a DHCP client or relay, but because both are standards-based, the ISC DHCP client works fine with the Kea DHCP server. Kea is under active development.
Knot DNS is a high-performance authoritative-only DNS server which supports all key features of the modern domain name system.
Oauth 2 Server providing JSON Web Tokens for identification.
Lightweight, fast and easy to install on small systems. Requires a MySql or SQLite3 database. Handles LDAP or database for users backend.
The API backend is fully written in language C, it’s based on Ulfius HTTP framework, Hoel database framework and Libjwt JSON Web Tokens library.
nacho is a django based web application for managing ldap accounts and groups.
it provides a simple interface for account-registration, self service (editing
profile information) and password reset as well as an interface for
administration of accounts.
Full caching DNS resolver implementation
The Knot Resolver is a caching full resolver implementation, including both a resolver library and a daemon.
While I was searching for a VCS capable RANCID, somewhere under a stone I found Oxidized, a 'silly attempt at rancid'. Looking at it, it seems more sophisticated, so I thought this might be the right attempt. Unfortunately there is no Debian package available, but I found an ITP created by Jonas.
The Tooz project aims at centralizing the most common distributed primitives like group membership protocol, lock service and leader election by providing a coordination API helping developers to build distributed applications.
Siege is an http load testing and benchmarking utility. It was designed to let web developers measure their code under duress, to see how it will stand up to load on the internet. Siege supports basic authentication, cookies, HTTP, HTTPS and FTP protocols. It lets its user hit a server with a configurable number of simulated clients. Those clients place the server “under siege.”