We consider a network of control systems connected over a graph. Considering the graph structure as constraints on the set of permissible controllers, we show that such systems are simply constrained by a certain sparsity pattern. We provide conditions for which such systems are well-posed, and, under the appropriate assumptions, we show that such systems are quadratically invariant. This allows for efficient solution via convex programming, and we provide a construction for the optimal controllers.