In this presentation, we describe an efficient matrix-free trust-region sequential quadratic programming (SQP) algorithm to solve optimization problems governed by partial differential equations (PDEs) with additional inequality constraints. The key to our discussion lies in the treatment of the inequality constraints. Namely, we map the inequality constraints to a finite dimensional vector space so that a standard interior point algorithm applies. In addition to the theoretical utility of this approach, we show how it can be easily implemented in code and present numerical examples.