HCoop is almost unique in the history of the Internet. We are trying to provide highly configurable Internet hosting to the general public while maintaining a high level of security, so that your services keep running and your data stays safe and private. You can probably see that these goals conflict in a number of ways! Since our organization's birth in 2002, we've been evolving tools to help us reconcile these different goals. This document introduces the primary element of our current solution.
This solution is called DomTool, and here's the one-line summary of what it's all about:
DomTool enables HCoop members to use a domain-specific programming language to describe how to configure daemons spread across our servers.
Some other cogent properties of DomTool:
The language is a statically-typed, purely functional programming language. Other functional programming languages that you might have heard of include Lisp, Scheme, ML, and Haskell. Haskell and ML are statically-typed, and Haskell is purely functional.
The language has a rich and extensible type system that can enforce complicated security policies through type-checking.
Configuration works via a distributed client/server architecture, so, with the right software installed, you can configure your domains from anywhere.
Some readers may be scared off by this level of technical jargon. We apologize, but we just couldn't help showing it off. The rest of this document will be aimed at the average member, assuming only a solid understanding of the basics of Linux and the Internet. In particular, we assume no experience with particular kinds of programming.